From 8974a983174f106922f59a56a2f1056edeb5f4f1 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 16:46:35 +0000 Subject: [PATCH] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 10209 ++++++++++------- 1 file changed, 6324 insertions(+), 3885 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 6527946dd..f16161e10 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: 2026-09-02 05:02+0000\n" +"POT-Creation-Date: 2026-09-02 16:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,125 +18,179 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: netbox/account/views.py:122 +#: netbox/account/views.py:126 #, python-brace-format msgid "Logged in as {user}." msgstr "" -#: netbox/account/views.py:177 +#: netbox/account/views.py:181 msgid "You have logged out." msgstr "" -#: netbox/account/views.py:227 +#: netbox/account/views.py:231 msgid "Your preferences have been updated." msgstr "" -#: netbox/account/views.py:255 +#: netbox/account/views.py:259 msgid "LDAP-authenticated user credentials cannot be changed within NetBox." msgstr "" -#: netbox/account/views.py:270 +#: netbox/account/views.py:274 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:204 -#: netbox/dcim/choices.py:257 netbox/dcim/choices.py:2002 -#: netbox/dcim/choices.py:2060 netbox/dcim/choices.py:2127 -#: netbox/dcim/choices.py:2149 netbox/virtualization/choices.py:20 -#: netbox/virtualization/choices.py:46 netbox/vpn/choices.py:18 -#: netbox/vpn/choices.py:281 +#: netbox/account/views.py:356 netbox/templates/account/token_list.html:6 +msgid "My API Tokens" +msgstr "" + +#: netbox/circuits/choices.py:22 netbox/dcim/choices.py:20 +#: netbox/dcim/choices.py:44 netbox/dcim/choices.py:114 +#: netbox/dcim/choices.py:216 netbox/dcim/choices.py:274 +#: netbox/dcim/choices.py:2026 netbox/dcim/choices.py:2093 +#: netbox/dcim/choices.py:2195 netbox/dcim/choices.py:2211 +#: netbox/dcim/choices.py:2274 netbox/dcim/choices.py:2296 +#: netbox/virtualization/choices.py:21 netbox/virtualization/choices.py:68 +#: netbox/vpn/choices.py:20 netbox/vpn/choices.py:316 msgid "Planned" msgstr "" -#: netbox/circuits/choices.py:22 netbox/netbox/navigation/menu.py:338 +#: netbox/circuits/choices.py:23 +msgid "Designated for future use but not yet installed" +msgstr "" + +#: netbox/circuits/choices.py:25 netbox/extras/choices.py:64 +#: netbox/netbox/navigation/menu.py:355 msgid "Provisioning" msgstr "" -#: netbox/circuits/choices.py:23 netbox/core/tables/plugins.py:58 +#: netbox/circuits/choices.py:25 +msgid "Being configured for service" +msgstr "" + +#: netbox/circuits/choices.py:26 netbox/core/tables/plugins.py:58 #: netbox/core/tables/tasks.py:23 netbox/dcim/choices.py:22 -#: netbox/dcim/choices.py:103 netbox/dcim/choices.py:155 -#: netbox/dcim/choices.py:203 netbox/dcim/choices.py:256 -#: netbox/dcim/choices.py:2059 netbox/dcim/choices.py:2126 -#: netbox/dcim/choices.py:2148 netbox/extras/tables/tables.py:648 -#: netbox/extras/ui/panels.py:441 netbox/ipam/choices.py:31 +#: netbox/dcim/choices.py:46 netbox/dcim/choices.py:115 +#: netbox/dcim/choices.py:167 netbox/dcim/choices.py:215 +#: netbox/dcim/choices.py:273 netbox/dcim/choices.py:2092 +#: netbox/dcim/choices.py:2194 netbox/dcim/choices.py:2210 +#: netbox/dcim/choices.py:2273 netbox/dcim/choices.py:2295 +#: netbox/extras/choices.py:63 netbox/extras/tables/tables.py:673 +#: netbox/extras/ui/panels.py:456 netbox/ipam/choices.py:31 #: netbox/ipam/choices.py:49 netbox/ipam/choices.py:69 -#: netbox/ipam/choices.py:154 netbox/users/forms/bulk_edit.py:41 -#: netbox/users/ui/panels.py:38 netbox/virtualization/choices.py:22 -#: netbox/virtualization/choices.py:45 netbox/vpn/choices.py:19 -#: netbox/vpn/choices.py:280 netbox/wireless/choices.py:25 +#: netbox/ipam/choices.py:159 netbox/users/forms/bulk_edit.py:41 +#: netbox/users/ui/panels.py:38 netbox/virtualization/choices.py:29 +#: netbox/virtualization/choices.py:64 netbox/vpn/choices.py:24 +#: netbox/vpn/choices.py:313 netbox/wireless/choices.py:25 msgid "Active" msgstr "" -#: netbox/circuits/choices.py:24 netbox/dcim/choices.py:202 -#: netbox/dcim/choices.py:255 netbox/dcim/choices.py:2058 -#: netbox/dcim/choices.py:2128 netbox/dcim/choices.py:2147 -#: netbox/virtualization/choices.py:24 netbox/virtualization/choices.py:44 +#: netbox/circuits/choices.py:26 netbox/dcim/choices.py:215 +#: netbox/dcim/choices.py:273 netbox/dcim/choices.py:2273 +#: netbox/dcim/choices.py:2295 netbox/virtualization/choices.py:30 +msgid "Fully operational and in service" +msgstr "" + +#: netbox/circuits/choices.py:27 netbox/dcim/choices.py:214 +#: netbox/dcim/choices.py:272 netbox/dcim/choices.py:2088 +#: netbox/dcim/choices.py:2193 netbox/dcim/choices.py:2209 +#: netbox/dcim/choices.py:2275 netbox/dcim/choices.py:2294 +#: netbox/virtualization/choices.py:37 netbox/virtualization/choices.py:60 msgid "Offline" msgstr "" -#: netbox/circuits/choices.py:25 +#: netbox/circuits/choices.py:27 netbox/dcim/choices.py:214 +#: netbox/dcim/choices.py:272 netbox/dcim/choices.py:2294 +msgid "Installed but not currently in service" +msgstr "" + +#: netbox/circuits/choices.py:28 msgid "Deprovisioning" msgstr "" -#: netbox/circuits/choices.py:26 +#: netbox/circuits/choices.py:28 netbox/dcim/choices.py:24 +#: netbox/dcim/choices.py:48 netbox/dcim/choices.py:224 +#: netbox/dcim/choices.py:281 netbox/dcim/choices.py:2031 +#: netbox/dcim/choices.py:2303 netbox/virtualization/choices.py:34 +#: netbox/virtualization/choices.py:81 +msgid "Being removed from service" +msgstr "" + +#: netbox/circuits/choices.py:30 msgid "Decommissioned" msgstr "" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:2071 -#: netbox/dcim/tables/devices.py:1238 +#: netbox/circuits/choices.py:31 +msgid "Retired and no longer in service" +msgstr "" + +#: netbox/circuits/choices.py:96 netbox/dcim/choices.py:2104 +#: netbox/dcim/tables/devices.py:1313 #: netbox/templates/dcim/interface/attrs/mac_address.html:3 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "" -#: netbox/circuits/choices.py:91 netbox/ipam/choices.py:90 +#: netbox/circuits/choices.py:97 netbox/ipam/choices.py:95 #: netbox/tenancy/choices.py:18 msgid "Secondary" msgstr "" -#: netbox/circuits/choices.py:92 netbox/tenancy/choices.py:19 +#: netbox/circuits/choices.py:98 netbox/tenancy/choices.py:19 msgid "Tertiary" msgstr "" -#: netbox/circuits/choices.py:93 netbox/tenancy/choices.py:20 +#: netbox/circuits/choices.py:99 netbox/tenancy/choices.py:20 msgid "Inactive" msgstr "" -#: netbox/circuits/choices.py:107 netbox/dcim/tables/devices.py:734 +#: netbox/circuits/choices.py:113 netbox/dcim/tables/devices.py:750 #: netbox/templates/dcim/panels/interface_wireless.html:12 -#: netbox/vpn/choices.py:63 +#: netbox/vpn/choices.py:76 msgid "Peer" msgstr "" -#: netbox/circuits/choices.py:108 netbox/vpn/choices.py:64 +#: netbox/circuits/choices.py:113 +msgid "Connects to other peers as an equal endpoint" +msgstr "" + +#: netbox/circuits/choices.py:114 netbox/vpn/choices.py:77 msgid "Hub" msgstr "" -#: netbox/circuits/choices.py:109 netbox/vpn/choices.py:65 +#: netbox/circuits/choices.py:114 +msgid "Central endpoint to which spokes connect" +msgstr "" + +#: netbox/circuits/choices.py:115 netbox/vpn/choices.py:78 msgid "Spoke" msgstr "" +#: netbox/circuits/choices.py:115 netbox/vpn/choices.py:78 +msgid "Remote endpoint connecting to a hub" +msgstr "" + #: netbox/circuits/filtersets.py:43 netbox/circuits/filtersets.py:223 #: netbox/circuits/filtersets.py:307 netbox/dcim/base_filtersets.py:23 -#: netbox/dcim/filtersets.py:123 netbox/dcim/filtersets.py:182 -#: netbox/dcim/filtersets.py:243 netbox/dcim/filtersets.py:384 -#: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:1297 -#: netbox/dcim/filtersets.py:1659 netbox/dcim/filtersets.py:1766 -#: netbox/dcim/filtersets.py:2554 netbox/dcim/filtersets.py:2902 -#: netbox/dcim/filtersets.py:2963 netbox/ipam/filtersets.py:1005 +#: netbox/dcim/filtersets.py:130 netbox/dcim/filtersets.py:189 +#: netbox/dcim/filtersets.py:250 netbox/dcim/filtersets.py:396 +#: netbox/dcim/filtersets.py:559 netbox/dcim/filtersets.py:1444 +#: netbox/dcim/filtersets.py:1808 netbox/dcim/filtersets.py:1915 +#: netbox/dcim/filtersets.py:2775 netbox/dcim/filtersets.py:3123 +#: netbox/dcim/filtersets.py:3184 netbox/dcim/filtersets.py:3261 +#: netbox/dcim/filtersets.py:3347 netbox/ipam/filtersets.py:1005 #: netbox/virtualization/filtersets.py:218 netbox/vpn/filtersets.py:402 msgid "Region (ID)" msgstr "" #: netbox/circuits/filtersets.py:50 netbox/circuits/filtersets.py:230 #: netbox/circuits/filtersets.py:314 netbox/dcim/base_filtersets.py:30 -#: netbox/dcim/filtersets.py:130 netbox/dcim/filtersets.py:188 -#: netbox/dcim/filtersets.py:250 netbox/dcim/filtersets.py:391 -#: netbox/dcim/filtersets.py:549 netbox/dcim/filtersets.py:1304 -#: netbox/dcim/filtersets.py:1666 netbox/dcim/filtersets.py:1773 -#: netbox/dcim/filtersets.py:2561 netbox/dcim/filtersets.py:2909 -#: netbox/dcim/filtersets.py:2970 netbox/extras/filtersets.py:718 +#: netbox/dcim/filtersets.py:137 netbox/dcim/filtersets.py:195 +#: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:403 +#: netbox/dcim/filtersets.py:566 netbox/dcim/filtersets.py:1451 +#: netbox/dcim/filtersets.py:1815 netbox/dcim/filtersets.py:1922 +#: netbox/dcim/filtersets.py:2782 netbox/dcim/filtersets.py:3130 +#: netbox/dcim/filtersets.py:3191 netbox/dcim/filtersets.py:3268 +#: netbox/dcim/filtersets.py:3354 netbox/extras/filtersets.py:729 #: netbox/ipam/filtersets.py:1012 netbox/virtualization/filtersets.py:225 #: netbox/vpn/filtersets.py:397 msgid "Region (slug)" @@ -144,11 +198,12 @@ msgstr "" #: netbox/circuits/filtersets.py:56 netbox/circuits/filtersets.py:236 #: netbox/circuits/filtersets.py:320 netbox/dcim/base_filtersets.py:36 -#: netbox/dcim/filtersets.py:156 netbox/dcim/filtersets.py:256 -#: netbox/dcim/filtersets.py:397 netbox/dcim/filtersets.py:555 -#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:1672 -#: netbox/dcim/filtersets.py:1779 netbox/dcim/filtersets.py:2567 -#: netbox/dcim/filtersets.py:2915 netbox/dcim/filtersets.py:2976 +#: netbox/dcim/filtersets.py:163 netbox/dcim/filtersets.py:263 +#: netbox/dcim/filtersets.py:409 netbox/dcim/filtersets.py:572 +#: netbox/dcim/filtersets.py:1457 netbox/dcim/filtersets.py:1821 +#: netbox/dcim/filtersets.py:1928 netbox/dcim/filtersets.py:2788 +#: netbox/dcim/filtersets.py:3136 netbox/dcim/filtersets.py:3197 +#: netbox/dcim/filtersets.py:3274 netbox/dcim/filtersets.py:3360 #: netbox/ipam/filtersets.py:261 netbox/ipam/filtersets.py:1018 #: netbox/virtualization/filtersets.py:231 msgid "Site group (ID)" @@ -156,12 +211,13 @@ msgstr "" #: netbox/circuits/filtersets.py:63 netbox/circuits/filtersets.py:243 #: netbox/circuits/filtersets.py:327 netbox/dcim/base_filtersets.py:43 -#: netbox/dcim/filtersets.py:163 netbox/dcim/filtersets.py:263 -#: netbox/dcim/filtersets.py:404 netbox/dcim/filtersets.py:562 -#: netbox/dcim/filtersets.py:1317 netbox/dcim/filtersets.py:1679 -#: netbox/dcim/filtersets.py:1786 netbox/dcim/filtersets.py:2574 -#: netbox/dcim/filtersets.py:2922 netbox/dcim/filtersets.py:2983 -#: netbox/extras/filtersets.py:724 netbox/ipam/filtersets.py:268 +#: netbox/dcim/filtersets.py:170 netbox/dcim/filtersets.py:270 +#: netbox/dcim/filtersets.py:416 netbox/dcim/filtersets.py:579 +#: netbox/dcim/filtersets.py:1464 netbox/dcim/filtersets.py:1828 +#: netbox/dcim/filtersets.py:1935 netbox/dcim/filtersets.py:2795 +#: netbox/dcim/filtersets.py:3143 netbox/dcim/filtersets.py:3204 +#: netbox/dcim/filtersets.py:3281 netbox/dcim/filtersets.py:3367 +#: netbox/extras/filtersets.py:735 netbox/ipam/filtersets.py:268 #: netbox/ipam/filtersets.py:1025 netbox/virtualization/filtersets.py:238 msgid "Site group (slug)" msgstr "" @@ -169,28 +225,32 @@ msgstr "" #: netbox/circuits/filtersets.py:68 netbox/circuits/forms/filtersets.py:63 #: netbox/circuits/forms/filtersets.py:191 #: netbox/circuits/forms/filtersets.py:249 -#: netbox/circuits/tables/circuits.py:125 netbox/dcim/forms/bulk_edit.py:176 -#: netbox/dcim/forms/bulk_edit.py:339 netbox/dcim/forms/bulk_edit.py:696 -#: netbox/dcim/forms/bulk_edit.py:906 netbox/dcim/forms/bulk_import.py:149 -#: netbox/dcim/forms/bulk_import.py:257 netbox/dcim/forms/bulk_import.py:366 -#: netbox/dcim/forms/bulk_import.py:657 netbox/dcim/forms/bulk_import.py:1789 -#: netbox/dcim/forms/bulk_import.py:1817 netbox/dcim/forms/filtersets.py:108 -#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:390 -#: netbox/dcim/forms/filtersets.py:500 netbox/dcim/forms/filtersets.py:895 -#: netbox/dcim/forms/filtersets.py:1117 netbox/dcim/forms/filtersets.py:1198 -#: netbox/dcim/forms/filtersets.py:1235 netbox/dcim/forms/filtersets.py:1336 -#: netbox/dcim/forms/filtersets.py:1375 netbox/dcim/forms/filtersets.py:2112 -#: netbox/dcim/forms/filtersets.py:2136 netbox/dcim/forms/filtersets.py:2160 -#: netbox/dcim/forms/model_forms.py:168 netbox/dcim/forms/model_forms.py:211 -#: netbox/dcim/forms/model_forms.py:294 netbox/dcim/forms/model_forms.py:615 -#: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/object_create.py:296 -#: netbox/dcim/tables/devices.py:157 netbox/dcim/tables/power.py:26 -#: netbox/dcim/tables/power.py:90 netbox/dcim/tables/racks.py:135 -#: netbox/dcim/tables/racks.py:222 netbox/dcim/tables/sites.py:102 -#: netbox/extras/filtersets.py:734 netbox/ipam/forms/bulk_edit.py:397 -#: netbox/ipam/forms/bulk_import.py:515 netbox/ipam/forms/filtersets.py:176 +#: netbox/circuits/tables/circuits.py:125 netbox/dcim/forms/bulk_edit.py:186 +#: netbox/dcim/forms/bulk_edit.py:360 netbox/dcim/forms/bulk_edit.py:785 +#: netbox/dcim/forms/bulk_edit.py:1000 netbox/dcim/forms/bulk_edit.py:1111 +#: netbox/dcim/forms/bulk_import.py:160 netbox/dcim/forms/bulk_import.py:274 +#: netbox/dcim/forms/bulk_import.py:389 netbox/dcim/forms/bulk_import.py:701 +#: netbox/dcim/forms/bulk_import.py:2181 netbox/dcim/forms/bulk_import.py:2209 +#: netbox/dcim/forms/bulk_import.py:2291 netbox/dcim/forms/bulk_import.py:2338 +#: netbox/dcim/forms/filtersets.py:120 netbox/dcim/forms/filtersets.py:270 +#: netbox/dcim/forms/filtersets.py:414 netbox/dcim/forms/filtersets.py:524 +#: netbox/dcim/forms/filtersets.py:980 netbox/dcim/forms/filtersets.py:1207 +#: netbox/dcim/forms/filtersets.py:1288 netbox/dcim/forms/filtersets.py:1325 +#: netbox/dcim/forms/filtersets.py:1426 netbox/dcim/forms/filtersets.py:1465 +#: netbox/dcim/forms/filtersets.py:1548 netbox/dcim/forms/filtersets.py:1609 +#: netbox/dcim/forms/filtersets.py:2498 netbox/dcim/forms/filtersets.py:2522 +#: netbox/dcim/forms/filtersets.py:2546 netbox/dcim/forms/model_forms.py:187 +#: netbox/dcim/forms/model_forms.py:235 netbox/dcim/forms/model_forms.py:358 +#: netbox/dcim/forms/model_forms.py:782 netbox/dcim/forms/model_forms.py:1093 +#: netbox/dcim/forms/model_forms.py:1174 netbox/dcim/forms/object_create.py:339 +#: netbox/dcim/tables/cooling.py:36 netbox/dcim/tables/cooling.py:110 +#: netbox/dcim/tables/devices.py:163 netbox/dcim/tables/power.py:26 +#: netbox/dcim/tables/power.py:90 netbox/dcim/tables/racks.py:141 +#: netbox/dcim/tables/racks.py:235 netbox/dcim/tables/sites.py:102 +#: netbox/extras/filtersets.py:745 netbox/ipam/forms/bulk_edit.py:398 +#: netbox/ipam/forms/bulk_import.py:519 netbox/ipam/forms/filtersets.py:176 #: netbox/ipam/forms/filtersets.py:256 netbox/ipam/forms/filtersets.py:487 -#: netbox/ipam/forms/filtersets.py:594 netbox/ipam/forms/model_forms.py:666 +#: netbox/ipam/forms/filtersets.py:594 netbox/ipam/forms/model_forms.py:723 #: netbox/ipam/tables/vlans.py:94 #: netbox/templates/dcim/inc/cable_termination.html:8 #: netbox/templates/dcim/inc/cable_termination.html:36 @@ -200,19 +260,19 @@ msgstr "" #: netbox/virtualization/forms/bulk_import.py:124 #: netbox/virtualization/forms/filtersets.py:86 #: netbox/virtualization/forms/filtersets.py:218 -#: netbox/virtualization/forms/model_forms.py:102 -#: netbox/virtualization/forms/model_forms.py:212 +#: netbox/virtualization/forms/model_forms.py:120 +#: netbox/virtualization/forms/model_forms.py:242 #: netbox/virtualization/tables/virtualmachines.py:77 #: netbox/vpn/forms/filtersets.py:288 netbox/wireless/forms/filtersets.py:94 -#: netbox/wireless/forms/model_forms.py:78 -#: netbox/wireless/forms/model_forms.py:120 +#: netbox/wireless/forms/model_forms.py:121 +#: netbox/wireless/forms/model_forms.py:163 msgid "Site" msgstr "" #: netbox/circuits/filtersets.py:74 netbox/circuits/filtersets.py:254 #: netbox/circuits/filtersets.py:340 netbox/dcim/base_filtersets.py:56 -#: netbox/dcim/filtersets.py:275 netbox/dcim/filtersets.py:416 -#: netbox/dcim/filtersets.py:536 netbox/extras/filtersets.py:740 +#: netbox/dcim/filtersets.py:282 netbox/dcim/filtersets.py:428 +#: netbox/dcim/filtersets.py:553 netbox/extras/filtersets.py:751 #: netbox/ipam/filtersets.py:279 netbox/ipam/filtersets.py:1037 #: netbox/virtualization/filtersets.py:250 netbox/vpn/filtersets.py:407 msgid "Site (slug)" @@ -266,21 +326,23 @@ msgid "Circuit type (slug)" msgstr "" #: netbox/circuits/filtersets.py:248 netbox/circuits/filtersets.py:333 -#: netbox/dcim/base_filtersets.py:49 netbox/dcim/filtersets.py:268 -#: netbox/dcim/filtersets.py:409 netbox/dcim/filtersets.py:529 -#: netbox/dcim/filtersets.py:1322 netbox/dcim/filtersets.py:1685 -#: netbox/dcim/filtersets.py:1792 netbox/dcim/filtersets.py:2580 -#: netbox/dcim/filtersets.py:2927 netbox/dcim/filtersets.py:2989 +#: netbox/dcim/base_filtersets.py:49 netbox/dcim/filtersets.py:275 +#: netbox/dcim/filtersets.py:421 netbox/dcim/filtersets.py:546 +#: netbox/dcim/filtersets.py:1469 netbox/dcim/filtersets.py:1834 +#: netbox/dcim/filtersets.py:1941 netbox/dcim/filtersets.py:2801 +#: netbox/dcim/filtersets.py:3148 netbox/dcim/filtersets.py:3210 +#: netbox/dcim/filtersets.py:3286 netbox/dcim/filtersets.py:3373 #: netbox/ipam/filtersets.py:273 netbox/ipam/filtersets.py:1030 #: netbox/virtualization/filtersets.py:243 netbox/vpn/filtersets.py:412 msgid "Site (ID)" msgstr "" #: netbox/circuits/filtersets.py:258 netbox/circuits/filtersets.py:346 -#: netbox/dcim/base_filtersets.py:62 netbox/dcim/filtersets.py:293 -#: netbox/dcim/filtersets.py:422 netbox/dcim/filtersets.py:568 -#: netbox/dcim/filtersets.py:1335 netbox/dcim/filtersets.py:1698 -#: netbox/dcim/filtersets.py:1805 netbox/dcim/filtersets.py:2940 +#: netbox/dcim/base_filtersets.py:62 netbox/dcim/filtersets.py:300 +#: netbox/dcim/filtersets.py:434 netbox/dcim/filtersets.py:585 +#: netbox/dcim/filtersets.py:1482 netbox/dcim/filtersets.py:1847 +#: netbox/dcim/filtersets.py:1954 netbox/dcim/filtersets.py:3161 +#: netbox/dcim/filtersets.py:3299 msgid "Location (ID)" msgstr "" @@ -290,18 +352,18 @@ msgstr "" #: netbox/circuits/filtersets.py:295 netbox/circuits/filtersets.py:405 #: netbox/circuits/filtersets.py:585 netbox/core/filtersets.py:91 -#: netbox/core/filtersets.py:179 netbox/core/filtersets.py:205 -#: netbox/core/filtersets.py:248 netbox/dcim/filtersets.py:926 -#: netbox/dcim/filtersets.py:1760 netbox/dcim/filtersets.py:3041 -#: netbox/extras/filtersets.py:47 netbox/extras/filtersets.py:71 -#: netbox/extras/filtersets.py:102 netbox/extras/filtersets.py:144 -#: netbox/extras/filtersets.py:198 netbox/extras/filtersets.py:252 -#: netbox/extras/filtersets.py:283 netbox/extras/filtersets.py:324 -#: netbox/extras/filtersets.py:379 netbox/extras/filtersets.py:459 -#: netbox/extras/filtersets.py:503 netbox/extras/filtersets.py:562 -#: netbox/extras/filtersets.py:623 netbox/extras/filtersets.py:662 -#: netbox/extras/filtersets.py:695 netbox/extras/filtersets.py:869 -#: netbox/ipam/forms/model_forms.py:523 netbox/netbox/filtersets.py:324 +#: netbox/core/filtersets.py:192 netbox/core/filtersets.py:218 +#: netbox/core/filtersets.py:261 netbox/dcim/filtersets.py:1006 +#: netbox/dcim/filtersets.py:1909 netbox/dcim/filtersets.py:3429 +#: netbox/extras/filtersets.py:48 netbox/extras/filtersets.py:72 +#: netbox/extras/filtersets.py:103 netbox/extras/filtersets.py:155 +#: netbox/extras/filtersets.py:209 netbox/extras/filtersets.py:263 +#: netbox/extras/filtersets.py:294 netbox/extras/filtersets.py:335 +#: netbox/extras/filtersets.py:390 netbox/extras/filtersets.py:470 +#: netbox/extras/filtersets.py:514 netbox/extras/filtersets.py:573 +#: netbox/extras/filtersets.py:634 netbox/extras/filtersets.py:673 +#: netbox/extras/filtersets.py:706 netbox/extras/filtersets.py:880 +#: netbox/ipam/forms/model_forms.py:559 netbox/netbox/filtersets.py:324 #: netbox/netbox/forms/filtersets.py:32 netbox/netbox/forms/search.py:20 #: netbox/templates/htmx/object_selector.html:28 #: netbox/templates/inc/filter_list.html:43 @@ -315,15 +377,14 @@ msgstr "" msgid "Search" msgstr "" -#: netbox/circuits/filtersets.py:300 netbox/circuits/forms/bulk_edit.py:172 -#: netbox/circuits/forms/bulk_edit.py:256 +#: netbox/circuits/filtersets.py:300 netbox/circuits/forms/bulk_edit.py:170 +#: netbox/circuits/forms/bulk_edit.py:232 #: netbox/circuits/forms/bulk_import.py:128 #: netbox/circuits/forms/filtersets.py:232 #: netbox/circuits/forms/filtersets.py:259 #: netbox/circuits/forms/filtersets.py:306 -#: netbox/circuits/forms/model_forms.py:168 -#: netbox/circuits/forms/model_forms.py:191 -#: netbox/circuits/forms/model_forms.py:299 +#: netbox/circuits/forms/model_forms.py:181 +#: netbox/circuits/forms/model_forms.py:208 #: netbox/circuits/tables/circuits.py:103 #: netbox/circuits/tables/circuits.py:200 netbox/dcim/forms/connections.py:83 #: netbox/templates/dcim/inc/cable_termination.html:62 @@ -332,10 +393,10 @@ msgid "Circuit" msgstr "" #: netbox/circuits/filtersets.py:353 netbox/dcim/base_filtersets.py:69 -#: netbox/dcim/filtersets.py:300 netbox/dcim/filtersets.py:429 -#: netbox/dcim/filtersets.py:575 netbox/dcim/filtersets.py:1342 -#: netbox/dcim/filtersets.py:1705 netbox/dcim/filtersets.py:1812 -#: netbox/extras/filtersets.py:751 +#: netbox/dcim/filtersets.py:307 netbox/dcim/filtersets.py:441 +#: netbox/dcim/filtersets.py:592 netbox/dcim/filtersets.py:1489 +#: netbox/dcim/filtersets.py:1854 netbox/dcim/filtersets.py:1961 +#: netbox/dcim/filtersets.py:3306 netbox/extras/filtersets.py:762 msgid "Location (slug)" msgstr "" @@ -355,7 +416,7 @@ msgstr "" msgid "Virtual circuit (CID)" msgstr "" -#: netbox/circuits/filtersets.py:431 netbox/dcim/filtersets.py:2336 +#: netbox/circuits/filtersets.py:431 netbox/dcim/filtersets.py:2542 msgid "Virtual circuit (ID)" msgstr "" @@ -379,35 +440,35 @@ msgstr "" msgid "Virtual circuit type (slug)" msgstr "" -#: netbox/circuits/filtersets.py:590 netbox/circuits/forms/bulk_edit.py:316 +#: netbox/circuits/filtersets.py:590 netbox/circuits/forms/bulk_edit.py:292 #: netbox/circuits/forms/bulk_import.py:248 #: netbox/circuits/forms/filtersets.py:384 #: netbox/circuits/forms/filtersets.py:390 -#: netbox/circuits/forms/model_forms.py:377 -#: netbox/circuits/forms/model_forms.py:392 +#: netbox/circuits/forms/model_forms.py:325 +#: netbox/circuits/forms/model_forms.py:340 #: netbox/circuits/tables/virtual_circuits.py:84 msgid "Virtual circuit" msgstr "" -#: netbox/circuits/filtersets.py:633 netbox/dcim/filtersets.py:1572 -#: netbox/dcim/filtersets.py:2061 netbox/ipam/filtersets.py:680 +#: netbox/circuits/filtersets.py:633 netbox/dcim/filtersets.py:1721 +#: netbox/dcim/filtersets.py:2267 netbox/ipam/filtersets.py:680 #: netbox/vpn/filtersets.py:117 netbox/vpn/filtersets.py:445 msgid "Interface (ID)" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:48 netbox/circuits/forms/filtersets.py:68 -#: netbox/circuits/forms/model_forms.py:48 +#: netbox/circuits/forms/bulk_edit.py:46 netbox/circuits/forms/filtersets.py:68 +#: netbox/circuits/forms/model_forms.py:51 #: netbox/circuits/tables/providers.py:32 netbox/circuits/ui/panels.py:137 -#: netbox/dcim/forms/bulk_edit.py:142 netbox/dcim/forms/filtersets.py:227 -#: netbox/dcim/forms/model_forms.py:144 netbox/dcim/tables/sites.py:74 +#: netbox/dcim/forms/bulk_edit.py:152 netbox/dcim/forms/filtersets.py:239 +#: netbox/dcim/forms/model_forms.py:163 netbox/dcim/tables/sites.py:74 #: netbox/ipam/models/asns.py:164 netbox/ipam/tables/asn.py:37 -#: netbox/ipam/tables/ip.py:126 netbox/ipam/views.py:384 -#: netbox/netbox/navigation/menu.py:189 netbox/netbox/navigation/menu.py:192 +#: netbox/ipam/tables/ip.py:126 netbox/ipam/views.py:389 +#: netbox/netbox/navigation/menu.py:192 netbox/netbox/navigation/menu.py:195 msgid "ASNs" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:63 netbox/circuits/forms/bulk_edit.py:79 -#: netbox/circuits/forms/bulk_edit.py:118 +#: netbox/circuits/forms/bulk_edit.py:61 netbox/circuits/forms/bulk_edit.py:77 +#: netbox/circuits/forms/bulk_edit.py:116 #: netbox/circuits/forms/bulk_import.py:43 #: netbox/circuits/forms/bulk_import.py:58 #: netbox/circuits/forms/bulk_import.py:81 @@ -422,9 +483,9 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:349 #: netbox/circuits/forms/filtersets.py:385 #: netbox/circuits/forms/filtersets.py:408 -#: netbox/circuits/forms/model_forms.py:90 -#: netbox/circuits/forms/model_forms.py:109 -#: netbox/circuits/forms/model_forms.py:140 +#: netbox/circuits/forms/model_forms.py:93 +#: netbox/circuits/forms/model_forms.py:112 +#: netbox/circuits/forms/model_forms.py:153 #: netbox/circuits/tables/circuits.py:56 netbox/circuits/tables/circuits.py:107 #: netbox/circuits/tables/circuits.py:192 #: netbox/circuits/tables/providers.py:67 @@ -436,67 +497,83 @@ msgstr "" msgid "Provider" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:86 +#: netbox/circuits/forms/bulk_edit.py:84 #: netbox/circuits/forms/filtersets.py:106 netbox/circuits/ui/panels.py:151 msgid "Service ID" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:100 -#: netbox/circuits/forms/bulk_edit.py:275 +#: netbox/circuits/forms/bulk_edit.py:98 netbox/circuits/forms/bulk_edit.py:251 #: netbox/circuits/forms/filtersets.py:123 -#: netbox/circuits/forms/filtersets.py:331 netbox/dcim/forms/bulk_edit.py:222 -#: netbox/dcim/forms/bulk_edit.py:628 netbox/dcim/forms/bulk_edit.py:849 -#: netbox/dcim/forms/bulk_edit.py:1107 netbox/dcim/forms/bulk_edit.py:1206 -#: netbox/dcim/forms/bulk_edit.py:1233 netbox/dcim/forms/bulk_edit.py:1787 -#: netbox/dcim/forms/bulk_import.py:1629 netbox/dcim/forms/filtersets.py:1283 -#: netbox/dcim/forms/filtersets.py:1613 netbox/dcim/forms/filtersets.py:1829 -#: netbox/dcim/forms/filtersets.py:1848 netbox/dcim/forms/filtersets.py:1872 -#: netbox/dcim/forms/filtersets.py:1891 netbox/dcim/tables/devices.py:804 -#: netbox/dcim/tables/devices.py:857 netbox/dcim/tables/devices.py:1130 -#: netbox/dcim/tables/devicetypes.py:214 netbox/dcim/tables/devicetypes.py:255 -#: netbox/dcim/tables/devicetypes.py:274 netbox/dcim/tables/racks.py:54 -#: netbox/extras/forms/bulk_edit.py:318 netbox/extras/tables/tables.py:558 -#: netbox/netbox/ui/attrs.py:252 +#: netbox/circuits/forms/filtersets.py:331 netbox/dcim/forms/bulk_edit.py:232 +#: netbox/dcim/forms/bulk_edit.py:617 netbox/dcim/forms/bulk_edit.py:717 +#: netbox/dcim/forms/bulk_edit.py:943 netbox/dcim/forms/bulk_edit.py:1325 +#: netbox/dcim/forms/bulk_edit.py:1551 netbox/dcim/forms/bulk_edit.py:1578 +#: netbox/dcim/forms/bulk_edit.py:2234 netbox/dcim/forms/bulk_import.py:1858 +#: netbox/dcim/forms/filtersets.py:748 netbox/dcim/forms/filtersets.py:1373 +#: netbox/dcim/forms/filtersets.py:1833 netbox/dcim/forms/filtersets.py:2205 +#: netbox/dcim/forms/filtersets.py:2224 netbox/dcim/forms/filtersets.py:2248 +#: netbox/dcim/forms/filtersets.py:2267 netbox/dcim/tables/devices.py:820 +#: netbox/dcim/tables/devices.py:873 netbox/dcim/tables/devices.py:1150 +#: netbox/dcim/tables/devicetypes.py:224 netbox/dcim/tables/devicetypes.py:265 +#: netbox/dcim/tables/devicetypes.py:284 netbox/dcim/tables/modules.py:27 +#: netbox/dcim/tables/racks.py:54 netbox/extras/forms/bulk_edit.py:329 +#: netbox/extras/tables/tables.py:583 netbox/netbox/ui/attrs.py:256 #: netbox/templates/extras/panels/customfieldchoiceset_choices.html:11 msgid "Color" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:113 -#: netbox/circuits/forms/bulk_edit.py:298 +#: netbox/circuits/forms/bulk_edit.py:111 +#: netbox/circuits/forms/bulk_edit.py:274 #: netbox/circuits/forms/bulk_import.py:94 #: netbox/circuits/forms/bulk_import.py:220 #: netbox/circuits/forms/filtersets.py:146 #: netbox/circuits/forms/filtersets.py:370 #: netbox/circuits/tables/circuits.py:64 netbox/circuits/tables/circuits.py:197 #: netbox/circuits/tables/virtual_circuits.py:58 -#: netbox/core/forms/bulk_edit.py:18 netbox/core/forms/filtersets.py:37 +#: netbox/core/forms/bulk_edit.py:19 netbox/core/forms/filtersets.py:37 #: netbox/core/tables/change_logging.py:33 netbox/core/tables/data.py:22 -#: netbox/core/tables/jobs.py:22 netbox/dcim/forms/bulk_edit.py:816 -#: netbox/dcim/forms/bulk_edit.py:948 netbox/dcim/forms/bulk_edit.py:1014 -#: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1060 -#: netbox/dcim/forms/bulk_edit.py:1102 netbox/dcim/forms/bulk_edit.py:1150 -#: netbox/dcim/forms/bulk_edit.py:1201 netbox/dcim/forms/bulk_edit.py:1228 -#: netbox/dcim/forms/bulk_import.py:215 netbox/dcim/forms/bulk_import.py:301 -#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/bulk_import.py:856 -#: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/bulk_import.py:903 -#: netbox/dcim/forms/bulk_import.py:989 netbox/dcim/forms/bulk_import.py:1118 -#: netbox/dcim/forms/bulk_import.py:1224 netbox/dcim/forms/bulk_import.py:1603 -#: netbox/dcim/forms/bulk_import.py:1854 netbox/dcim/forms/filtersets.py:1155 -#: netbox/dcim/forms/filtersets.py:1268 netbox/dcim/forms/filtersets.py:1401 -#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1512 -#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/filtersets.py:1552 -#: netbox/dcim/forms/filtersets.py:1572 netbox/dcim/forms/filtersets.py:1587 -#: netbox/dcim/forms/filtersets.py:1607 netbox/dcim/forms/filtersets.py:1631 -#: netbox/dcim/forms/filtersets.py:1670 netbox/dcim/forms/filtersets.py:1775 -#: netbox/dcim/forms/filtersets.py:1824 netbox/dcim/forms/filtersets.py:1843 -#: netbox/dcim/forms/filtersets.py:1867 netbox/dcim/forms/filtersets.py:1886 -#: netbox/dcim/forms/model_forms.py:877 netbox/dcim/forms/model_forms.py:883 -#: netbox/dcim/forms/object_import.py:85 netbox/dcim/forms/object_import.py:114 -#: netbox/dcim/forms/object_import.py:127 netbox/dcim/tables/devices.py:182 -#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:155 -#: netbox/extras/forms/bulk_import.py:48 netbox/extras/tables/tables.py:427 -#: netbox/extras/tables/tables.py:515 netbox/extras/tables/tables.py:584 -#: netbox/extras/ui/panels.py:128 netbox/extras/ui/panels.py:377 +#: netbox/core/tables/jobs.py:23 netbox/dcim/forms/bulk_edit.py:910 +#: netbox/dcim/forms/bulk_edit.py:1042 netbox/dcim/forms/bulk_edit.py:1128 +#: netbox/dcim/forms/bulk_edit.py:1232 netbox/dcim/forms/bulk_edit.py:1255 +#: netbox/dcim/forms/bulk_edit.py:1278 netbox/dcim/forms/bulk_edit.py:1320 +#: netbox/dcim/forms/bulk_edit.py:1368 netbox/dcim/forms/bulk_edit.py:1429 +#: netbox/dcim/forms/bulk_edit.py:1487 netbox/dcim/forms/bulk_edit.py:1546 +#: netbox/dcim/forms/bulk_edit.py:1573 netbox/dcim/forms/bulk_import.py:226 +#: netbox/dcim/forms/bulk_import.py:318 netbox/dcim/forms/bulk_import.py:880 +#: netbox/dcim/forms/bulk_import.py:906 netbox/dcim/forms/bulk_import.py:932 +#: netbox/dcim/forms/bulk_import.py:953 netbox/dcim/forms/bulk_import.py:1009 +#: netbox/dcim/forms/bulk_import.py:1090 netbox/dcim/forms/bulk_import.py:1176 +#: netbox/dcim/forms/bulk_import.py:1305 netbox/dcim/forms/bulk_import.py:1411 +#: netbox/dcim/forms/bulk_import.py:1832 netbox/dcim/forms/bulk_import.py:2246 +#: netbox/dcim/forms/bulk_import.py:2303 netbox/dcim/forms/filtersets.py:1245 +#: netbox/dcim/forms/filtersets.py:1358 netbox/dcim/forms/filtersets.py:1491 +#: netbox/dcim/forms/filtersets.py:1560 netbox/dcim/forms/filtersets.py:1712 +#: netbox/dcim/forms/filtersets.py:1732 netbox/dcim/forms/filtersets.py:1752 +#: netbox/dcim/forms/filtersets.py:1772 netbox/dcim/forms/filtersets.py:1792 +#: netbox/dcim/forms/filtersets.py:1807 netbox/dcim/forms/filtersets.py:1827 +#: netbox/dcim/forms/filtersets.py:1851 netbox/dcim/forms/filtersets.py:1873 +#: netbox/dcim/forms/filtersets.py:1914 netbox/dcim/forms/filtersets.py:1953 +#: netbox/dcim/forms/filtersets.py:1982 netbox/dcim/forms/filtersets.py:2038 +#: netbox/dcim/forms/filtersets.py:2151 netbox/dcim/forms/filtersets.py:2200 +#: netbox/dcim/forms/filtersets.py:2219 netbox/dcim/forms/filtersets.py:2243 +#: netbox/dcim/forms/filtersets.py:2262 netbox/dcim/forms/model_forms.py:1046 +#: netbox/dcim/forms/model_forms.py:1069 netbox/dcim/forms/model_forms.py:1075 +#: netbox/dcim/forms/model_forms.py:1124 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1402 netbox/dcim/forms/model_forms.py:1416 +#: netbox/dcim/forms/model_forms.py:1439 netbox/dcim/forms/model_forms.py:1529 +#: netbox/dcim/forms/model_forms.py:1589 netbox/dcim/forms/model_forms.py:1633 +#: netbox/dcim/forms/model_forms.py:1866 netbox/dcim/forms/model_forms.py:1886 +#: netbox/dcim/forms/model_forms.py:1906 netbox/dcim/forms/model_forms.py:1928 +#: netbox/dcim/forms/model_forms.py:2021 netbox/dcim/forms/model_forms.py:2193 +#: netbox/dcim/forms/model_forms.py:2233 netbox/dcim/forms/object_import.py:133 +#: netbox/dcim/forms/object_import.py:176 +#: netbox/dcim/forms/object_import.py:189 netbox/dcim/tables/cooling.py:47 +#: netbox/dcim/tables/cooling.py:141 netbox/dcim/tables/cooling.py:186 +#: netbox/dcim/tables/devices.py:188 netbox/dcim/tables/power.py:74 +#: netbox/dcim/tables/racks.py:161 netbox/extras/forms/bulk_import.py:49 +#: netbox/extras/forms/model_forms.py:62 netbox/extras/tables/tables.py:436 +#: netbox/extras/tables/tables.py:527 netbox/extras/tables/tables.py:609 +#: netbox/extras/ui/panels.py:130 netbox/extras/ui/panels.py:392 #: netbox/netbox/tables/tables.py:453 #: netbox/templates/core/htmx/system_db_schema.html:70 #: netbox/templates/dcim/panels/interface_connection.html:68 @@ -504,125 +581,147 @@ msgstr "" #: netbox/virtualization/forms/bulk_edit.py:52 #: netbox/virtualization/forms/bulk_import.py:44 #: netbox/virtualization/forms/filtersets.py:66 -#: netbox/virtualization/forms/model_forms.py:64 -#: netbox/virtualization/forms/model_forms.py:206 +#: netbox/virtualization/forms/model_forms.py:82 +#: netbox/virtualization/forms/model_forms.py:234 #: netbox/virtualization/tables/clusters.py:67 #: netbox/virtualization/tables/virtualmachines.py:67 #: netbox/virtualization/ui/panels.py:44 netbox/vpn/forms/bulk_edit.py:226 #: netbox/vpn/forms/bulk_import.py:268 netbox/vpn/forms/filtersets.py:239 -#: netbox/vpn/forms/model_forms.py:82 netbox/vpn/forms/model_forms.py:117 -#: netbox/vpn/forms/model_forms.py:229 netbox/wireless/ui/panels.py:23 +#: netbox/vpn/forms/model_forms.py:97 netbox/vpn/forms/model_forms.py:132 +#: netbox/vpn/forms/model_forms.py:249 netbox/vpn/forms/model_forms.py:450 +#: netbox/wireless/forms/model_forms.py:104 netbox/wireless/ui/panels.py:23 msgid "Type" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_edit.py:293 +#: netbox/circuits/forms/bulk_edit.py:121 +#: netbox/circuits/forms/bulk_edit.py:269 #: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/bulk_import.py:213 #: netbox/circuits/forms/filtersets.py:159 #: netbox/circuits/forms/filtersets.py:357 -#: netbox/circuits/forms/model_forms.py:146 -#: netbox/circuits/forms/model_forms.py:365 +#: netbox/circuits/forms/model_forms.py:159 +#: netbox/circuits/forms/model_forms.py:313 msgid "Provider account" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:131 -#: netbox/circuits/forms/bulk_edit.py:303 +#: netbox/circuits/forms/bulk_edit.py:129 +#: netbox/circuits/forms/bulk_edit.py:279 #: netbox/circuits/forms/bulk_import.py:100 #: netbox/circuits/forms/bulk_import.py:226 #: netbox/circuits/forms/filtersets.py:170 -#: netbox/circuits/forms/filtersets.py:373 netbox/core/forms/filtersets.py:42 -#: netbox/core/forms/filtersets.py:90 netbox/core/tables/data.py:25 -#: netbox/core/tables/jobs.py:30 netbox/core/tables/tasks.py:90 -#: netbox/dcim/forms/bulk_edit.py:115 netbox/dcim/forms/bulk_edit.py:189 -#: netbox/dcim/forms/bulk_edit.py:366 netbox/dcim/forms/bulk_edit.py:475 -#: netbox/dcim/forms/bulk_edit.py:719 netbox/dcim/forms/bulk_edit.py:778 -#: netbox/dcim/forms/bulk_edit.py:822 netbox/dcim/forms/bulk_edit.py:942 -#: netbox/dcim/forms/bulk_edit.py:1761 netbox/dcim/forms/bulk_edit.py:1805 -#: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:165 -#: netbox/dcim/forms/bulk_import.py:282 netbox/dcim/forms/bulk_import.py:391 -#: netbox/dcim/forms/bulk_import.py:622 netbox/dcim/forms/bulk_import.py:782 -#: netbox/dcim/forms/bulk_import.py:1346 netbox/dcim/forms/bulk_import.py:1591 -#: netbox/dcim/forms/bulk_import.py:1849 netbox/dcim/forms/bulk_import.py:1912 -#: netbox/dcim/forms/filtersets.py:210 netbox/dcim/forms/filtersets.py:270 -#: netbox/dcim/forms/filtersets.py:413 netbox/dcim/forms/filtersets.py:528 -#: netbox/dcim/forms/filtersets.py:941 netbox/dcim/forms/filtersets.py:1064 -#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1273 -#: netbox/dcim/forms/filtersets.py:1396 netbox/dcim/forms/filtersets.py:1617 -#: netbox/dcim/forms/filtersets.py:2013 netbox/dcim/tables/devices.py:144 -#: netbox/dcim/tables/devices.py:543 netbox/dcim/tables/devices.py:913 -#: netbox/dcim/tables/devices.py:1078 netbox/dcim/tables/devices.py:1186 -#: netbox/dcim/tables/modules.py:106 netbox/dcim/tables/power.py:71 -#: netbox/dcim/tables/racks.py:143 netbox/dcim/tables/racks.py:248 -#: netbox/dcim/tables/sites.py:62 netbox/dcim/tables/sites.py:106 -#: netbox/ipam/forms/bulk_edit.py:207 netbox/ipam/forms/bulk_edit.py:251 -#: netbox/ipam/forms/bulk_edit.py:298 netbox/ipam/forms/bulk_edit.py:419 -#: netbox/ipam/forms/bulk_import.py:205 netbox/ipam/forms/bulk_import.py:269 -#: netbox/ipam/forms/bulk_import.py:305 netbox/ipam/forms/bulk_import.py:536 -#: netbox/ipam/forms/filtersets.py:239 netbox/ipam/forms/filtersets.py:318 -#: netbox/ipam/forms/filtersets.py:407 netbox/ipam/forms/filtersets.py:606 -#: netbox/ipam/forms/model_forms.py:542 netbox/ipam/tables/ip.py:187 +#: netbox/circuits/forms/filtersets.py:373 +#: netbox/circuits/forms/model_forms.py:143 +#: netbox/circuits/forms/model_forms.py:303 netbox/core/forms/filtersets.py:42 +#: netbox/core/forms/filtersets.py:91 netbox/core/tables/data.py:25 +#: netbox/core/tables/jobs.py:31 netbox/core/tables/tasks.py:90 +#: netbox/dcim/forms/bulk_edit.py:125 netbox/dcim/forms/bulk_edit.py:199 +#: netbox/dcim/forms/bulk_edit.py:387 netbox/dcim/forms/bulk_edit.py:508 +#: netbox/dcim/forms/bulk_edit.py:808 netbox/dcim/forms/bulk_edit.py:872 +#: netbox/dcim/forms/bulk_edit.py:916 netbox/dcim/forms/bulk_edit.py:1036 +#: netbox/dcim/forms/bulk_edit.py:1134 netbox/dcim/forms/bulk_edit.py:1173 +#: netbox/dcim/forms/bulk_edit.py:2208 netbox/dcim/forms/bulk_edit.py:2252 +#: netbox/dcim/forms/bulk_import.py:117 netbox/dcim/forms/bulk_import.py:176 +#: netbox/dcim/forms/bulk_import.py:299 netbox/dcim/forms/bulk_import.py:414 +#: netbox/dcim/forms/bulk_import.py:666 netbox/dcim/forms/bulk_import.py:832 +#: netbox/dcim/forms/bulk_import.py:1533 netbox/dcim/forms/bulk_import.py:1820 +#: netbox/dcim/forms/bulk_import.py:2241 netbox/dcim/forms/bulk_import.py:2308 +#: netbox/dcim/forms/bulk_import.py:2370 netbox/dcim/forms/bulk_import.py:2425 +#: netbox/dcim/forms/filtersets.py:222 netbox/dcim/forms/filtersets.py:282 +#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:552 +#: netbox/dcim/forms/filtersets.py:1026 netbox/dcim/forms/filtersets.py:1154 +#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1363 +#: netbox/dcim/forms/filtersets.py:1486 netbox/dcim/forms/filtersets.py:1565 +#: netbox/dcim/forms/filtersets.py:1630 netbox/dcim/forms/filtersets.py:1837 +#: netbox/dcim/forms/filtersets.py:2399 netbox/dcim/forms/model_forms.py:145 +#: netbox/dcim/forms/model_forms.py:230 netbox/dcim/forms/model_forms.py:333 +#: netbox/dcim/forms/model_forms.py:458 netbox/dcim/forms/model_forms.py:772 +#: netbox/dcim/forms/model_forms.py:962 netbox/dcim/forms/model_forms.py:1051 +#: netbox/dcim/forms/model_forms.py:1119 netbox/dcim/forms/model_forms.py:1934 +#: netbox/dcim/forms/model_forms.py:2302 netbox/dcim/forms/model_forms.py:2467 +#: netbox/dcim/tables/cooling.py:44 netbox/dcim/tables/cooling.py:93 +#: netbox/dcim/tables/devices.py:150 netbox/dcim/tables/devices.py:559 +#: netbox/dcim/tables/devices.py:929 netbox/dcim/tables/devices.py:1098 +#: netbox/dcim/tables/devices.py:1206 netbox/dcim/tables/modules.py:142 +#: netbox/dcim/tables/power.py:71 netbox/dcim/tables/racks.py:149 +#: netbox/dcim/tables/racks.py:261 netbox/dcim/tables/sites.py:62 +#: netbox/dcim/tables/sites.py:106 netbox/extras/forms/filtersets.py:75 +#: netbox/extras/tables/tables.py:91 netbox/ipam/forms/bulk_edit.py:208 +#: netbox/ipam/forms/bulk_edit.py:252 netbox/ipam/forms/bulk_edit.py:299 +#: netbox/ipam/forms/bulk_edit.py:420 netbox/ipam/forms/bulk_import.py:209 +#: netbox/ipam/forms/bulk_import.py:273 netbox/ipam/forms/bulk_import.py:309 +#: netbox/ipam/forms/bulk_import.py:540 netbox/ipam/forms/filtersets.py:239 +#: netbox/ipam/forms/filtersets.py:318 netbox/ipam/forms/filtersets.py:407 +#: netbox/ipam/forms/filtersets.py:606 netbox/ipam/forms/model_forms.py:209 +#: netbox/ipam/forms/model_forms.py:287 netbox/ipam/forms/model_forms.py:322 +#: netbox/ipam/forms/model_forms.py:521 netbox/ipam/forms/model_forms.py:587 +#: netbox/ipam/forms/model_forms.py:705 netbox/ipam/tables/ip.py:187 #: netbox/ipam/tables/ip.py:266 netbox/ipam/tables/ip.py:319 #: netbox/ipam/tables/ip.py:394 netbox/ipam/tables/ip.py:421 #: netbox/ipam/tables/vlans.py:102 netbox/templates/core/rq_task.html:81 #: netbox/templates/core/system.html:20 #: netbox/templates/extras/inc/script_list_content.html:35 -#: netbox/users/forms/filtersets.py:36 netbox/users/forms/model_forms.py:233 +#: netbox/users/forms/filtersets.py:36 netbox/users/forms/model_forms.py:234 #: netbox/virtualization/forms/bulk_edit.py:62 #: netbox/virtualization/forms/bulk_edit.py:123 #: netbox/virtualization/forms/bulk_import.py:57 #: netbox/virtualization/forms/bulk_import.py:113 #: netbox/virtualization/forms/filtersets.py:94 #: netbox/virtualization/forms/filtersets.py:230 +#: netbox/virtualization/forms/model_forms.py:77 +#: netbox/virtualization/forms/model_forms.py:224 #: netbox/virtualization/tables/clusters.py:75 #: netbox/virtualization/tables/virtualmachines.py:71 #: netbox/vpn/forms/bulk_edit.py:33 netbox/vpn/forms/bulk_edit.py:222 #: netbox/vpn/forms/bulk_import.py:36 netbox/vpn/forms/bulk_import.py:263 #: netbox/vpn/forms/filtersets.py:57 netbox/vpn/forms/filtersets.py:234 +#: netbox/vpn/forms/model_forms.py:52 netbox/vpn/forms/model_forms.py:454 #: netbox/vpn/tables/l2vpn.py:27 netbox/vpn/tables/tunnels.py:49 #: netbox/wireless/forms/bulk_edit.py:40 netbox/wireless/forms/bulk_edit.py:97 #: netbox/wireless/forms/bulk_import.py:44 #: netbox/wireless/forms/bulk_import.py:131 #: netbox/wireless/forms/filtersets.py:58 #: netbox/wireless/forms/filtersets.py:118 +#: netbox/wireless/forms/model_forms.py:49 +#: netbox/wireless/forms/model_forms.py:99 #: netbox/wireless/tables/wirelesslan.py:45 #: netbox/wireless/tables/wirelesslink.py:19 msgid "Status" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:137 -#: netbox/circuits/forms/bulk_edit.py:243 -#: netbox/circuits/forms/bulk_edit.py:309 +#: netbox/circuits/forms/bulk_edit.py:135 +#: netbox/circuits/forms/bulk_edit.py:219 +#: netbox/circuits/forms/bulk_edit.py:285 #: netbox/circuits/forms/bulk_import.py:111 #: netbox/circuits/forms/bulk_import.py:170 #: netbox/circuits/forms/bulk_import.py:231 #: netbox/circuits/forms/filtersets.py:138 #: netbox/circuits/forms/filtersets.py:286 -#: netbox/circuits/forms/filtersets.py:342 netbox/dcim/forms/bulk_edit.py:131 -#: netbox/dcim/forms/bulk_edit.py:195 netbox/dcim/forms/bulk_edit.py:361 -#: netbox/dcim/forms/bulk_edit.py:486 netbox/dcim/forms/bulk_edit.py:709 -#: netbox/dcim/forms/bulk_edit.py:834 netbox/dcim/forms/bulk_edit.py:1810 -#: netbox/dcim/forms/bulk_import.py:125 netbox/dcim/forms/bulk_import.py:170 -#: netbox/dcim/forms/bulk_import.py:268 netbox/dcim/forms/bulk_import.py:396 -#: netbox/dcim/forms/bulk_import.py:596 netbox/dcim/forms/bulk_import.py:1609 -#: netbox/dcim/forms/bulk_import.py:1905 netbox/dcim/forms/filtersets.py:145 -#: netbox/dcim/forms/filtersets.py:204 netbox/dcim/forms/filtersets.py:237 -#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:459 -#: netbox/dcim/forms/filtersets.py:480 netbox/dcim/forms/filtersets.py:863 -#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1178 -#: netbox/dcim/forms/filtersets.py:1221 netbox/dcim/forms/filtersets.py:1356 -#: netbox/dcim/tables/power.py:85 netbox/extras/filtersets.py:821 -#: netbox/extras/forms/filtersets.py:412 netbox/extras/forms/filtersets.py:491 -#: netbox/ipam/forms/bulk_edit.py:47 netbox/ipam/forms/bulk_edit.py:66 -#: netbox/ipam/forms/bulk_edit.py:99 netbox/ipam/forms/bulk_edit.py:128 -#: netbox/ipam/forms/bulk_edit.py:147 netbox/ipam/forms/bulk_edit.py:202 -#: netbox/ipam/forms/bulk_edit.py:246 netbox/ipam/forms/bulk_edit.py:293 -#: netbox/ipam/forms/bulk_edit.py:371 netbox/ipam/forms/bulk_edit.py:414 -#: netbox/ipam/forms/bulk_import.py:45 netbox/ipam/forms/bulk_import.py:74 -#: netbox/ipam/forms/bulk_import.py:102 netbox/ipam/forms/bulk_import.py:122 -#: netbox/ipam/forms/bulk_import.py:149 netbox/ipam/forms/bulk_import.py:177 -#: netbox/ipam/forms/bulk_import.py:262 netbox/ipam/forms/bulk_import.py:298 -#: netbox/ipam/forms/bulk_import.py:495 netbox/ipam/forms/bulk_import.py:529 +#: netbox/circuits/forms/filtersets.py:342 netbox/dcim/forms/bulk_edit.py:141 +#: netbox/dcim/forms/bulk_edit.py:205 netbox/dcim/forms/bulk_edit.py:382 +#: netbox/dcim/forms/bulk_edit.py:519 netbox/dcim/forms/bulk_edit.py:798 +#: netbox/dcim/forms/bulk_edit.py:928 netbox/dcim/forms/bulk_edit.py:2257 +#: netbox/dcim/forms/bulk_import.py:136 netbox/dcim/forms/bulk_import.py:181 +#: netbox/dcim/forms/bulk_import.py:285 netbox/dcim/forms/bulk_import.py:419 +#: netbox/dcim/forms/bulk_import.py:640 netbox/dcim/forms/bulk_import.py:1838 +#: netbox/dcim/forms/bulk_import.py:2418 netbox/dcim/forms/filtersets.py:157 +#: netbox/dcim/forms/filtersets.py:216 netbox/dcim/forms/filtersets.py:249 +#: netbox/dcim/forms/filtersets.py:398 netbox/dcim/forms/filtersets.py:483 +#: netbox/dcim/forms/filtersets.py:504 netbox/dcim/forms/filtersets.py:948 +#: netbox/dcim/forms/filtersets.py:1145 netbox/dcim/forms/filtersets.py:1268 +#: netbox/dcim/forms/filtersets.py:1311 netbox/dcim/forms/filtersets.py:1446 +#: netbox/dcim/forms/filtersets.py:1590 netbox/dcim/tables/cooling.py:105 +#: netbox/dcim/tables/power.py:85 netbox/extras/filtersets.py:832 +#: netbox/extras/forms/filtersets.py:450 netbox/extras/forms/filtersets.py:529 +#: netbox/ipam/forms/bulk_edit.py:48 netbox/ipam/forms/bulk_edit.py:67 +#: netbox/ipam/forms/bulk_edit.py:100 netbox/ipam/forms/bulk_edit.py:129 +#: netbox/ipam/forms/bulk_edit.py:148 netbox/ipam/forms/bulk_edit.py:203 +#: netbox/ipam/forms/bulk_edit.py:247 netbox/ipam/forms/bulk_edit.py:294 +#: netbox/ipam/forms/bulk_edit.py:372 netbox/ipam/forms/bulk_edit.py:415 +#: netbox/ipam/forms/bulk_import.py:49 netbox/ipam/forms/bulk_import.py:78 +#: netbox/ipam/forms/bulk_import.py:106 netbox/ipam/forms/bulk_import.py:126 +#: netbox/ipam/forms/bulk_import.py:153 netbox/ipam/forms/bulk_import.py:181 +#: netbox/ipam/forms/bulk_import.py:266 netbox/ipam/forms/bulk_import.py:302 +#: netbox/ipam/forms/bulk_import.py:499 netbox/ipam/forms/bulk_import.py:533 #: netbox/ipam/forms/filtersets.py:50 netbox/ipam/forms/filtersets.py:71 #: netbox/ipam/forms/filtersets.py:109 netbox/ipam/forms/filtersets.py:131 #: netbox/ipam/forms/filtersets.py:155 netbox/ipam/forms/filtersets.py:201 @@ -630,7 +729,7 @@ msgstr "" #: netbox/ipam/forms/filtersets.py:470 netbox/ipam/forms/filtersets.py:573 #: netbox/ipam/tables/ip.py:424 netbox/tenancy/forms/filtersets.py:55 #: netbox/tenancy/forms/forms.py:26 netbox/tenancy/forms/forms.py:50 -#: netbox/tenancy/forms/model_forms.py:51 netbox/tenancy/tables/columns.py:50 +#: netbox/tenancy/forms/model_forms.py:58 netbox/tenancy/tables/columns.py:50 #: netbox/virtualization/forms/bulk_edit.py:68 #: netbox/virtualization/forms/bulk_edit.py:167 #: netbox/virtualization/forms/bulk_import.py:69 @@ -648,79 +747,84 @@ msgstr "" msgid "Tenant" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:142 +#: netbox/circuits/forms/bulk_edit.py:140 #: netbox/circuits/forms/filtersets.py:199 msgid "Install date" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:147 +#: netbox/circuits/forms/bulk_edit.py:145 #: netbox/circuits/forms/filtersets.py:204 msgid "Termination date" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:153 +#: netbox/circuits/forms/bulk_edit.py:151 #: netbox/circuits/forms/filtersets.py:211 msgid "Commit rate (Kbps)" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:159 +#: netbox/circuits/forms/bulk_edit.py:157 #: netbox/circuits/forms/filtersets.py:217 -#: netbox/circuits/forms/model_forms.py:165 +#: netbox/circuits/forms/model_forms.py:178 #: netbox/wireless/forms/bulk_edit.py:121 #: netbox/wireless/forms/filtersets.py:137 -#: netbox/wireless/forms/model_forms.py:166 +#: netbox/wireless/forms/model_forms.py:209 msgid "Distance" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:164 +#: netbox/circuits/forms/bulk_edit.py:162 #: netbox/circuits/forms/bulk_import.py:105 #: netbox/circuits/forms/bulk_import.py:108 #: netbox/circuits/forms/filtersets.py:221 +#: netbox/circuits/forms/model_forms.py:148 #: netbox/wireless/forms/bulk_edit.py:126 #: netbox/wireless/forms/bulk_import.py:155 #: netbox/wireless/forms/bulk_import.py:158 #: netbox/wireless/forms/filtersets.py:141 +#: netbox/wireless/forms/model_forms.py:114 msgid "Distance unit" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:173 -#: netbox/circuits/forms/model_forms.py:170 +#: netbox/circuits/forms/bulk_edit.py:171 +#: netbox/circuits/forms/model_forms.py:183 msgid "Service Parameters" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:174 +#: netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/filtersets.py:77 #: netbox/circuits/forms/filtersets.py:97 #: netbox/circuits/forms/filtersets.py:117 #: netbox/circuits/forms/filtersets.py:135 #: netbox/circuits/forms/filtersets.py:325 #: netbox/circuits/forms/filtersets.py:341 netbox/core/forms/filtersets.py:78 -#: netbox/core/forms/filtersets.py:150 netbox/dcim/forms/bulk_edit.py:867 -#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/filtersets.py:203 -#: netbox/dcim/forms/filtersets.py:236 netbox/dcim/forms/filtersets.py:1054 -#: netbox/dcim/forms/filtersets.py:1207 netbox/dcim/forms/filtersets.py:1219 -#: netbox/dcim/forms/filtersets.py:1355 netbox/dcim/forms/filtersets.py:1482 -#: netbox/dcim/forms/filtersets.py:1508 netbox/dcim/forms/filtersets.py:1522 -#: netbox/dcim/forms/filtersets.py:1548 netbox/dcim/forms/filtersets.py:1562 -#: netbox/dcim/forms/filtersets.py:1583 netbox/dcim/forms/filtersets.py:1597 -#: netbox/dcim/forms/filtersets.py:1627 netbox/dcim/forms/filtersets.py:1641 -#: netbox/dcim/forms/filtersets.py:1769 netbox/dcim/forms/filtersets.py:1813 -#: netbox/dcim/forms/filtersets.py:1839 netbox/dcim/forms/filtersets.py:1857 -#: netbox/dcim/forms/filtersets.py:1882 netbox/dcim/forms/filtersets.py:1900 -#: netbox/dcim/forms/filtersets.py:1924 netbox/dcim/forms/filtersets.py:1942 -#: netbox/dcim/forms/filtersets.py:1962 netbox/dcim/forms/filtersets.py:1978 -#: netbox/dcim/forms/filtersets.py:2024 netbox/dcim/forms/filtersets.py:2060 -#: netbox/dcim/tables/modules.py:25 netbox/dcim/views.py:1780 -#: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/filtersets.py:48 -#: netbox/extras/forms/filtersets.py:152 netbox/extras/forms/filtersets.py:231 -#: netbox/extras/forms/filtersets.py:248 netbox/extras/forms/filtersets.py:280 -#: netbox/extras/forms/filtersets.py:311 netbox/extras/forms/filtersets.py:334 -#: netbox/extras/forms/filtersets.py:366 netbox/extras/forms/filtersets.py:572 +#: netbox/core/forms/filtersets.py:161 netbox/dcim/forms/bulk_edit.py:961 +#: netbox/dcim/forms/bulk_import.py:549 netbox/dcim/forms/filtersets.py:215 +#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:1144 +#: netbox/dcim/forms/filtersets.py:1297 netbox/dcim/forms/filtersets.py:1309 +#: netbox/dcim/forms/filtersets.py:1445 netbox/dcim/forms/filtersets.py:1525 +#: netbox/dcim/forms/filtersets.py:1586 netbox/dcim/forms/filtersets.py:1702 +#: netbox/dcim/forms/filtersets.py:1728 netbox/dcim/forms/filtersets.py:1742 +#: netbox/dcim/forms/filtersets.py:1768 netbox/dcim/forms/filtersets.py:1782 +#: netbox/dcim/forms/filtersets.py:1803 netbox/dcim/forms/filtersets.py:1817 +#: netbox/dcim/forms/filtersets.py:1847 netbox/dcim/forms/filtersets.py:1863 +#: netbox/dcim/forms/filtersets.py:1909 netbox/dcim/forms/filtersets.py:1943 +#: netbox/dcim/forms/filtersets.py:1978 netbox/dcim/forms/filtersets.py:2008 +#: netbox/dcim/forms/filtersets.py:2145 netbox/dcim/forms/filtersets.py:2189 +#: netbox/dcim/forms/filtersets.py:2215 netbox/dcim/forms/filtersets.py:2233 +#: netbox/dcim/forms/filtersets.py:2258 netbox/dcim/forms/filtersets.py:2276 +#: netbox/dcim/forms/filtersets.py:2305 netbox/dcim/forms/filtersets.py:2328 +#: netbox/dcim/forms/filtersets.py:2348 netbox/dcim/forms/filtersets.py:2364 +#: netbox/dcim/forms/filtersets.py:2410 netbox/dcim/forms/filtersets.py:2446 +#: netbox/dcim/tables/modules.py:53 netbox/dcim/views.py:1933 +#: netbox/extras/forms/bulk_edit.py:103 netbox/extras/forms/filtersets.py:50 +#: netbox/extras/forms/filtersets.py:167 netbox/extras/forms/filtersets.py:246 +#: netbox/extras/forms/filtersets.py:263 netbox/extras/forms/filtersets.py:295 +#: netbox/extras/forms/filtersets.py:327 netbox/extras/forms/filtersets.py:362 +#: netbox/extras/forms/filtersets.py:404 netbox/extras/forms/filtersets.py:610 #: netbox/ipam/forms/filtersets.py:108 netbox/ipam/forms/filtersets.py:301 #: netbox/ipam/forms/filtersets.py:351 netbox/ipam/forms/filtersets.py:434 #: netbox/ipam/forms/filtersets.py:532 netbox/ipam/forms/filtersets.py:546 #: netbox/ipam/forms/filtersets.py:571 netbox/ipam/forms/filtersets.py:643 -#: netbox/ipam/forms/filtersets.py:662 netbox/netbox/tables/tables.py:469 +#: netbox/ipam/forms/filtersets.py:674 netbox/netbox/tables/tables.py:469 #: netbox/virtualization/forms/filtersets.py:56 #: netbox/virtualization/forms/filtersets.py:114 #: netbox/virtualization/forms/filtersets.py:166 @@ -732,53 +836,55 @@ msgstr "" msgid "Attributes" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:175 -#: netbox/circuits/forms/bulk_edit.py:317 -#: netbox/circuits/forms/model_forms.py:171 -#: netbox/circuits/forms/model_forms.py:277 -#: netbox/circuits/forms/model_forms.py:379 -#: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:226 -#: netbox/dcim/forms/model_forms.py:330 netbox/dcim/forms/model_forms.py:387 -#: netbox/dcim/forms/model_forms.py:945 netbox/dcim/forms/model_forms.py:1961 -#: netbox/ipam/forms/bulk_edit.py:380 netbox/ipam/forms/model_forms.py:72 -#: netbox/ipam/forms/model_forms.py:89 netbox/ipam/forms/model_forms.py:120 -#: netbox/ipam/forms/model_forms.py:141 netbox/ipam/forms/model_forms.py:171 -#: netbox/ipam/forms/model_forms.py:235 netbox/ipam/forms/model_forms.py:275 -#: netbox/ipam/forms/model_forms.py:297 netbox/ipam/forms/model_forms.py:355 -#: netbox/ipam/forms/model_forms.py:504 netbox/ipam/forms/model_forms.py:647 -#: netbox/ipam/forms/model_forms.py:713 netbox/netbox/navigation/menu.py:27 -#: netbox/templates/dcim/device_edit.html:87 +#: netbox/circuits/forms/bulk_edit.py:173 +#: netbox/circuits/forms/bulk_edit.py:293 +#: netbox/circuits/forms/model_forms.py:184 +#: netbox/circuits/forms/model_forms.py:247 +#: netbox/circuits/forms/model_forms.py:327 +#: netbox/dcim/forms/model_forms.py:189 netbox/dcim/forms/model_forms.py:250 +#: netbox/dcim/forms/model_forms.py:395 netbox/dcim/forms/model_forms.py:479 +#: netbox/dcim/forms/model_forms.py:1157 netbox/dcim/forms/model_forms.py:1224 +#: netbox/dcim/forms/model_forms.py:2499 netbox/ipam/forms/bulk_edit.py:381 +#: netbox/ipam/forms/model_forms.py:72 netbox/ipam/forms/model_forms.py:89 +#: netbox/ipam/forms/model_forms.py:120 netbox/ipam/forms/model_forms.py:141 +#: netbox/ipam/forms/model_forms.py:171 netbox/ipam/forms/model_forms.py:241 +#: netbox/ipam/forms/model_forms.py:281 netbox/ipam/forms/model_forms.py:309 +#: netbox/ipam/forms/model_forms.py:379 netbox/ipam/forms/model_forms.py:540 +#: netbox/ipam/forms/model_forms.py:692 netbox/ipam/forms/model_forms.py:770 +#: netbox/netbox/navigation/menu.py:27 +#: netbox/templates/dcim/device_edit.html:94 #: netbox/templates/dcim/htmx/cable_edit.html:86 #: netbox/templates/ipam/vlan_edit.html:38 -#: netbox/virtualization/forms/model_forms.py:78 -#: netbox/virtualization/forms/model_forms.py:275 +#: netbox/virtualization/forms/model_forms.py:96 +#: netbox/virtualization/forms/model_forms.py:305 #: netbox/vpn/forms/bulk_edit.py:66 netbox/vpn/forms/filtersets.py:52 -#: netbox/vpn/forms/model_forms.py:60 netbox/vpn/forms/model_forms.py:145 -#: netbox/vpn/forms/model_forms.py:409 netbox/wireless/forms/model_forms.py:56 -#: netbox/wireless/forms/model_forms.py:171 +#: netbox/vpn/forms/model_forms.py:75 netbox/vpn/forms/model_forms.py:160 +#: netbox/vpn/forms/model_forms.py:473 netbox/wireless/forms/model_forms.py:79 +#: netbox/wireless/forms/model_forms.py:214 msgid "Tenancy" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:184 -#: netbox/circuits/forms/bulk_edit.py:332 netbox/dcim/forms/bulk_create.py:37 -#: netbox/dcim/forms/bulk_edit.py:802 netbox/dcim/forms/bulk_edit.py:1019 -#: netbox/dcim/forms/bulk_edit.py:1042 netbox/dcim/forms/bulk_edit.py:1077 -#: netbox/dcim/forms/bulk_edit.py:1121 netbox/dcim/forms/bulk_edit.py:1165 -#: netbox/dcim/forms/bulk_edit.py:1210 netbox/dcim/forms/bulk_edit.py:1237 -#: netbox/dcim/forms/bulk_edit.py:1260 netbox/dcim/forms/bulk_edit.py:1283 -#: netbox/dcim/forms/bulk_edit.py:1306 netbox/extras/forms/bulk_edit.py:43 -#: netbox/extras/forms/bulk_edit.py:160 netbox/extras/forms/bulk_edit.py:193 -#: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/bulk_edit.py:251 -#: netbox/extras/forms/bulk_edit.py:299 netbox/extras/forms/bulk_edit.py:322 -#: netbox/extras/forms/bulk_edit.py:367 netbox/extras/forms/bulk_edit.py:384 -#: netbox/extras/forms/bulk_edit.py:426 netbox/extras/forms/bulk_edit.py:451 -#: netbox/extras/tables/tables.py:97 netbox/ipam/tables/vlans.py:218 +#: netbox/circuits/forms/bulk_edit.py:182 +#: netbox/circuits/forms/bulk_edit.py:308 netbox/dcim/forms/bulk_create.py:39 +#: netbox/dcim/forms/bulk_edit.py:896 netbox/dcim/forms/bulk_edit.py:1237 +#: netbox/dcim/forms/bulk_edit.py:1260 netbox/dcim/forms/bulk_edit.py:1295 +#: netbox/dcim/forms/bulk_edit.py:1339 netbox/dcim/forms/bulk_edit.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1449 netbox/dcim/forms/bulk_edit.py:1510 +#: netbox/dcim/forms/bulk_edit.py:1555 netbox/dcim/forms/bulk_edit.py:1582 +#: netbox/dcim/forms/bulk_edit.py:1605 netbox/dcim/forms/bulk_edit.py:1642 +#: netbox/dcim/forms/bulk_edit.py:1665 netbox/extras/forms/bulk_edit.py:43 +#: netbox/extras/forms/bulk_edit.py:165 netbox/extras/forms/bulk_edit.py:198 +#: netbox/extras/forms/bulk_edit.py:226 netbox/extras/forms/bulk_edit.py:256 +#: netbox/extras/forms/bulk_edit.py:310 netbox/extras/forms/bulk_edit.py:333 +#: netbox/extras/forms/bulk_edit.py:378 netbox/extras/forms/bulk_edit.py:395 +#: netbox/extras/forms/bulk_edit.py:437 netbox/extras/forms/bulk_edit.py:462 +#: netbox/extras/tables/tables.py:100 netbox/ipam/tables/vlans.py:218 #: netbox/ipam/tables/vlans.py:245 netbox/netbox/forms/bulk_edit.py:83 #: netbox/netbox/forms/bulk_edit.py:95 netbox/netbox/forms/bulk_edit.py:107 #: netbox/netbox/ui/panels.py:223 netbox/netbox/ui/panels.py:232 #: netbox/templates/circuits/inc/circuit_termination_fields.html:89 #: netbox/templates/core/plugin.html:80 -#: netbox/templates/dcim/cablebundle.html:21 +#: netbox/templates/dcim/cablebundle.html:17 #: netbox/templates/extras/dashboard/widget_add.html:14 #: netbox/templates/extras/inc/script_list_content.html:33 #: netbox/templates/generic/bulk_import.html:151 @@ -790,99 +896,96 @@ msgstr "" msgid "Description" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:192 -#: netbox/circuits/forms/model_forms.py:198 -#: netbox/dcim/forms/bulk_import.py:1549 netbox/dcim/forms/bulk_import.py:1582 -msgid "Termination type" -msgstr "" - -#: netbox/circuits/forms/bulk_edit.py:195 +#: netbox/circuits/forms/bulk_edit.py:187 #: netbox/circuits/forms/bulk_import.py:133 #: netbox/circuits/forms/filtersets.py:234 -#: netbox/circuits/forms/model_forms.py:201 netbox/circuits/ui/panels.py:14 +#: netbox/circuits/forms/model_forms.py:213 netbox/circuits/ui/panels.py:14 #: netbox/templates/circuits/inc/circuit_termination.html:6 #: netbox/templates/circuits/panels/circuit_circuit_termination.html:6 #: netbox/vpn/forms/bulk_import.py:99 netbox/vpn/forms/filtersets.py:87 msgid "Termination" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:203 +#: netbox/circuits/forms/bulk_edit.py:195 msgid "Port speed (Kbps)" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:207 +#: netbox/circuits/forms/bulk_edit.py:199 msgid "Upstream speed (Kbps)" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:210 netbox/dcim/forms/bulk_edit.py:978 -#: netbox/dcim/forms/bulk_edit.py:1368 netbox/dcim/forms/bulk_edit.py:1385 -#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/bulk_edit.py:1423 -#: netbox/dcim/forms/bulk_edit.py:1518 netbox/dcim/forms/bulk_edit.py:1690 -#: netbox/dcim/forms/bulk_edit.py:1707 +#: netbox/circuits/forms/bulk_edit.py:202 netbox/dcim/forms/bulk_edit.py:1072 +#: netbox/dcim/forms/bulk_edit.py:1727 netbox/dcim/forms/bulk_edit.py:1744 +#: netbox/dcim/forms/bulk_edit.py:1761 netbox/dcim/forms/bulk_edit.py:1782 +#: netbox/dcim/forms/bulk_edit.py:1942 netbox/dcim/forms/bulk_edit.py:2114 +#: netbox/dcim/forms/bulk_edit.py:2131 msgid "Mark connected" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:220 -#: netbox/circuits/forms/model_forms.py:211 netbox/circuits/ui/panels.py:85 -#: netbox/dcim/views.py:3585 netbox/dcim/views.py:3687 +#: netbox/circuits/forms/bulk_edit.py:210 +#: netbox/circuits/forms/model_forms.py:223 netbox/circuits/ui/panels.py:85 +#: netbox/dcim/views.py:4163 netbox/dcim/views.py:4269 #: netbox/templates/circuits/circuit_termination/attrs/connection.html:43 #: netbox/templates/circuits/inc/circuit_termination_fields.html:59 #: netbox/templates/dcim/panels/interface_connection.html:92 msgid "Circuit Termination" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:222 -#: netbox/circuits/forms/model_forms.py:213 +#: netbox/circuits/forms/bulk_edit.py:212 +#: netbox/circuits/forms/model_forms.py:225 msgid "Termination Details" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:261 +#: netbox/circuits/forms/bulk_edit.py:237 #: netbox/circuits/forms/bulk_import.py:188 #: netbox/circuits/forms/filtersets.py:314 -#: netbox/circuits/tables/circuits.py:205 netbox/dcim/forms/model_forms.py:712 +#: netbox/circuits/forms/model_forms.py:259 +#: netbox/circuits/tables/circuits.py:205 netbox/dcim/forms/model_forms.py:879 #: netbox/templates/dcim/panels/virtual_chassis_members.html:11 #: netbox/templates/dcim/virtualchassis_edit.html:68 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 #: netbox/templates/ipam/panels/fhrp_groups.html:12 #: netbox/tenancy/forms/bulk_edit.py:141 netbox/tenancy/forms/filtersets.py:139 +#: netbox/tenancy/forms/model_forms.py:129 msgid "Priority" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:288 +#: netbox/circuits/forms/bulk_edit.py:264 #: netbox/circuits/forms/bulk_import.py:207 #: netbox/circuits/forms/filtersets.py:167 #: netbox/circuits/forms/filtersets.py:272 #: netbox/circuits/forms/filtersets.py:365 #: netbox/circuits/forms/filtersets.py:403 -#: netbox/circuits/forms/model_forms.py:360 +#: netbox/circuits/forms/model_forms.py:308 #: netbox/circuits/tables/virtual_circuits.py:51 #: netbox/circuits/tables/virtual_circuits.py:95 msgid "Provider network" msgstr "" -#: netbox/circuits/forms/bulk_edit.py:326 +#: netbox/circuits/forms/bulk_edit.py:302 #: netbox/circuits/forms/bulk_import.py:253 #: netbox/circuits/forms/filtersets.py:393 -#: netbox/circuits/forms/model_forms.py:399 netbox/dcim/forms/bulk_edit.py:372 -#: netbox/dcim/forms/bulk_edit.py:1310 netbox/dcim/forms/bulk_edit.py:1751 -#: netbox/dcim/forms/bulk_import.py:287 netbox/dcim/forms/bulk_import.py:1315 -#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:919 -#: netbox/dcim/forms/filtersets.py:1990 netbox/dcim/forms/filtersets.py:2030 -#: netbox/dcim/forms/model_forms.py:312 netbox/dcim/forms/model_forms.py:1298 -#: netbox/dcim/forms/model_forms.py:1781 netbox/dcim/forms/object_import.py:198 -#: netbox/dcim/tables/devices.py:173 netbox/dcim/tables/devices.py:1062 -#: netbox/dcim/tables/devicetypes.py:324 netbox/dcim/tables/racks.py:146 -#: netbox/extras/filtersets.py:761 netbox/ipam/forms/bulk_edit.py:125 -#: netbox/ipam/forms/bulk_edit.py:212 netbox/ipam/forms/bulk_edit.py:256 -#: netbox/ipam/forms/bulk_edit.py:303 netbox/ipam/forms/bulk_edit.py:424 -#: netbox/ipam/forms/bulk_import.py:142 netbox/ipam/forms/bulk_import.py:210 -#: netbox/ipam/forms/bulk_import.py:274 netbox/ipam/forms/bulk_import.py:310 -#: netbox/ipam/forms/bulk_import.py:541 netbox/ipam/forms/filtersets.py:166 +#: netbox/circuits/forms/model_forms.py:346 netbox/dcim/forms/bulk_edit.py:393 +#: netbox/dcim/forms/bulk_edit.py:1669 netbox/dcim/forms/bulk_edit.py:2198 +#: netbox/dcim/forms/bulk_import.py:304 netbox/dcim/forms/bulk_import.py:1502 +#: netbox/dcim/forms/filtersets.py:445 netbox/dcim/forms/filtersets.py:1004 +#: netbox/dcim/forms/filtersets.py:2376 netbox/dcim/forms/filtersets.py:2416 +#: netbox/dcim/forms/model_forms.py:376 netbox/dcim/forms/model_forms.py:1699 +#: netbox/dcim/forms/model_forms.py:2315 netbox/dcim/forms/object_import.py:314 +#: netbox/dcim/tables/devices.py:179 netbox/dcim/tables/devices.py:1082 +#: netbox/dcim/tables/devicetypes.py:338 netbox/dcim/tables/racks.py:152 +#: netbox/extras/filtersets.py:772 netbox/ipam/forms/bulk_edit.py:126 +#: netbox/ipam/forms/bulk_edit.py:213 netbox/ipam/forms/bulk_edit.py:257 +#: netbox/ipam/forms/bulk_edit.py:304 netbox/ipam/forms/bulk_edit.py:425 +#: netbox/ipam/forms/bulk_import.py:146 netbox/ipam/forms/bulk_import.py:214 +#: netbox/ipam/forms/bulk_import.py:278 netbox/ipam/forms/bulk_import.py:314 +#: netbox/ipam/forms/bulk_import.py:545 netbox/ipam/forms/filtersets.py:166 #: netbox/ipam/forms/filtersets.py:267 netbox/ipam/forms/filtersets.py:326 #: netbox/ipam/forms/filtersets.py:412 netbox/ipam/forms/filtersets.py:614 #: netbox/ipam/forms/model_forms.py:159 netbox/ipam/forms/model_forms.py:197 -#: netbox/ipam/forms/model_forms.py:223 netbox/ipam/forms/model_forms.py:286 -#: netbox/ipam/forms/model_forms.py:681 netbox/ipam/tables/asn.py:75 +#: netbox/ipam/forms/model_forms.py:229 netbox/ipam/forms/model_forms.py:298 +#: netbox/ipam/forms/model_forms.py:328 netbox/ipam/forms/model_forms.py:527 +#: netbox/ipam/forms/model_forms.py:738 netbox/ipam/tables/asn.py:75 #: netbox/ipam/tables/ip.py:213 netbox/ipam/tables/ip.py:270 #: netbox/ipam/tables/ip.py:323 netbox/ipam/tables/vlans.py:106 #: netbox/templates/dcim/inc/panels/inventory_items.html:20 @@ -891,15 +994,16 @@ msgstr "" #: netbox/templates/dcim/panels/interface_wireless.html:17 #: netbox/templates/wireless/panels/wirelesslink_interface.html:20 #: netbox/tenancy/forms/bulk_edit.py:136 netbox/tenancy/forms/filtersets.py:136 -#: netbox/tenancy/forms/model_forms.py:137 netbox/tenancy/tables/contacts.py:96 +#: netbox/tenancy/forms/model_forms.py:149 netbox/tenancy/tables/contacts.py:96 #: netbox/virtualization/forms/bulk_edit.py:157 #: netbox/virtualization/forms/bulk_import.py:145 #: netbox/virtualization/forms/filtersets.py:227 -#: netbox/virtualization/forms/model_forms.py:245 +#: netbox/virtualization/forms/model_forms.py:275 #: netbox/virtualization/tables/virtualmachines.py:89 #: netbox/vpn/forms/bulk_edit.py:75 netbox/vpn/forms/bulk_import.py:80 -#: netbox/vpn/forms/filtersets.py:95 netbox/vpn/forms/model_forms.py:76 -#: netbox/vpn/forms/model_forms.py:111 netbox/vpn/tables/tunnels.py:81 +#: netbox/vpn/forms/filtersets.py:95 netbox/vpn/forms/model_forms.py:91 +#: netbox/vpn/forms/model_forms.py:126 netbox/vpn/forms/model_forms.py:239 +#: netbox/vpn/tables/tunnels.py:81 msgid "Role" msgstr "" @@ -919,13 +1023,14 @@ msgstr "" #: netbox/circuits/forms/bulk_import.py:102 #: netbox/circuits/forms/bulk_import.py:228 -#: netbox/dcim/forms/bulk_import.py:108 netbox/dcim/forms/bulk_import.py:167 -#: netbox/dcim/forms/bulk_import.py:284 netbox/dcim/forms/bulk_import.py:393 -#: netbox/dcim/forms/bulk_import.py:624 netbox/dcim/forms/bulk_import.py:784 -#: netbox/dcim/forms/bulk_import.py:1348 netbox/dcim/forms/bulk_import.py:1851 -#: netbox/ipam/forms/bulk_import.py:207 netbox/ipam/forms/bulk_import.py:271 -#: netbox/ipam/forms/bulk_import.py:307 netbox/ipam/forms/bulk_import.py:538 -#: netbox/ipam/forms/bulk_import.py:551 +#: netbox/dcim/forms/bulk_import.py:119 netbox/dcim/forms/bulk_import.py:178 +#: netbox/dcim/forms/bulk_import.py:301 netbox/dcim/forms/bulk_import.py:416 +#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:834 +#: netbox/dcim/forms/bulk_import.py:1535 netbox/dcim/forms/bulk_import.py:2243 +#: netbox/dcim/forms/bulk_import.py:2310 netbox/dcim/forms/bulk_import.py:2372 +#: netbox/ipam/forms/bulk_import.py:211 netbox/ipam/forms/bulk_import.py:275 +#: netbox/ipam/forms/bulk_import.py:311 netbox/ipam/forms/bulk_import.py:542 +#: netbox/ipam/forms/bulk_import.py:555 #: netbox/virtualization/forms/bulk_import.py:59 #: netbox/virtualization/forms/bulk_import.py:115 #: netbox/vpn/forms/bulk_import.py:38 netbox/vpn/forms/bulk_import.py:265 @@ -936,15 +1041,15 @@ msgstr "" #: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/bulk_import.py:174 #: netbox/circuits/forms/bulk_import.py:235 -#: netbox/dcim/forms/bulk_import.py:129 netbox/dcim/forms/bulk_import.py:174 -#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:600 -#: netbox/dcim/forms/bulk_import.py:1613 netbox/dcim/forms/bulk_import.py:1846 -#: netbox/dcim/forms/bulk_import.py:1909 netbox/ipam/forms/bulk_import.py:49 -#: netbox/ipam/forms/bulk_import.py:78 netbox/ipam/forms/bulk_import.py:106 -#: netbox/ipam/forms/bulk_import.py:126 netbox/ipam/forms/bulk_import.py:153 -#: netbox/ipam/forms/bulk_import.py:181 netbox/ipam/forms/bulk_import.py:266 -#: netbox/ipam/forms/bulk_import.py:302 netbox/ipam/forms/bulk_import.py:499 -#: netbox/ipam/forms/bulk_import.py:533 +#: netbox/dcim/forms/bulk_import.py:140 netbox/dcim/forms/bulk_import.py:185 +#: netbox/dcim/forms/bulk_import.py:423 netbox/dcim/forms/bulk_import.py:644 +#: netbox/dcim/forms/bulk_import.py:1842 netbox/dcim/forms/bulk_import.py:2238 +#: netbox/dcim/forms/bulk_import.py:2367 netbox/dcim/forms/bulk_import.py:2422 +#: netbox/ipam/forms/bulk_import.py:53 netbox/ipam/forms/bulk_import.py:82 +#: netbox/ipam/forms/bulk_import.py:110 netbox/ipam/forms/bulk_import.py:130 +#: netbox/ipam/forms/bulk_import.py:157 netbox/ipam/forms/bulk_import.py:185 +#: netbox/ipam/forms/bulk_import.py:270 netbox/ipam/forms/bulk_import.py:306 +#: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/bulk_import.py:537 #: netbox/virtualization/forms/bulk_import.py:73 #: netbox/virtualization/forms/bulk_import.py:158 #: netbox/vpn/forms/bulk_import.py:62 netbox/wireless/forms/bulk_import.py:60 @@ -982,26 +1087,26 @@ msgid "Operational role" msgstr "" #: netbox/circuits/forms/bulk_import.py:258 -#: netbox/circuits/forms/model_forms.py:402 +#: netbox/circuits/forms/model_forms.py:349 #: netbox/circuits/tables/virtual_circuits.py:109 -#: netbox/circuits/ui/panels.py:179 netbox/dcim/forms/bulk_import.py:1446 -#: netbox/dcim/forms/model_forms.py:1372 netbox/dcim/forms/model_forms.py:1641 -#: netbox/dcim/forms/model_forms.py:1822 netbox/dcim/forms/model_forms.py:1857 -#: netbox/dcim/forms/model_forms.py:1982 netbox/dcim/tables/connections.py:66 -#: netbox/dcim/tables/devices.py:1229 netbox/dcim/views.py:3577 -#: netbox/dcim/views.py:3681 netbox/ipam/forms/bulk_import.py:330 -#: netbox/ipam/forms/model_forms.py:316 netbox/ipam/forms/model_forms.py:325 +#: netbox/circuits/ui/panels.py:179 netbox/dcim/forms/bulk_import.py:1633 +#: netbox/dcim/forms/model_forms.py:1773 netbox/dcim/forms/model_forms.py:2158 +#: netbox/dcim/forms/model_forms.py:2356 netbox/dcim/forms/model_forms.py:2391 +#: netbox/dcim/forms/model_forms.py:2520 netbox/dcim/tables/connections.py:66 +#: netbox/dcim/tables/devices.py:1304 netbox/dcim/views.py:4155 +#: netbox/dcim/views.py:4263 netbox/ipam/forms/bulk_import.py:334 +#: netbox/ipam/forms/model_forms.py:340 netbox/ipam/forms/model_forms.py:349 #: netbox/ipam/tables/fhrp.py:61 netbox/ipam/tables/ip.py:328 #: netbox/ipam/tables/vlans.py:149 #: netbox/templates/circuits/circuit_termination/attrs/connection.html:40 #: netbox/templates/circuits/inc/circuit_termination_fields.html:56 #: netbox/templates/dcim/panels/interface_connection.html:83 #: netbox/templates/wireless/panels/wirelesslink_interface.html:12 -#: netbox/virtualization/forms/model_forms.py:458 -#: netbox/vpn/forms/bulk_import.py:302 netbox/vpn/forms/model_forms.py:434 -#: netbox/vpn/forms/model_forms.py:443 netbox/vpn/ui/panels.py:27 -#: netbox/wireless/forms/model_forms.py:115 -#: netbox/wireless/forms/model_forms.py:157 +#: netbox/virtualization/forms/model_forms.py:495 +#: netbox/vpn/forms/bulk_import.py:302 netbox/vpn/forms/model_forms.py:498 +#: netbox/vpn/forms/model_forms.py:507 netbox/vpn/ui/panels.py:27 +#: netbox/wireless/forms/model_forms.py:158 +#: netbox/wireless/forms/model_forms.py:200 msgid "Interface" msgstr "" @@ -1009,38 +1114,43 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:137 #: netbox/circuits/forms/filtersets.py:196 #: netbox/circuits/forms/filtersets.py:254 -#: netbox/circuits/tables/circuits.py:140 netbox/dcim/forms/bulk_edit.py:348 -#: netbox/dcim/forms/bulk_edit.py:462 netbox/dcim/forms/bulk_edit.py:701 -#: netbox/dcim/forms/bulk_edit.py:750 netbox/dcim/forms/bulk_edit.py:915 -#: netbox/dcim/forms/bulk_import.py:262 netbox/dcim/forms/bulk_import.py:372 -#: netbox/dcim/forms/bulk_import.py:663 netbox/dcim/forms/bulk_import.py:1795 -#: netbox/dcim/forms/bulk_import.py:1829 netbox/dcim/forms/filtersets.py:116 -#: netbox/dcim/forms/filtersets.py:369 netbox/dcim/forms/filtersets.py:404 -#: netbox/dcim/forms/filtersets.py:455 netbox/dcim/forms/filtersets.py:508 -#: netbox/dcim/forms/filtersets.py:860 netbox/dcim/forms/filtersets.py:904 -#: netbox/dcim/forms/filtersets.py:1082 netbox/dcim/forms/filtersets.py:1125 -#: netbox/dcim/forms/filtersets.py:1177 netbox/dcim/forms/filtersets.py:1216 -#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1314 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/filtersets.py:1354 -#: netbox/dcim/forms/filtersets.py:1483 netbox/dcim/forms/filtersets.py:1523 -#: netbox/dcim/forms/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1598 -#: netbox/dcim/forms/filtersets.py:1646 netbox/dcim/forms/filtersets.py:1814 -#: netbox/dcim/forms/filtersets.py:1858 netbox/dcim/forms/filtersets.py:1901 -#: netbox/dcim/forms/filtersets.py:1943 netbox/dcim/forms/filtersets.py:1980 -#: netbox/dcim/forms/model_forms.py:225 netbox/dcim/forms/model_forms.py:299 -#: netbox/dcim/forms/model_forms.py:620 netbox/dcim/forms/model_forms.py:906 -#: netbox/dcim/tables/devices.py:161 netbox/dcim/tables/power.py:30 -#: netbox/dcim/tables/racks.py:131 netbox/dcim/tables/racks.py:227 -#: netbox/extras/filtersets.py:745 netbox/extras/forms/filtersets.py:409 +#: netbox/circuits/tables/circuits.py:140 netbox/dcim/forms/bulk_edit.py:369 +#: netbox/dcim/forms/bulk_edit.py:493 netbox/dcim/forms/bulk_edit.py:790 +#: netbox/dcim/forms/bulk_edit.py:844 netbox/dcim/forms/bulk_edit.py:1009 +#: netbox/dcim/forms/bulk_edit.py:1120 netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:395 netbox/dcim/forms/bulk_import.py:707 +#: netbox/dcim/forms/bulk_import.py:2187 netbox/dcim/forms/bulk_import.py:2221 +#: netbox/dcim/forms/bulk_import.py:2297 netbox/dcim/forms/bulk_import.py:2350 +#: netbox/dcim/forms/filtersets.py:128 netbox/dcim/forms/filtersets.py:392 +#: netbox/dcim/forms/filtersets.py:428 netbox/dcim/forms/filtersets.py:479 +#: netbox/dcim/forms/filtersets.py:532 netbox/dcim/forms/filtersets.py:944 +#: netbox/dcim/forms/filtersets.py:989 netbox/dcim/forms/filtersets.py:1172 +#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1267 +#: netbox/dcim/forms/filtersets.py:1306 netbox/dcim/forms/filtersets.py:1330 +#: netbox/dcim/forms/filtersets.py:1404 netbox/dcim/forms/filtersets.py:1435 +#: netbox/dcim/forms/filtersets.py:1444 netbox/dcim/forms/filtersets.py:1524 +#: netbox/dcim/forms/filtersets.py:1557 netbox/dcim/forms/filtersets.py:1585 +#: netbox/dcim/forms/filtersets.py:1703 netbox/dcim/forms/filtersets.py:1743 +#: netbox/dcim/forms/filtersets.py:1783 netbox/dcim/forms/filtersets.py:1818 +#: netbox/dcim/forms/filtersets.py:1865 netbox/dcim/forms/filtersets.py:1945 +#: netbox/dcim/forms/filtersets.py:2014 netbox/dcim/forms/filtersets.py:2190 +#: netbox/dcim/forms/filtersets.py:2234 netbox/dcim/forms/filtersets.py:2277 +#: netbox/dcim/forms/filtersets.py:2329 netbox/dcim/forms/filtersets.py:2366 +#: netbox/dcim/forms/model_forms.py:249 netbox/dcim/forms/model_forms.py:363 +#: netbox/dcim/forms/model_forms.py:787 netbox/dcim/forms/model_forms.py:1098 +#: netbox/dcim/forms/model_forms.py:1179 netbox/dcim/tables/cooling.py:40 +#: netbox/dcim/tables/devices.py:167 netbox/dcim/tables/power.py:30 +#: netbox/dcim/tables/racks.py:137 netbox/dcim/tables/racks.py:240 +#: netbox/extras/filtersets.py:756 netbox/extras/forms/filtersets.py:447 #: netbox/ipam/forms/filtersets.py:261 netbox/ipam/forms/filtersets.py:467 #: netbox/ipam/forms/filtersets.py:492 netbox/ipam/forms/filtersets.py:570 -#: netbox/templates/dcim/device_edit.html:32 +#: netbox/templates/dcim/device_edit.html:39 #: netbox/templates/dcim/inc/cable_termination.html:12 #: netbox/virtualization/forms/filtersets.py:91 #: netbox/virtualization/forms/filtersets.py:162 #: netbox/wireless/forms/filtersets.py:99 -#: netbox/wireless/forms/model_forms.py:89 -#: netbox/wireless/forms/model_forms.py:131 +#: netbox/wireless/forms/model_forms.py:132 +#: netbox/wireless/forms/model_forms.py:174 msgid "Location" msgstr "" @@ -1052,39 +1162,41 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:287 #: netbox/circuits/forms/filtersets.py:326 #: netbox/circuits/forms/filtersets.py:343 netbox/core/forms/filtersets.py:34 -#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:188 -#: netbox/dcim/forms/filtersets.py:205 netbox/dcim/forms/filtersets.py:238 -#: netbox/dcim/forms/filtersets.py:285 netbox/dcim/forms/filtersets.py:294 -#: netbox/dcim/forms/filtersets.py:349 netbox/dcim/forms/filtersets.py:375 -#: netbox/dcim/forms/filtersets.py:460 netbox/dcim/forms/filtersets.py:481 -#: netbox/dcim/forms/filtersets.py:552 netbox/dcim/forms/filtersets.py:572 -#: netbox/dcim/forms/filtersets.py:697 netbox/dcim/forms/filtersets.py:716 -#: netbox/dcim/forms/filtersets.py:810 netbox/dcim/forms/filtersets.py:830 -#: netbox/dcim/forms/filtersets.py:864 netbox/dcim/forms/filtersets.py:1056 -#: netbox/dcim/forms/filtersets.py:1087 netbox/dcim/forms/filtersets.py:1179 -#: netbox/dcim/forms/filtersets.py:1222 netbox/dcim/forms/filtersets.py:1315 -#: netbox/dcim/forms/filtersets.py:1357 netbox/dcim/forms/filtersets.py:1489 -#: netbox/dcim/forms/filtersets.py:1529 netbox/dcim/forms/filtersets.py:1569 -#: netbox/dcim/forms/filtersets.py:1604 netbox/dcim/forms/filtersets.py:1653 -#: netbox/dcim/forms/filtersets.py:1820 netbox/dcim/forms/filtersets.py:1864 -#: netbox/dcim/forms/filtersets.py:1906 netbox/dcim/forms/filtersets.py:1948 -#: netbox/dcim/forms/filtersets.py:1985 netbox/dcim/forms/filtersets.py:2047 -#: netbox/dcim/forms/filtersets.py:2062 netbox/extras/forms/filtersets.py:52 -#: netbox/extras/forms/filtersets.py:132 netbox/extras/forms/filtersets.py:153 -#: netbox/extras/forms/filtersets.py:186 netbox/extras/forms/filtersets.py:249 -#: netbox/extras/forms/filtersets.py:312 netbox/extras/forms/filtersets.py:335 -#: netbox/extras/forms/filtersets.py:367 netbox/extras/forms/filtersets.py:386 -#: netbox/extras/forms/filtersets.py:413 netbox/extras/forms/filtersets.py:506 -#: netbox/ipam/forms/filtersets.py:51 netbox/ipam/forms/filtersets.py:72 -#: netbox/ipam/forms/filtersets.py:92 netbox/ipam/forms/filtersets.py:110 -#: netbox/ipam/forms/filtersets.py:132 netbox/ipam/forms/filtersets.py:156 -#: netbox/ipam/forms/filtersets.py:185 netbox/ipam/forms/filtersets.py:202 -#: netbox/ipam/forms/filtersets.py:303 netbox/ipam/forms/filtersets.py:357 -#: netbox/ipam/forms/filtersets.py:436 netbox/ipam/forms/filtersets.py:471 -#: netbox/ipam/forms/filtersets.py:533 netbox/ipam/forms/filtersets.py:574 -#: netbox/ipam/forms/filtersets.py:644 netbox/ipam/forms/filtersets.py:664 -#: netbox/netbox/navigation/menu.py:430 -#: netbox/templates/dcim/device_edit.html:104 +#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:200 +#: netbox/dcim/forms/filtersets.py:217 netbox/dcim/forms/filtersets.py:250 +#: netbox/dcim/forms/filtersets.py:297 netbox/dcim/forms/filtersets.py:306 +#: netbox/dcim/forms/filtersets.py:372 netbox/dcim/forms/filtersets.py:399 +#: netbox/dcim/forms/filtersets.py:484 netbox/dcim/forms/filtersets.py:505 +#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:598 +#: netbox/dcim/forms/filtersets.py:739 netbox/dcim/forms/filtersets.py:758 +#: netbox/dcim/forms/filtersets.py:779 netbox/dcim/forms/filtersets.py:894 +#: netbox/dcim/forms/filtersets.py:914 netbox/dcim/forms/filtersets.py:949 +#: netbox/dcim/forms/filtersets.py:1146 netbox/dcim/forms/filtersets.py:1177 +#: netbox/dcim/forms/filtersets.py:1269 netbox/dcim/forms/filtersets.py:1312 +#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1447 +#: netbox/dcim/forms/filtersets.py:1527 netbox/dcim/forms/filtersets.py:1591 +#: netbox/dcim/forms/filtersets.py:1709 netbox/dcim/forms/filtersets.py:1749 +#: netbox/dcim/forms/filtersets.py:1789 netbox/dcim/forms/filtersets.py:1824 +#: netbox/dcim/forms/filtersets.py:1870 netbox/dcim/forms/filtersets.py:1950 +#: netbox/dcim/forms/filtersets.py:2021 netbox/dcim/forms/filtersets.py:2196 +#: netbox/dcim/forms/filtersets.py:2240 netbox/dcim/forms/filtersets.py:2282 +#: netbox/dcim/forms/filtersets.py:2334 netbox/dcim/forms/filtersets.py:2371 +#: netbox/dcim/forms/filtersets.py:2433 netbox/dcim/forms/filtersets.py:2448 +#: netbox/extras/forms/filtersets.py:55 netbox/extras/forms/filtersets.py:147 +#: netbox/extras/forms/filtersets.py:168 netbox/extras/forms/filtersets.py:201 +#: netbox/extras/forms/filtersets.py:264 netbox/extras/forms/filtersets.py:329 +#: netbox/extras/forms/filtersets.py:364 netbox/extras/forms/filtersets.py:405 +#: netbox/extras/forms/filtersets.py:424 netbox/extras/forms/filtersets.py:451 +#: netbox/extras/forms/filtersets.py:544 netbox/ipam/forms/filtersets.py:51 +#: netbox/ipam/forms/filtersets.py:72 netbox/ipam/forms/filtersets.py:92 +#: netbox/ipam/forms/filtersets.py:110 netbox/ipam/forms/filtersets.py:132 +#: netbox/ipam/forms/filtersets.py:156 netbox/ipam/forms/filtersets.py:185 +#: netbox/ipam/forms/filtersets.py:202 netbox/ipam/forms/filtersets.py:303 +#: netbox/ipam/forms/filtersets.py:357 netbox/ipam/forms/filtersets.py:436 +#: netbox/ipam/forms/filtersets.py:471 netbox/ipam/forms/filtersets.py:533 +#: netbox/ipam/forms/filtersets.py:574 netbox/ipam/forms/filtersets.py:644 +#: netbox/ipam/forms/filtersets.py:676 netbox/netbox/navigation/menu.py:447 +#: netbox/templates/dcim/device_edit.html:111 #: netbox/templates/dcim/htmx/cable_edit.html:94 #: netbox/templates/dcim/virtualchassis_edit.html:39 #: netbox/templates/generic/bulk_edit.html:65 @@ -1111,15 +1223,15 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:44 #: netbox/circuits/forms/filtersets.py:79 -#: netbox/circuits/forms/filtersets.py:140 netbox/dcim/forms/filtersets.py:173 -#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/filtersets.py:206 -#: netbox/dcim/forms/filtersets.py:239 netbox/dcim/forms/filtersets.py:376 -#: netbox/dcim/forms/filtersets.py:461 netbox/dcim/forms/filtersets.py:553 -#: netbox/dcim/forms/filtersets.py:865 netbox/dcim/forms/filtersets.py:1316 -#: netbox/ipam/forms/filtersets.py:111 netbox/ipam/forms/filtersets.py:203 -#: netbox/ipam/forms/filtersets.py:304 netbox/ipam/forms/filtersets.py:358 -#: netbox/ipam/forms/filtersets.py:665 netbox/netbox/navigation/menu.py:34 -#: netbox/netbox/navigation/menu.py:36 +#: netbox/circuits/forms/filtersets.py:140 netbox/dcim/forms/filtersets.py:185 +#: netbox/dcim/forms/filtersets.py:201 netbox/dcim/forms/filtersets.py:218 +#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:400 +#: netbox/dcim/forms/filtersets.py:485 netbox/dcim/forms/filtersets.py:577 +#: netbox/dcim/forms/filtersets.py:950 netbox/dcim/forms/filtersets.py:1406 +#: netbox/dcim/forms/filtersets.py:1528 netbox/ipam/forms/filtersets.py:111 +#: netbox/ipam/forms/filtersets.py:203 netbox/ipam/forms/filtersets.py:304 +#: netbox/ipam/forms/filtersets.py:358 netbox/ipam/forms/filtersets.py:677 +#: netbox/netbox/navigation/menu.py:34 netbox/netbox/navigation/menu.py:36 #: netbox/netbox/views/generic/feature_views.py:274 #: netbox/tenancy/forms/filtersets.py:57 netbox/tenancy/tables/columns.py:56 #: netbox/tenancy/tables/contacts.py:21 @@ -1134,43 +1246,46 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:49 #: netbox/circuits/forms/filtersets.py:177 #: netbox/circuits/forms/filtersets.py:239 -#: netbox/circuits/tables/circuits.py:135 netbox/dcim/forms/bulk_edit.py:121 -#: netbox/dcim/forms/bulk_edit.py:323 netbox/dcim/forms/bulk_edit.py:890 -#: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/filtersets.py:94 -#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:217 -#: netbox/dcim/forms/filtersets.py:244 netbox/dcim/forms/filtersets.py:382 -#: netbox/dcim/forms/filtersets.py:486 netbox/dcim/forms/filtersets.py:881 -#: netbox/dcim/forms/filtersets.py:1103 netbox/dcim/forms/filtersets.py:1184 -#: netbox/dcim/forms/filtersets.py:1227 netbox/dcim/forms/filtersets.py:1322 -#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:2104 -#: netbox/dcim/forms/filtersets.py:2128 netbox/dcim/forms/filtersets.py:2152 -#: netbox/dcim/forms/model_forms.py:131 netbox/dcim/forms/object_create.py:280 -#: netbox/dcim/tables/devices.py:147 netbox/dcim/tables/sites.py:65 -#: netbox/extras/filtersets.py:712 netbox/ipam/forms/bulk_edit.py:387 -#: netbox/ipam/forms/filtersets.py:246 netbox/ipam/forms/filtersets.py:477 -#: netbox/ipam/forms/filtersets.py:580 netbox/ipam/ui/panels.py:196 -#: netbox/virtualization/forms/filtersets.py:71 +#: netbox/circuits/tables/circuits.py:135 netbox/dcim/forms/bulk_edit.py:131 +#: netbox/dcim/forms/bulk_edit.py:344 netbox/dcim/forms/bulk_edit.py:984 +#: netbox/dcim/forms/bulk_edit.py:1095 netbox/dcim/forms/bulk_import.py:122 +#: netbox/dcim/forms/filtersets.py:106 netbox/dcim/forms/filtersets.py:183 +#: netbox/dcim/forms/filtersets.py:229 netbox/dcim/forms/filtersets.py:256 +#: netbox/dcim/forms/filtersets.py:406 netbox/dcim/forms/filtersets.py:510 +#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1193 +#: netbox/dcim/forms/filtersets.py:1274 netbox/dcim/forms/filtersets.py:1317 +#: netbox/dcim/forms/filtersets.py:1412 netbox/dcim/forms/filtersets.py:1452 +#: netbox/dcim/forms/filtersets.py:1534 netbox/dcim/forms/filtersets.py:1596 +#: netbox/dcim/forms/filtersets.py:2490 netbox/dcim/forms/filtersets.py:2514 +#: netbox/dcim/forms/filtersets.py:2538 netbox/dcim/forms/model_forms.py:150 +#: netbox/dcim/forms/object_create.py:323 netbox/dcim/tables/devices.py:153 +#: netbox/dcim/tables/sites.py:65 netbox/extras/filtersets.py:723 +#: netbox/ipam/forms/bulk_edit.py:388 netbox/ipam/forms/filtersets.py:246 +#: netbox/ipam/forms/filtersets.py:477 netbox/ipam/forms/filtersets.py:580 +#: netbox/ipam/ui/panels.py:196 netbox/virtualization/forms/filtersets.py:71 #: netbox/virtualization/forms/filtersets.py:203 -#: netbox/virtualization/forms/model_forms.py:90 +#: netbox/virtualization/forms/model_forms.py:108 #: netbox/vpn/forms/filtersets.py:279 netbox/wireless/forms/filtersets.py:79 msgid "Region" msgstr "" #: netbox/circuits/forms/filtersets.py:54 #: netbox/circuits/forms/filtersets.py:182 -#: netbox/circuits/forms/filtersets.py:244 netbox/dcim/forms/bulk_edit.py:331 -#: netbox/dcim/forms/bulk_edit.py:898 netbox/dcim/forms/filtersets.py:99 -#: netbox/dcim/forms/filtersets.py:222 netbox/dcim/forms/filtersets.py:249 -#: netbox/dcim/forms/filtersets.py:395 netbox/dcim/forms/filtersets.py:491 -#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:1108 -#: netbox/dcim/forms/filtersets.py:1189 netbox/dcim/forms/filtersets.py:1327 -#: netbox/dcim/forms/filtersets.py:1367 netbox/dcim/forms/object_create.py:288 -#: netbox/extras/filtersets.py:729 netbox/ipam/forms/bulk_edit.py:392 -#: netbox/ipam/forms/filtersets.py:171 netbox/ipam/forms/filtersets.py:251 -#: netbox/ipam/forms/filtersets.py:482 netbox/ipam/forms/filtersets.py:585 +#: netbox/circuits/forms/filtersets.py:244 netbox/dcim/forms/bulk_edit.py:352 +#: netbox/dcim/forms/bulk_edit.py:992 netbox/dcim/forms/bulk_edit.py:1103 +#: netbox/dcim/forms/filtersets.py:111 netbox/dcim/forms/filtersets.py:234 +#: netbox/dcim/forms/filtersets.py:261 netbox/dcim/forms/filtersets.py:419 +#: netbox/dcim/forms/filtersets.py:515 netbox/dcim/forms/filtersets.py:971 +#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1279 +#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1457 +#: netbox/dcim/forms/filtersets.py:1539 netbox/dcim/forms/filtersets.py:1601 +#: netbox/dcim/forms/object_create.py:331 netbox/extras/filtersets.py:740 +#: netbox/ipam/forms/bulk_edit.py:393 netbox/ipam/forms/filtersets.py:171 +#: netbox/ipam/forms/filtersets.py:251 netbox/ipam/forms/filtersets.py:482 +#: netbox/ipam/forms/filtersets.py:585 #: netbox/virtualization/forms/filtersets.py:76 #: netbox/virtualization/forms/filtersets.py:208 -#: netbox/virtualization/forms/model_forms.py:96 +#: netbox/virtualization/forms/model_forms.py:114 #: netbox/wireless/forms/filtersets.py:84 msgid "Site group" msgstr "" @@ -1186,94 +1301,92 @@ msgstr "" msgid "Term Side" msgstr "" -#: netbox/circuits/forms/filtersets.py:296 netbox/dcim/forms/bulk_edit.py:1610 -#: netbox/extras/forms/model_forms.py:794 netbox/extras/ui/panels.py:446 -#: netbox/ipam/forms/filtersets.py:154 netbox/ipam/forms/filtersets.py:663 -#: netbox/ipam/forms/model_forms.py:362 netbox/ipam/ui/panels.py:122 +#: netbox/circuits/forms/filtersets.py:296 netbox/dcim/forms/bulk_edit.py:2034 +#: netbox/extras/forms/model_forms.py:820 netbox/extras/ui/panels.py:461 +#: netbox/ipam/forms/filtersets.py:154 netbox/ipam/forms/filtersets.py:675 +#: netbox/ipam/forms/model_forms.py:386 netbox/ipam/ui/panels.py:122 #: netbox/templates/ipam/vlan_edit.html:46 -#: netbox/tenancy/forms/filtersets.py:116 netbox/users/forms/model_forms.py:388 -#: netbox/users/forms/model_forms.py:430 +#: netbox/tenancy/forms/filtersets.py:116 netbox/users/forms/model_forms.py:389 +#: netbox/users/forms/model_forms.py:431 msgid "Assignment" msgstr "" #: netbox/circuits/forms/filtersets.py:311 -#: netbox/circuits/forms/model_forms.py:289 -#: netbox/circuits/tables/circuits.py:187 netbox/dcim/forms/bulk_edit.py:126 -#: netbox/dcim/forms/bulk_edit.py:356 netbox/dcim/forms/bulk_import.py:118 -#: netbox/dcim/forms/model_forms.py:137 netbox/dcim/tables/racks.py:139 -#: netbox/dcim/tables/racks.py:232 netbox/dcim/tables/sites.py:69 -#: netbox/extras/forms/filtersets.py:612 netbox/ipam/filtersets.py:1049 -#: netbox/ipam/forms/bulk_edit.py:406 netbox/ipam/forms/bulk_import.py:522 -#: netbox/ipam/forms/model_forms.py:600 netbox/ipam/tables/fhrp.py:64 +#: netbox/circuits/forms/model_forms.py:264 +#: netbox/circuits/tables/circuits.py:187 netbox/dcim/forms/bulk_edit.py:136 +#: netbox/dcim/forms/bulk_edit.py:377 netbox/dcim/forms/bulk_import.py:129 +#: netbox/dcim/forms/model_forms.py:156 netbox/dcim/tables/racks.py:145 +#: netbox/dcim/tables/racks.py:245 netbox/dcim/tables/sites.py:69 +#: netbox/extras/forms/filtersets.py:650 netbox/ipam/filtersets.py:1049 +#: netbox/ipam/forms/bulk_edit.py:407 netbox/ipam/forms/bulk_import.py:526 +#: netbox/ipam/forms/model_forms.py:645 netbox/ipam/tables/fhrp.py:64 #: netbox/ipam/tables/vlans.py:98 #: netbox/templates/dcim/panels/interface_wireless_lans.html:8 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:23 #: netbox/templates/ipam/panels/fhrp_groups.html:9 #: netbox/tenancy/forms/bulk_edit.py:44 netbox/tenancy/forms/bulk_import.py:46 #: netbox/tenancy/forms/filtersets.py:63 netbox/tenancy/forms/filtersets.py:126 -#: netbox/tenancy/forms/model_forms.py:45 -#: netbox/tenancy/forms/model_forms.py:122 netbox/tenancy/tables/tenants.py:39 +#: netbox/tenancy/forms/model_forms.py:52 +#: netbox/tenancy/forms/model_forms.py:134 netbox/tenancy/tables/tenants.py:39 #: netbox/users/filtersets.py:77 netbox/users/filtersets.py:228 #: netbox/users/forms/bulk_edit.py:161 netbox/users/forms/filtersets.py:35 #: netbox/users/forms/filtersets.py:41 netbox/users/forms/filtersets.py:76 #: netbox/users/forms/filtersets.py:165 netbox/users/forms/filtersets.py:171 -#: netbox/users/forms/model_forms.py:561 netbox/users/tables.py:186 +#: netbox/users/forms/model_forms.py:562 netbox/users/tables.py:186 #: netbox/virtualization/forms/bulk_edit.py:57 #: netbox/virtualization/forms/bulk_import.py:50 #: netbox/virtualization/forms/filtersets.py:102 -#: netbox/virtualization/forms/model_forms.py:69 +#: netbox/virtualization/forms/model_forms.py:87 #: netbox/virtualization/tables/clusters.py:71 #: netbox/vpn/forms/bulk_edit.py:100 netbox/vpn/forms/bulk_import.py:157 #: netbox/vpn/forms/filtersets.py:127 netbox/vpn/tables/crypto.py:31 #: netbox/vpn/tables/tunnels.py:45 netbox/wireless/forms/bulk_edit.py:45 #: netbox/wireless/forms/bulk_import.py:37 #: netbox/wireless/forms/filtersets.py:55 -#: netbox/wireless/forms/model_forms.py:41 +#: netbox/wireless/forms/model_forms.py:64 #: netbox/wireless/tables/wirelesslan.py:41 msgid "Group" msgstr "" -#: netbox/circuits/forms/model_forms.py:53 netbox/dcim/forms/model_forms.py:149 +#: netbox/circuits/forms/model_forms.py:56 netbox/dcim/forms/model_forms.py:168 msgid "Add ASNs" msgstr "" -#: netbox/circuits/forms/model_forms.py:58 netbox/dcim/forms/model_forms.py:154 +#: netbox/circuits/forms/model_forms.py:61 netbox/dcim/forms/model_forms.py:173 msgid "Remove ASNs" msgstr "" -#: netbox/circuits/forms/model_forms.py:79 netbox/dcim/forms/model_forms.py:200 +#: netbox/circuits/forms/model_forms.py:82 netbox/dcim/forms/model_forms.py:219 #, python-brace-format msgid "{count} ASNs currently assigned" msgstr "" -#: netbox/circuits/forms/model_forms.py:265 -#: netbox/circuits/models/circuits.py:375 -#, python-brace-format -msgid "Please select a {termination_type}." +#: netbox/circuits/forms/model_forms.py:204 +msgid "Termination side" msgstr "" -#: netbox/circuits/forms/model_forms.py:276 +#: netbox/circuits/forms/model_forms.py:246 msgid "Circuit Group" msgstr "" -#: netbox/circuits/forms/model_forms.py:296 -msgid "Circuit type" +#: netbox/circuits/forms/model_forms.py:268 +msgid "Member" msgstr "" -#: netbox/circuits/forms/model_forms.py:307 +#: netbox/circuits/forms/model_forms.py:278 msgid "Group Assignment" msgstr "" #: netbox/circuits/models/base.py:18 netbox/dcim/models/cables.py:118 -#: netbox/dcim/models/device_component_templates.py:364 -#: netbox/dcim/models/device_component_templates.py:611 -#: netbox/dcim/models/device_component_templates.py:684 -#: netbox/dcim/models/device_components.py:664 -#: netbox/dcim/models/device_components.py:1251 -#: netbox/dcim/models/device_components.py:1299 -#: netbox/dcim/models/device_components.py:1542 -#: netbox/dcim/models/devices.py:395 netbox/dcim/models/racks.py:254 -#: netbox/extras/models/tags.py:30 +#: netbox/dcim/models/device_component_templates.py:373 +#: netbox/dcim/models/device_component_templates.py:801 +#: netbox/dcim/models/device_component_templates.py:874 +#: netbox/dcim/models/device_components.py:672 +#: netbox/dcim/models/device_components.py:1522 +#: netbox/dcim/models/device_components.py:1570 +#: netbox/dcim/models/device_components.py:1805 +#: netbox/dcim/models/devices.py:430 netbox/dcim/models/modules.py:58 +#: netbox/dcim/models/racks.py:276 netbox/extras/models/tags.py:30 msgid "color" msgstr "" @@ -1297,19 +1410,20 @@ msgstr "" #: netbox/circuits/models/circuits.py:74 #: netbox/circuits/models/virtual_circuits.py:60 netbox/core/models/data.py:53 -#: netbox/core/models/jobs.py:95 netbox/dcim/models/cables.py:94 -#: netbox/dcim/models/device_components.py:635 -#: netbox/dcim/models/device_components.py:1581 -#: netbox/dcim/models/devices.py:599 netbox/dcim/models/devices.py:1265 -#: netbox/dcim/models/modules.py:269 netbox/dcim/models/power.py:95 -#: netbox/dcim/models/racks.py:329 netbox/dcim/models/racks.py:713 -#: netbox/dcim/models/sites.py:187 netbox/dcim/models/sites.py:311 -#: netbox/ipam/models/ip.py:252 netbox/ipam/models/ip.py:680 -#: netbox/ipam/models/ip.py:971 netbox/ipam/models/vlans.py:246 -#: netbox/virtualization/models/clusters.py:70 +#: netbox/core/models/jobs.py:101 netbox/dcim/models/cables.py:94 +#: netbox/dcim/models/cooling.py:46 netbox/dcim/models/cooling.py:130 +#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:1844 +#: netbox/dcim/models/devices.py:620 netbox/dcim/models/devices.py:1322 +#: netbox/dcim/models/modules.py:394 netbox/dcim/models/power.py:95 +#: netbox/dcim/models/racks.py:352 netbox/dcim/models/racks.py:736 +#: netbox/dcim/models/sites.py:176 netbox/dcim/models/sites.py:300 +#: netbox/extras/models/customfields.py:186 netbox/ipam/models/ip.py:252 +#: netbox/ipam/models/ip.py:680 netbox/ipam/models/ip.py:971 +#: netbox/ipam/models/vlans.py:246 netbox/virtualization/models/clusters.py:70 #: netbox/virtualization/models/virtualmachines.py:169 -#: netbox/vpn/models/l2vpn.py:36 netbox/vpn/models/tunnels.py:38 -#: netbox/wireless/models.py:99 netbox/wireless/models.py:156 +#: netbox/vpn/models/l2vpn.py:36 netbox/vpn/models/tunnels.py:37 +#: netbox/wireless/models.py:96 netbox/wireless/models.py:153 msgid "status" msgstr "" @@ -1350,7 +1464,7 @@ msgid "member ID" msgstr "" #: netbox/circuits/models/circuits.py:211 netbox/ipam/models/fhrp.py:99 -#: netbox/tenancy/models/contacts.py:150 +#: netbox/tenancy/models/contacts.py:151 msgid "priority" msgstr "" @@ -1400,17 +1514,17 @@ msgstr "" #: netbox/circuits/models/circuits.py:302 #: netbox/circuits/models/virtual_circuits.py:149 -#: netbox/dcim/models/device_component_templates.py:70 -#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:730 -#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:98 -#: netbox/extras/models/configs.py:289 netbox/extras/models/customfields.py:154 -#: netbox/extras/models/models.py:79 netbox/extras/models/models.py:188 -#: netbox/extras/models/models.py:471 netbox/extras/models/models.py:539 -#: netbox/extras/models/models.py:623 netbox/extras/models/models.py:766 -#: netbox/extras/models/notifications.py:132 netbox/extras/models/tags.py:34 -#: netbox/ipam/models/vlans.py:405 netbox/netbox/models/__init__.py:149 -#: netbox/netbox/models/__init__.py:188 netbox/netbox/models/__init__.py:238 -#: netbox/netbox/models/__init__.py:269 netbox/users/models/permissions.py:27 +#: netbox/dcim/models/device_component_templates.py:75 +#: netbox/dcim/models/device_components.py:76 netbox/dcim/models/racks.py:753 +#: netbox/extras/models/configs.py:47 netbox/extras/models/configs.py:100 +#: netbox/extras/models/configs.py:441 netbox/extras/models/customfields.py:205 +#: netbox/extras/models/models.py:83 netbox/extras/models/models.py:221 +#: netbox/extras/models/models.py:531 netbox/extras/models/models.py:599 +#: netbox/extras/models/models.py:683 netbox/extras/models/models.py:826 +#: netbox/extras/models/notifications.py:133 netbox/extras/models/tags.py:34 +#: netbox/ipam/models/vlans.py:405 netbox/netbox/models/__init__.py:152 +#: netbox/netbox/models/__init__.py:179 netbox/netbox/models/__init__.py:285 +#: netbox/netbox/models/__init__.py:316 netbox/users/models/permissions.py:27 #: netbox/users/models/tokens.py:46 netbox/users/models/users.py:41 #: netbox/virtualization/models/virtualmachines.py:432 msgid "description" @@ -1424,6 +1538,11 @@ msgstr "" msgid "circuit terminations" msgstr "" +#: netbox/circuits/models/circuits.py:375 +#, python-brace-format +msgid "Please select a {termination_type}." +msgstr "" + #: netbox/circuits/models/circuits.py:382 msgid "A circuit termination must attach to a terminating object." msgstr "" @@ -1432,28 +1551,29 @@ msgstr "" #: netbox/circuits/models/providers.py:63 #: netbox/circuits/models/providers.py:98 netbox/core/models/data.py:40 #: netbox/core/models/jobs.py:56 netbox/dcim/models/cables.py:56 -#: netbox/dcim/models/device_component_templates.py:56 -#: netbox/dcim/models/device_components.py:57 netbox/dcim/models/devices.py:543 -#: netbox/dcim/models/devices.py:1185 netbox/dcim/models/devices.py:1260 -#: netbox/dcim/models/modules.py:37 netbox/dcim/models/power.py:39 -#: netbox/dcim/models/power.py:90 netbox/dcim/models/racks.py:290 -#: netbox/dcim/models/sites.py:175 netbox/extras/models/configs.py:40 -#: netbox/extras/models/configs.py:82 netbox/extras/models/configs.py:285 -#: netbox/extras/models/customfields.py:121 netbox/extras/models/models.py:74 -#: netbox/extras/models/models.py:183 netbox/extras/models/models.py:361 -#: netbox/extras/models/models.py:467 netbox/extras/models/models.py:529 -#: netbox/extras/models/models.py:619 netbox/extras/models/models.py:761 -#: netbox/extras/models/notifications.py:127 netbox/extras/models/scripts.py:30 -#: netbox/ipam/models/asns.py:18 netbox/ipam/models/fhrp.py:24 -#: netbox/ipam/models/services.py:63 netbox/ipam/models/services.py:91 -#: netbox/ipam/models/vlans.py:43 netbox/ipam/models/vlans.py:235 -#: netbox/ipam/models/vlans.py:384 netbox/ipam/models/vrfs.py:20 -#: netbox/ipam/models/vrfs.py:78 netbox/netbox/models/__init__.py:180 -#: netbox/netbox/models/__init__.py:228 netbox/tenancy/models/contacts.py:85 -#: netbox/tenancy/models/tenants.py:19 netbox/tenancy/models/tenants.py:63 -#: netbox/users/models/owners.py:19 netbox/users/models/owners.py:38 -#: netbox/users/models/permissions.py:23 netbox/users/models/users.py:36 -#: netbox/virtualization/models/clusters.py:52 +#: netbox/dcim/models/cooling.py:36 netbox/dcim/models/cooling.py:125 +#: netbox/dcim/models/device_component_templates.py:61 +#: netbox/dcim/models/device_components.py:65 netbox/dcim/models/devices.py:564 +#: netbox/dcim/models/devices.py:1242 netbox/dcim/models/devices.py:1317 +#: netbox/dcim/models/modules.py:43 netbox/dcim/models/modules.py:96 +#: netbox/dcim/models/power.py:39 netbox/dcim/models/power.py:90 +#: netbox/dcim/models/racks.py:313 netbox/dcim/models/sites.py:164 +#: netbox/extras/models/configs.py:42 netbox/extras/models/configs.py:84 +#: netbox/extras/models/configs.py:437 netbox/extras/models/customfields.py:164 +#: netbox/extras/models/models.py:78 netbox/extras/models/models.py:216 +#: netbox/extras/models/models.py:421 netbox/extras/models/models.py:527 +#: netbox/extras/models/models.py:589 netbox/extras/models/models.py:679 +#: netbox/extras/models/models.py:821 netbox/extras/models/notifications.py:128 +#: netbox/extras/models/scripts.py:30 netbox/ipam/models/asns.py:18 +#: netbox/ipam/models/fhrp.py:24 netbox/ipam/models/services.py:141 +#: netbox/ipam/models/services.py:174 netbox/ipam/models/vlans.py:43 +#: netbox/ipam/models/vlans.py:235 netbox/ipam/models/vlans.py:384 +#: netbox/ipam/models/vrfs.py:20 netbox/ipam/models/vrfs.py:78 +#: netbox/netbox/models/__init__.py:171 netbox/netbox/models/__init__.py:275 +#: netbox/tenancy/models/contacts.py:86 netbox/tenancy/models/tenants.py:20 +#: netbox/tenancy/models/tenants.py:66 netbox/users/models/owners.py:19 +#: netbox/users/models/owners.py:38 netbox/users/models/permissions.py:23 +#: netbox/users/models/users.py:36 netbox/virtualization/models/clusters.py:52 #: netbox/virtualization/models/virtualmachines.py:40 #: netbox/virtualization/models/virtualmachines.py:161 #: netbox/virtualization/models/virtualmachines.py:427 @@ -1461,7 +1581,7 @@ msgstr "" #: netbox/vpn/models/crypto.py:23 netbox/vpn/models/crypto.py:69 #: netbox/vpn/models/crypto.py:128 netbox/vpn/models/crypto.py:180 #: netbox/vpn/models/crypto.py:216 netbox/vpn/models/l2vpn.py:20 -#: netbox/vpn/models/tunnels.py:32 netbox/wireless/models.py:54 +#: netbox/vpn/models/tunnels.py:31 netbox/wireless/models.py:55 msgid "name" msgstr "" @@ -1469,14 +1589,14 @@ msgstr "" msgid "Full name of the provider" msgstr "" -#: netbox/circuits/models/providers.py:28 netbox/dcim/models/devices.py:89 -#: netbox/dcim/models/racks.py:166 netbox/dcim/models/sites.py:182 -#: netbox/extras/models/models.py:534 netbox/ipam/models/asns.py:24 -#: netbox/ipam/models/vlans.py:48 netbox/netbox/models/__init__.py:184 -#: netbox/netbox/models/__init__.py:233 netbox/tenancy/models/tenants.py:25 -#: netbox/tenancy/models/tenants.py:68 +#: netbox/circuits/models/providers.py:28 netbox/dcim/models/devices.py:90 +#: netbox/dcim/models/modules.py:47 netbox/dcim/models/racks.py:187 +#: netbox/dcim/models/sites.py:171 netbox/extras/models/models.py:594 +#: netbox/ipam/models/asns.py:24 netbox/ipam/models/vlans.py:48 +#: netbox/netbox/models/__init__.py:175 netbox/netbox/models/__init__.py:280 +#: netbox/tenancy/models/tenants.py:26 netbox/tenancy/models/tenants.py:71 #: netbox/virtualization/models/virtualmachines.py:44 -#: netbox/vpn/models/l2vpn.py:26 netbox/wireless/models.py:60 +#: netbox/vpn/models/l2vpn.py:26 netbox/wireless/models.py:61 msgid "slug" msgstr "" @@ -1530,7 +1650,7 @@ msgstr "" #: netbox/circuits/models/virtual_circuits.py:138 #: netbox/ipam/models/asns.py:146 netbox/ipam/models/ip.py:209 -#: netbox/ipam/models/ip.py:978 netbox/vpn/models/tunnels.py:109 +#: netbox/ipam/models/ip.py:978 netbox/vpn/models/tunnels.py:97 msgid "role" msgstr "" @@ -1539,6 +1659,7 @@ msgid "virtual circuit termination" msgstr "" #: netbox/circuits/models/virtual_circuits.py:160 +#: netbox/dcim/models/module_moves.py:380 msgid "virtual circuit terminations" msgstr "" @@ -1547,41 +1668,44 @@ msgstr "" #: netbox/circuits/tables/providers.py:64 #: netbox/circuits/tables/providers.py:91 #: netbox/circuits/tables/virtual_circuits.py:18 netbox/core/tables/data.py:18 -#: netbox/core/tables/jobs.py:18 netbox/core/tables/plugins.py:46 +#: netbox/core/tables/jobs.py:19 netbox/core/tables/plugins.py:46 #: netbox/core/tables/tasks.py:12 netbox/core/tables/tasks.py:117 -#: netbox/dcim/forms/filtersets.py:84 netbox/dcim/forms/object_create.py:45 -#: netbox/dcim/tables/cables.py:145 netbox/dcim/tables/devices.py:139 -#: netbox/dcim/tables/devices.py:297 netbox/dcim/tables/devices.py:421 -#: netbox/dcim/tables/devices.py:462 netbox/dcim/tables/devices.py:510 -#: netbox/dcim/tables/devices.py:564 netbox/dcim/tables/devices.py:587 -#: netbox/dcim/tables/devices.py:727 netbox/dcim/tables/devices.py:749 -#: netbox/dcim/tables/devices.py:828 netbox/dcim/tables/devices.py:881 -#: netbox/dcim/tables/devices.py:959 netbox/dcim/tables/devices.py:1034 -#: netbox/dcim/tables/devices.py:1102 netbox/dcim/tables/devices.py:1121 -#: netbox/dcim/tables/devices.py:1150 netbox/dcim/tables/devices.py:1177 -#: netbox/dcim/tables/devicetypes.py:32 netbox/dcim/tables/devicetypes.py:229 -#: netbox/dcim/tables/modules.py:18 netbox/dcim/tables/power.py:22 -#: netbox/dcim/tables/power.py:59 netbox/dcim/tables/racks.py:22 -#: netbox/dcim/tables/racks.py:45 netbox/dcim/tables/racks.py:127 -#: netbox/dcim/tables/sites.py:58 netbox/extras/forms/filtersets.py:239 -#: netbox/extras/tables/tables.py:76 netbox/extras/tables/tables.py:148 -#: netbox/extras/tables/tables.py:185 netbox/extras/tables/tables.py:214 -#: netbox/extras/tables/tables.py:273 netbox/extras/tables/tables.py:316 -#: netbox/extras/tables/tables.py:350 netbox/extras/tables/tables.py:467 -#: netbox/extras/tables/tables.py:484 netbox/extras/tables/tables.py:511 -#: netbox/extras/tables/tables.py:554 netbox/extras/tables/tables.py:602 -#: netbox/extras/tables/tables.py:644 netbox/extras/tables/tables.py:674 -#: netbox/ipam/forms/bulk_edit.py:345 netbox/ipam/forms/filtersets.py:439 -#: netbox/ipam/forms/filtersets.py:537 netbox/ipam/tables/asn.py:16 -#: netbox/ipam/tables/ip.py:33 netbox/ipam/tables/ip.py:105 -#: netbox/ipam/tables/services.py:16 netbox/ipam/tables/services.py:38 -#: netbox/ipam/tables/vlans.py:33 netbox/ipam/tables/vlans.py:90 -#: netbox/ipam/tables/vlans.py:209 netbox/ipam/tables/vrfs.py:26 -#: netbox/ipam/tables/vrfs.py:65 netbox/netbox/tables/tables.py:439 -#: netbox/netbox/ui/panels.py:222 netbox/netbox/ui/panels.py:231 +#: netbox/dcim/forms/filtersets.py:96 netbox/dcim/forms/object_create.py:54 +#: netbox/dcim/tables/cables.py:155 netbox/dcim/tables/cooling.py:32 +#: netbox/dcim/tables/cooling.py:81 netbox/dcim/tables/cooling.py:271 +#: netbox/dcim/tables/cooling.py:290 netbox/dcim/tables/devices.py:145 +#: netbox/dcim/tables/devices.py:313 netbox/dcim/tables/devices.py:437 +#: netbox/dcim/tables/devices.py:478 netbox/dcim/tables/devices.py:526 +#: netbox/dcim/tables/devices.py:580 netbox/dcim/tables/devices.py:603 +#: netbox/dcim/tables/devices.py:743 netbox/dcim/tables/devices.py:765 +#: netbox/dcim/tables/devices.py:844 netbox/dcim/tables/devices.py:897 +#: netbox/dcim/tables/devices.py:975 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:1122 netbox/dcim/tables/devices.py:1141 +#: netbox/dcim/tables/devices.py:1170 netbox/dcim/tables/devices.py:1197 +#: netbox/dcim/tables/devicetypes.py:32 netbox/dcim/tables/devicetypes.py:239 +#: netbox/dcim/tables/modules.py:19 netbox/dcim/tables/modules.py:46 +#: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:59 +#: netbox/dcim/tables/racks.py:22 netbox/dcim/tables/racks.py:45 +#: netbox/dcim/tables/racks.py:133 netbox/dcim/tables/sites.py:58 +#: netbox/extras/forms/filtersets.py:254 netbox/extras/tables/tables.py:76 +#: netbox/extras/tables/tables.py:157 netbox/extras/tables/tables.py:194 +#: netbox/extras/tables/tables.py:223 netbox/extras/tables/tables.py:282 +#: netbox/extras/tables/tables.py:325 netbox/extras/tables/tables.py:359 +#: netbox/extras/tables/tables.py:476 netbox/extras/tables/tables.py:493 +#: netbox/extras/tables/tables.py:523 netbox/extras/tables/tables.py:579 +#: netbox/extras/tables/tables.py:627 netbox/extras/tables/tables.py:669 +#: netbox/extras/tables/tables.py:699 netbox/ipam/forms/bulk_edit.py:346 +#: netbox/ipam/forms/filtersets.py:439 netbox/ipam/forms/filtersets.py:537 +#: netbox/ipam/tables/asn.py:16 netbox/ipam/tables/ip.py:33 +#: netbox/ipam/tables/ip.py:105 netbox/ipam/tables/services.py:16 +#: netbox/ipam/tables/services.py:41 netbox/ipam/tables/vlans.py:33 +#: netbox/ipam/tables/vlans.py:90 netbox/ipam/tables/vlans.py:209 +#: netbox/ipam/tables/vrfs.py:26 netbox/ipam/tables/vrfs.py:65 +#: netbox/netbox/tables/tables.py:439 netbox/netbox/ui/panels.py:222 +#: netbox/netbox/ui/panels.py:231 #: netbox/templates/core/htmx/system_db_schema.html:99 #: netbox/templates/core/plugin.html:54 netbox/templates/core/rq_worker.html:43 -#: netbox/templates/dcim/cablebundle.html:17 +#: netbox/templates/dcim/cablebundle.html:13 #: netbox/templates/dcim/inc/interface_vlans_table.html:5 #: netbox/templates/dcim/inc/panels/inventory_items.html:18 #: netbox/templates/dcim/panels/component_inventory_items.html:8 @@ -1612,8 +1736,8 @@ msgstr "" #: netbox/circuits/tables/providers.py:43 #: netbox/circuits/tables/providers.py:74 #: netbox/circuits/tables/virtual_circuits.py:27 -#: netbox/netbox/navigation/menu.py:286 netbox/netbox/navigation/menu.py:290 -#: netbox/netbox/navigation/menu.py:292 +#: netbox/netbox/navigation/menu.py:289 netbox/netbox/navigation/menu.py:293 +#: netbox/netbox/navigation/menu.py:295 msgid "Circuits" msgstr "" @@ -1625,7 +1749,7 @@ msgid "Circuit ID" msgstr "" #: netbox/circuits/tables/circuits.py:70 -#: netbox/wireless/forms/model_forms.py:161 +#: netbox/wireless/forms/model_forms.py:204 msgid "Side A" msgstr "" @@ -1637,8 +1761,8 @@ msgstr "" msgid "Commit Rate" msgstr "" -#: netbox/circuits/tables/circuits.py:85 netbox/dcim/forms/filtersets.py:2061 -#: netbox/tenancy/tables/contacts.py:67 netbox/tenancy/views.py:402 +#: netbox/circuits/tables/circuits.py:85 netbox/dcim/forms/filtersets.py:2447 +#: netbox/tenancy/tables/contacts.py:67 netbox/tenancy/views.py:423 msgid "Assignments" msgstr "" @@ -1654,8 +1778,8 @@ msgstr "" msgid "Termination Point" msgstr "" -#: netbox/circuits/tables/circuits.py:130 netbox/dcim/forms/filtersets.py:187 -#: netbox/dcim/tables/devices.py:154 +#: netbox/circuits/tables/circuits.py:130 netbox/dcim/forms/filtersets.py:199 +#: netbox/dcim/tables/devices.py:160 msgid "Site Group" msgstr "" @@ -1676,49 +1800,53 @@ msgstr "" msgid "ASN Count" msgstr "" -#: netbox/circuits/tables/virtual_circuits.py:64 netbox/circuits/views.py:802 +#: netbox/circuits/tables/virtual_circuits.py:64 netbox/circuits/views.py:831 #: netbox/vpn/tables/tunnels.py:59 netbox/vpn/views.py:139 #: netbox/vpn/views.py:694 msgid "Terminations" msgstr "" #: netbox/circuits/tables/virtual_circuits.py:106 -#: netbox/dcim/forms/bulk_edit.py:749 netbox/dcim/forms/bulk_edit.py:1334 -#: netbox/dcim/forms/bulk_edit.py:1746 netbox/dcim/forms/bulk_edit.py:1800 -#: netbox/dcim/forms/bulk_import.py:764 netbox/dcim/forms/bulk_import.py:825 -#: netbox/dcim/forms/bulk_import.py:851 netbox/dcim/forms/bulk_import.py:877 -#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:954 -#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1219 -#: netbox/dcim/forms/bulk_import.py:1238 netbox/dcim/forms/bulk_import.py:1256 -#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1432 -#: netbox/dcim/forms/bulk_import.py:1899 netbox/dcim/forms/connections.py:34 -#: netbox/dcim/forms/filtersets.py:158 netbox/dcim/forms/filtersets.py:1061 -#: netbox/dcim/forms/filtersets.py:1098 netbox/dcim/forms/filtersets.py:1265 -#: netbox/dcim/forms/filtersets.py:1486 netbox/dcim/forms/filtersets.py:1509 -#: netbox/dcim/forms/filtersets.py:1526 netbox/dcim/forms/filtersets.py:1549 -#: netbox/dcim/forms/filtersets.py:1566 netbox/dcim/forms/filtersets.py:1584 -#: netbox/dcim/forms/filtersets.py:1601 netbox/dcim/forms/filtersets.py:1628 -#: netbox/dcim/forms/filtersets.py:1650 netbox/dcim/forms/filtersets.py:1772 -#: netbox/dcim/forms/filtersets.py:1817 netbox/dcim/forms/filtersets.py:1840 -#: netbox/dcim/forms/filtersets.py:1861 netbox/dcim/forms/filtersets.py:1883 -#: netbox/dcim/forms/filtersets.py:1904 netbox/dcim/forms/filtersets.py:1925 -#: netbox/dcim/forms/filtersets.py:1946 netbox/dcim/forms/filtersets.py:1963 -#: netbox/dcim/forms/filtersets.py:1983 netbox/dcim/forms/filtersets.py:2025 -#: netbox/dcim/forms/filtersets.py:2120 netbox/dcim/forms/filtersets.py:2144 -#: netbox/dcim/forms/filtersets.py:2168 netbox/dcim/forms/model_forms.py:794 -#: netbox/dcim/forms/model_forms.py:1025 netbox/dcim/forms/model_forms.py:1439 -#: netbox/dcim/forms/model_forms.py:1933 netbox/dcim/forms/model_forms.py:2006 -#: netbox/dcim/forms/object_create.py:209 netbox/dcim/tables/connections.py:23 +#: netbox/dcim/forms/bulk_edit.py:843 netbox/dcim/forms/bulk_edit.py:1693 +#: netbox/dcim/forms/bulk_edit.py:2193 netbox/dcim/forms/bulk_edit.py:2247 +#: netbox/dcim/forms/bulk_import.py:814 netbox/dcim/forms/bulk_import.py:875 +#: netbox/dcim/forms/bulk_import.py:901 netbox/dcim/forms/bulk_import.py:927 +#: netbox/dcim/forms/bulk_import.py:948 netbox/dcim/forms/bulk_import.py:1004 +#: netbox/dcim/forms/bulk_import.py:1085 netbox/dcim/forms/bulk_import.py:1141 +#: netbox/dcim/forms/bulk_import.py:1300 netbox/dcim/forms/bulk_import.py:1406 +#: netbox/dcim/forms/bulk_import.py:1425 netbox/dcim/forms/bulk_import.py:1443 +#: netbox/dcim/forms/bulk_import.py:1497 netbox/dcim/forms/bulk_import.py:1619 +#: netbox/dcim/forms/bulk_import.py:2412 netbox/dcim/forms/connections.py:34 +#: netbox/dcim/forms/filtersets.py:170 netbox/dcim/forms/filtersets.py:1151 +#: netbox/dcim/forms/filtersets.py:1188 netbox/dcim/forms/filtersets.py:1355 +#: netbox/dcim/forms/filtersets.py:1706 netbox/dcim/forms/filtersets.py:1729 +#: netbox/dcim/forms/filtersets.py:1746 netbox/dcim/forms/filtersets.py:1769 +#: netbox/dcim/forms/filtersets.py:1786 netbox/dcim/forms/filtersets.py:1804 +#: netbox/dcim/forms/filtersets.py:1821 netbox/dcim/forms/filtersets.py:1848 +#: netbox/dcim/forms/filtersets.py:1868 netbox/dcim/forms/filtersets.py:1911 +#: netbox/dcim/forms/filtersets.py:1948 netbox/dcim/forms/filtersets.py:1979 +#: netbox/dcim/forms/filtersets.py:2018 netbox/dcim/forms/filtersets.py:2148 +#: netbox/dcim/forms/filtersets.py:2193 netbox/dcim/forms/filtersets.py:2216 +#: netbox/dcim/forms/filtersets.py:2237 netbox/dcim/forms/filtersets.py:2259 +#: netbox/dcim/forms/filtersets.py:2280 netbox/dcim/forms/filtersets.py:2306 +#: netbox/dcim/forms/filtersets.py:2332 netbox/dcim/forms/filtersets.py:2349 +#: netbox/dcim/forms/filtersets.py:2369 netbox/dcim/forms/filtersets.py:2411 +#: netbox/dcim/forms/filtersets.py:2506 netbox/dcim/forms/filtersets.py:2530 +#: netbox/dcim/forms/filtersets.py:2554 netbox/dcim/forms/model_forms.py:967 +#: netbox/dcim/forms/model_forms.py:1303 netbox/dcim/forms/model_forms.py:1840 +#: netbox/dcim/forms/model_forms.py:2471 netbox/dcim/forms/model_forms.py:2544 +#: netbox/dcim/forms/object_create.py:252 netbox/dcim/tables/connections.py:23 #: netbox/dcim/tables/connections.py:42 netbox/dcim/tables/connections.py:61 -#: netbox/dcim/tables/devices.py:293 netbox/dcim/tables/devices.py:399 -#: netbox/dcim/tables/devices.py:440 netbox/dcim/tables/devices.py:482 -#: netbox/dcim/tables/devices.py:532 netbox/dcim/tables/devices.py:649 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:850 -#: netbox/dcim/tables/devices.py:903 netbox/dcim/tables/devices.py:981 -#: netbox/dcim/tables/devices.py:1055 netbox/dcim/tables/devices.py:1181 -#: netbox/dcim/tables/modules.py:84 netbox/extras/forms/filtersets.py:410 -#: netbox/ipam/forms/bulk_import.py:316 netbox/ipam/forms/filtersets.py:670 -#: netbox/ipam/forms/model_forms.py:358 netbox/ipam/tables/vlans.py:160 +#: netbox/dcim/tables/cooling.py:134 netbox/dcim/tables/cooling.py:179 +#: netbox/dcim/tables/devices.py:309 netbox/dcim/tables/devices.py:415 +#: netbox/dcim/tables/devices.py:456 netbox/dcim/tables/devices.py:498 +#: netbox/dcim/tables/devices.py:548 netbox/dcim/tables/devices.py:665 +#: netbox/dcim/tables/devices.py:813 netbox/dcim/tables/devices.py:866 +#: netbox/dcim/tables/devices.py:919 netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1075 netbox/dcim/tables/devices.py:1201 +#: netbox/dcim/tables/modules.py:120 netbox/extras/forms/filtersets.py:448 +#: netbox/ipam/forms/bulk_import.py:320 netbox/ipam/forms/filtersets.py:682 +#: netbox/ipam/forms/model_forms.py:382 netbox/ipam/tables/vlans.py:160 #: netbox/templates/dcim/device_edit.html:12 #: netbox/templates/dcim/panels/interface_connection.html:60 #: netbox/templates/dcim/panels/virtual_chassis_members.html:8 @@ -1728,18 +1856,18 @@ msgstr "" #: netbox/virtualization/forms/bulk_edit.py:148 #: netbox/virtualization/forms/bulk_import.py:138 #: netbox/virtualization/forms/filtersets.py:198 -#: netbox/virtualization/forms/model_forms.py:231 -#: netbox/virtualization/tables/virtualmachines.py:85 netbox/vpn/choices.py:52 +#: netbox/virtualization/forms/model_forms.py:261 +#: netbox/virtualization/tables/virtualmachines.py:85 netbox/vpn/choices.py:65 #: netbox/vpn/forms/bulk_import.py:85 netbox/vpn/forms/bulk_import.py:288 -#: netbox/vpn/forms/filtersets.py:297 netbox/vpn/forms/model_forms.py:88 -#: netbox/vpn/forms/model_forms.py:123 netbox/vpn/forms/model_forms.py:234 -#: netbox/vpn/forms/model_forms.py:451 netbox/wireless/forms/model_forms.py:101 -#: netbox/wireless/forms/model_forms.py:143 +#: netbox/vpn/forms/filtersets.py:297 netbox/vpn/forms/model_forms.py:103 +#: netbox/vpn/forms/model_forms.py:138 netbox/vpn/forms/model_forms.py:254 +#: netbox/vpn/forms/model_forms.py:515 netbox/wireless/forms/model_forms.py:144 +#: netbox/wireless/forms/model_forms.py:186 #: netbox/wireless/tables/wirelesslan.py:74 msgid "Device" msgstr "" -#: netbox/circuits/ui/panels.py:60 netbox/netbox/navigation/menu.py:309 +#: netbox/circuits/ui/panels.py:60 netbox/netbox/navigation/menu.py:312 msgid "Group Assignments" msgstr "" @@ -1753,21 +1881,21 @@ msgstr "" msgid "Termination point" msgstr "" -#: netbox/circuits/ui/panels.py:94 netbox/dcim/forms/filtersets.py:1488 -#: netbox/dcim/forms/filtersets.py:1528 netbox/dcim/forms/filtersets.py:1568 -#: netbox/dcim/forms/filtersets.py:1603 netbox/dcim/forms/filtersets.py:1652 -#: netbox/dcim/tables/devices.py:381 netbox/dcim/tables/devices.py:693 -#: netbox/dcim/ui/panels.py:394 netbox/dcim/ui/panels.py:530 +#: netbox/circuits/ui/panels.py:94 netbox/dcim/forms/filtersets.py:1708 +#: netbox/dcim/forms/filtersets.py:1748 netbox/dcim/forms/filtersets.py:1788 +#: netbox/dcim/forms/filtersets.py:1823 netbox/dcim/forms/filtersets.py:2020 +#: netbox/dcim/tables/devices.py:397 netbox/dcim/tables/devices.py:709 +#: netbox/dcim/ui/panels.py:487 netbox/dcim/ui/panels.py:625 #: netbox/ipam/tables/vlans.py:178 #: netbox/templates/circuits/inc/circuit_termination_fields.html:20 msgid "Connection" msgstr "" -#: netbox/circuits/ui/panels.py:99 netbox/dcim/forms/bulk_edit.py:1494 -#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/bulk_import.py:862 -#: netbox/dcim/forms/filtersets.py:1497 netbox/dcim/forms/filtersets.py:1537 -#: netbox/dcim/forms/filtersets.py:1675 netbox/dcim/tables/devices.py:662 -#: netbox/dcim/ui/panels.py:488 +#: netbox/circuits/ui/panels.py:99 netbox/dcim/forms/bulk_edit.py:1918 +#: netbox/dcim/forms/bulk_import.py:886 netbox/dcim/forms/bulk_import.py:912 +#: netbox/dcim/forms/filtersets.py:1717 netbox/dcim/forms/filtersets.py:1757 +#: netbox/dcim/forms/filtersets.py:2051 netbox/dcim/tables/devices.py:678 +#: netbox/dcim/ui/panels.py:582 #: netbox/templates/circuits/inc/circuit_termination_fields.html:68 msgid "Speed" msgstr "" @@ -1782,35 +1910,79 @@ msgstr "" msgid "Patch Panel/Port" msgstr "" +#: netbox/core/api/schema.py:207 +msgid "" +"One or more of the objects specified could not be updated. No objects were " +"modified: a bulk update is an all-or-none operation." +msgstr "" + +#: netbox/core/api/schema.py:214 +msgid "" +"The requesting user is not permitted to apply one or more of the " +"modifications specified. No objects were modified." +msgstr "" + +#: netbox/core/api/schema.py:225 +msgid "" +"The request was malformed, one or more of the objects specified could not be " +"found, or the deletion of one of them was prevented by a protection rule. No " +"objects were deleted." +msgstr "" + +#: netbox/core/api/schema.py:233 +msgid "" +"The requesting user is not permitted to delete one or more of the objects " +"specified. No objects were deleted." +msgstr "" + +#: netbox/core/api/schema.py:240 +msgid "" +"One or more of the objects specified could not be deleted, because a " +"dependent object prevents it. No objects were deleted: a bulk deletion is an " +"all-or-none operation." +msgstr "" + +#: netbox/core/api/schema.py:261 +msgid "" +"The object could not be created. Where a list was submitted, no objects were " +"created: a bulk creation is an all-or-none operation." +msgstr "" + +#: netbox/core/api/schema.py:270 +msgid "" +"The requesting user is not permitted to create one or more of the objects " +"specified. No objects were created." +msgstr "" + #: netbox/core/api/views.py:51 msgid "This user does not have permission to synchronize this data source." msgstr "" -#: netbox/core/apps.py:42 +#: netbox/core/apps.py:47 msgid "Object created" msgstr "" -#: netbox/core/apps.py:43 +#: netbox/core/apps.py:48 msgid "Object updated" msgstr "" -#: netbox/core/apps.py:44 +#: netbox/core/apps.py:49 msgid "Object deleted" msgstr "" -#: netbox/core/apps.py:45 +#: netbox/core/apps.py:50 msgid "Job started" msgstr "" -#: netbox/core/apps.py:46 +#: netbox/core/apps.py:51 msgid "Job completed" msgstr "" -#: netbox/core/apps.py:47 +#: netbox/core/apps.py:52 msgid "Job failed" msgstr "" -#: netbox/core/apps.py:48 +#: netbox/core/apps.py:53 msgid "Job errored" msgstr "" @@ -1818,30 +1990,51 @@ msgstr "" msgid "New" msgstr "" +#: netbox/core/choices.py:18 +msgid "Newly created and not yet synchronized" +msgstr "" + #: netbox/core/choices.py:19 netbox/core/constants.py:19 #: netbox/core/tables/tasks.py:16 netbox/templates/core/rq_task.html:77 msgid "Queued" msgstr "" +#: netbox/core/choices.py:19 +msgid "Queued for synchronization" +msgstr "" + #: netbox/core/choices.py:20 msgid "Syncing" msgstr "" +#: netbox/core/choices.py:20 +msgid "Synchronization in progress" +msgstr "" + #: netbox/core/choices.py:21 netbox/core/choices.py:57 -#: netbox/core/tables/jobs.py:45 +#: netbox/core/tables/jobs.py:46 msgid "Completed" msgstr "" +#: netbox/core/choices.py:21 +msgid "Most recent synchronization succeeded" +msgstr "" + #: netbox/core/choices.py:22 netbox/core/choices.py:59 #: netbox/core/constants.py:21 netbox/core/tables/tasks.py:35 -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:259 -#: netbox/dcim/choices.py:2061 netbox/dcim/choices.py:2151 -#: netbox/virtualization/choices.py:48 +#: netbox/dcim/choices.py:218 netbox/dcim/choices.py:276 +#: netbox/dcim/choices.py:2094 netbox/dcim/choices.py:2196 +#: netbox/dcim/choices.py:2212 netbox/dcim/choices.py:2298 +#: netbox/virtualization/choices.py:76 msgid "Failed" msgstr "" -#: netbox/core/choices.py:35 netbox/netbox/navigation/menu.py:370 -#: netbox/netbox/navigation/menu.py:374 +#: netbox/core/choices.py:22 +msgid "Most recent synchronization failed" +msgstr "" + +#: netbox/core/choices.py:35 netbox/netbox/navigation/menu.py:387 +#: netbox/netbox/navigation/menu.py:391 #: netbox/templates/extras/script/base.html:14 #: netbox/templates/extras/script_list.html:7 #: netbox/templates/extras/script_list.html:12 @@ -1853,36 +2046,72 @@ msgstr "" msgid "Reports" msgstr "" -#: netbox/core/choices.py:54 netbox/dcim/choices.py:154 +#: netbox/core/choices.py:54 netbox/dcim/choices.py:166 msgid "Pending" msgstr "" +#: netbox/core/choices.py:54 +msgid "Awaiting execution" +msgstr "" + #: netbox/core/choices.py:55 netbox/core/constants.py:24 -#: netbox/core/tables/jobs.py:36 netbox/core/tables/tasks.py:39 +#: netbox/core/tables/jobs.py:37 netbox/core/tables/tasks.py:39 msgid "Scheduled" msgstr "" +#: netbox/core/choices.py:55 +msgid "Scheduled to run at a future time" +msgstr "" + #: netbox/core/choices.py:56 msgid "Running" msgstr "" +#: netbox/core/choices.py:56 +msgid "Currently executing" +msgstr "" + +#: netbox/core/choices.py:57 +msgid "Finished successfully" +msgstr "" + #: netbox/core/choices.py:58 msgid "Errored" msgstr "" -#: netbox/core/choices.py:81 netbox/extras/choices.py:66 +#: netbox/core/choices.py:58 +msgid "Terminated due to an unhandled error" +msgstr "" + +#: netbox/core/choices.py:59 +msgid "Failed to complete" +msgstr "" + +#: netbox/core/choices.py:81 netbox/extras/choices.py:96 msgid "Always" msgstr "" +#: netbox/core/choices.py:81 +msgid "Notify after every job execution" +msgstr "" + #: netbox/core/choices.py:82 msgid "On failure" msgstr "" +#: netbox/core/choices.py:82 +msgid "Notify only when a job fails" +msgstr "" + #: netbox/core/choices.py:83 #: netbox/templates/extras/inc/script_list_content.html:63 msgid "Never" msgstr "" +#: netbox/core/choices.py:83 +msgid "Never send job notifications" +msgstr "" + #: netbox/core/choices.py:94 msgid "Minutely" msgstr "" @@ -1907,15 +2136,15 @@ msgstr "" msgid "30 days" msgstr "" -#: netbox/core/choices.py:114 netbox/core/tables/jobs.py:33 -#: netbox/core/tables/tasks.py:80 netbox/extras/tables/tables.py:441 -#: netbox/extras/tables/tables.py:752 -#: netbox/templates/core/configrevision.html:23 +#: netbox/core/choices.py:114 netbox/core/tables/jobs.py:34 +#: netbox/core/tables/tasks.py:80 netbox/extras/tables/tables.py:450 +#: netbox/extras/tables/tables.py:777 +#: netbox/templates/core/configrevision.html:20 #: netbox/templates/core/configrevision_restore.html:12 #: 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/generic/object.html:65 +#: netbox/templates/generic/object.html:61 #: netbox/templates/htmx/quick_add_created.html:7 netbox/users/tables.py:37 msgid "Created" msgstr "" @@ -1932,7 +2161,7 @@ msgstr "" msgid "Finished" msgstr "" -#: netbox/core/constants.py:22 netbox/core/tables/jobs.py:42 +#: netbox/core/constants.py:22 netbox/core/tables/jobs.py:43 #: netbox/templates/extras/htmx/script_result.html:8 msgid "Started" msgstr "" @@ -1949,23 +2178,23 @@ msgstr "" msgid "Cancelled" msgstr "" -#: netbox/core/constants.py:30 netbox/extras/choices.py:197 -#: netbox/extras/forms/bulk_edit.py:408 netbox/extras/forms/filtersets.py:549 -#: netbox/extras/tables/tables.py:707 +#: netbox/core/constants.py:30 netbox/extras/choices.py:227 +#: netbox/extras/forms/bulk_edit.py:419 netbox/extras/forms/filtersets.py:587 +#: netbox/extras/tables/tables.py:732 msgid "Debug" msgstr "" -#: netbox/core/constants.py:31 netbox/extras/choices.py:177 -#: netbox/extras/choices.py:198 +#: netbox/core/constants.py:31 netbox/extras/choices.py:207 +#: netbox/extras/choices.py:228 msgid "Info" msgstr "" -#: netbox/core/constants.py:32 netbox/extras/choices.py:179 -#: netbox/extras/choices.py:200 +#: netbox/core/constants.py:32 netbox/extras/choices.py:209 +#: netbox/extras/choices.py:230 msgid "Warning" msgstr "" -#: netbox/core/constants.py:33 netbox/netbox/tables/columns.py:662 +#: netbox/core/constants.py:33 netbox/netbox/tables/columns.py:722 msgid "Error" msgstr "" @@ -1986,7 +2215,7 @@ msgstr "" #: netbox/core/data_backends.py:69 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:209 +#: netbox/users/forms/model_forms.py:210 msgid "Password" msgstr "" @@ -2013,9 +2242,9 @@ msgid "" "Invalid S3 object key '{key}': resolves outside of the local data directory" msgstr "" -#: netbox/core/filtersets.py:65 netbox/extras/filtersets.py:295 -#: netbox/extras/filtersets.py:667 netbox/extras/filtersets.py:843 -#: netbox/extras/filtersets.py:874 +#: netbox/core/filtersets.py:65 netbox/extras/filtersets.py:306 +#: netbox/extras/filtersets.py:678 netbox/extras/filtersets.py:854 +#: netbox/extras/filtersets.py:885 msgid "Data source (ID)" msgstr "" @@ -2023,36 +2252,49 @@ msgstr "" msgid "Data source (name)" msgstr "" -#: netbox/core/filtersets.py:149 netbox/core/filtersets.py:217 -#: netbox/dcim/filtersets.py:598 netbox/extras/filtersets.py:336 -#: netbox/extras/filtersets.py:392 netbox/extras/filtersets.py:440 -#: netbox/extras/filtersets.py:464 netbox/extras/filtersets.py:534 +#: netbox/core/filtersets.py:136 +msgid "Execution time" +msgstr "" + +#: netbox/core/filtersets.py:141 netbox/core/forms/filtersets.py:145 +msgid "Execution time (minimum)" +msgstr "" + +#: netbox/core/filtersets.py:146 netbox/core/forms/filtersets.py:150 +msgid "Execution time (maximum)" +msgstr "" + +#: netbox/core/filtersets.py:162 netbox/core/filtersets.py:230 +#: netbox/dcim/filtersets.py:615 netbox/extras/filtersets.py:347 +#: netbox/extras/filtersets.py:403 netbox/extras/filtersets.py:451 +#: netbox/extras/filtersets.py:475 netbox/extras/filtersets.py:545 #: netbox/users/filtersets.py:31 netbox/users/filtersets.py:308 msgid "User (ID)" msgstr "" -#: netbox/core/filtersets.py:156 netbox/core/filtersets.py:224 +#: netbox/core/filtersets.py:169 netbox/core/filtersets.py:237 msgid "User name" msgstr "" -#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:47 -#: netbox/core/tables/data.py:28 netbox/dcim/choices.py:2109 -#: netbox/dcim/forms/bulk_edit.py:1155 netbox/dcim/forms/bulk_edit.py:1264 -#: netbox/dcim/forms/bulk_edit.py:1287 netbox/dcim/forms/bulk_edit.py:1456 -#: netbox/dcim/forms/filtersets.py:1687 netbox/dcim/forms/filtersets.py:1780 -#: netbox/dcim/forms/filtersets.py:1913 netbox/dcim/forms/filtersets.py:1932 -#: netbox/dcim/forms/filtersets.py:1951 netbox/dcim/forms/filtersets.py:1966 -#: netbox/dcim/tables/devices.py:592 netbox/dcim/tables/devices.py:910 -#: netbox/dcim/tables/devices.py:965 netbox/dcim/tables/devices.py:988 -#: netbox/dcim/tables/devices.py:1038 netbox/dcim/tables/devicetypes.py:233 -#: netbox/dcim/tables/devicetypes.py:293 netbox/dcim/tables/devicetypes.py:307 -#: netbox/extras/forms/bulk_edit.py:134 netbox/extras/forms/bulk_edit.py:202 -#: netbox/extras/forms/bulk_edit.py:230 netbox/extras/forms/bulk_edit.py:289 -#: netbox/extras/forms/filtersets.py:161 netbox/extras/forms/filtersets.py:257 -#: netbox/extras/forms/filtersets.py:288 netbox/extras/forms/filtersets.py:353 -#: netbox/extras/tables/tables.py:192 netbox/extras/tables/tables.py:323 -#: netbox/extras/tables/tables.py:360 netbox/extras/tables/tables.py:526 -#: netbox/netbox/preferences.py:46 netbox/netbox/preferences.py:71 +#: netbox/core/forms/bulk_edit.py:26 netbox/core/forms/filtersets.py:47 +#: netbox/core/tables/data.py:28 netbox/dcim/choices.py:2142 +#: netbox/dcim/forms/bulk_edit.py:1500 netbox/dcim/forms/bulk_edit.py:1609 +#: netbox/dcim/forms/bulk_edit.py:1646 netbox/dcim/forms/bulk_edit.py:1880 +#: netbox/dcim/forms/bulk_edit.py:2148 netbox/dcim/forms/bulk_edit.py:2176 +#: netbox/dcim/forms/filtersets.py:2063 netbox/dcim/forms/filtersets.py:2156 +#: netbox/dcim/forms/filtersets.py:2289 netbox/dcim/forms/filtersets.py:2313 +#: netbox/dcim/forms/filtersets.py:2337 netbox/dcim/forms/filtersets.py:2352 +#: netbox/dcim/tables/devices.py:608 netbox/dcim/tables/devices.py:926 +#: netbox/dcim/tables/devices.py:981 netbox/dcim/tables/devices.py:1004 +#: netbox/dcim/tables/devices.py:1058 netbox/dcim/tables/devicetypes.py:243 +#: netbox/dcim/tables/devicetypes.py:303 netbox/dcim/tables/devicetypes.py:321 +#: netbox/extras/forms/bulk_edit.py:139 netbox/extras/forms/bulk_edit.py:207 +#: netbox/extras/forms/bulk_edit.py:235 netbox/extras/forms/bulk_edit.py:300 +#: netbox/extras/forms/filtersets.py:176 netbox/extras/forms/filtersets.py:272 +#: netbox/extras/forms/filtersets.py:303 netbox/extras/forms/filtersets.py:391 +#: netbox/extras/tables/tables.py:201 netbox/extras/tables/tables.py:332 +#: netbox/extras/tables/tables.py:369 netbox/extras/tables/tables.py:538 +#: netbox/netbox/preferences.py:47 netbox/netbox/preferences.py:72 #: netbox/users/forms/bulk_edit.py:87 netbox/users/forms/bulk_edit.py:105 #: netbox/users/forms/filtersets.py:67 netbox/users/forms/filtersets.py:133 #: netbox/users/tables.py:30 netbox/users/tables.py:113 @@ -2061,278 +2303,286 @@ msgstr "" msgid "Enabled" msgstr "" -#: netbox/core/forms/bulk_edit.py:30 netbox/core/forms/filtersets.py:54 +#: netbox/core/forms/bulk_edit.py:31 netbox/core/forms/filtersets.py:54 #: netbox/core/tables/data.py:31 netbox/core/ui/panels.py:12 msgid "Sync interval" msgstr "" -#: netbox/core/forms/bulk_edit.py:33 netbox/extras/forms/model_forms.py:388 +#: netbox/core/forms/bulk_edit.py:34 netbox/extras/forms/model_forms.py:429 #: netbox/extras/views.py:399 netbox/vpn/forms/filtersets.py:107 #: netbox/vpn/forms/filtersets.py:138 netbox/vpn/forms/filtersets.py:163 -#: netbox/vpn/forms/filtersets.py:183 netbox/vpn/forms/model_forms.py:299 -#: netbox/vpn/forms/model_forms.py:320 netbox/vpn/forms/model_forms.py:336 -#: netbox/vpn/forms/model_forms.py:357 netbox/vpn/forms/model_forms.py:379 +#: netbox/vpn/forms/filtersets.py:183 netbox/vpn/forms/model_forms.py:335 +#: netbox/vpn/forms/model_forms.py:361 netbox/vpn/forms/model_forms.py:387 +#: netbox/vpn/forms/model_forms.py:408 netbox/vpn/forms/model_forms.py:434 msgid "Parameters" msgstr "" -#: netbox/core/forms/bulk_edit.py:37 netbox/core/ui/panels.py:22 +#: netbox/core/forms/bulk_edit.py:38 netbox/core/ui/panels.py:22 msgid "Ignore rules" msgstr "" -#: netbox/core/forms/filtersets.py:33 netbox/core/forms/model_forms.py:100 -#: netbox/core/ui/panels.py:7 netbox/extras/forms/model_forms.py:349 -#: netbox/extras/forms/model_forms.py:701 -#: netbox/extras/forms/model_forms.py:790 -#: netbox/extras/forms/model_forms.py:843 netbox/extras/tables/tables.py:234 -#: netbox/extras/tables/tables.py:606 netbox/extras/tables/tables.py:636 -#: netbox/extras/tables/tables.py:678 +#: netbox/core/forms/filtersets.py:33 netbox/core/forms/model_forms.py:101 +#: netbox/core/ui/panels.py:7 netbox/extras/forms/model_forms.py:390 +#: netbox/extras/forms/model_forms.py:727 +#: netbox/extras/forms/model_forms.py:816 +#: netbox/extras/forms/model_forms.py:869 netbox/extras/tables/tables.py:243 +#: netbox/extras/tables/tables.py:631 netbox/extras/tables/tables.py:661 +#: netbox/extras/tables/tables.py:703 #: netbox/templates/core/inc/datafile_panel.html:7 #: netbox/templates/extras/object_render_config.html:19 msgid "Data Source" msgstr "" #: netbox/core/forms/filtersets.py:65 netbox/core/forms/mixins.py:21 -#: netbox/extras/ui/panels.py:492 +#: netbox/extras/ui/panels.py:507 msgid "File" msgstr "" #: netbox/core/forms/filtersets.py:70 netbox/core/forms/mixins.py:16 -#: netbox/extras/forms/bulk_import.py:201 netbox/extras/forms/filtersets.py:191 -#: netbox/extras/forms/filtersets.py:391 netbox/extras/forms/filtersets.py:423 -#: netbox/extras/forms/filtersets.py:511 +#: netbox/extras/forms/bulk_import.py:202 netbox/extras/forms/filtersets.py:206 +#: netbox/extras/forms/filtersets.py:429 netbox/extras/forms/filtersets.py:461 +#: netbox/extras/forms/filtersets.py:549 msgid "Data source" msgstr "" -#: netbox/core/forms/filtersets.py:81 netbox/extras/forms/filtersets.py:571 -msgid "Creation" +#: netbox/core/forms/filtersets.py:81 netbox/core/ui/panels.py:60 +msgid "Scheduling" msgstr "" -#: netbox/core/forms/filtersets.py:85 netbox/core/forms/filtersets.py:175 -#: netbox/extras/forms/filtersets.py:592 netbox/extras/tables/tables.py:287 -#: netbox/extras/tables/tables.py:354 netbox/extras/tables/tables.py:380 -#: netbox/extras/tables/tables.py:399 netbox/extras/tables/tables.py:432 -#: netbox/extras/tables/tables.py:757 netbox/tenancy/tables/contacts.py:84 +#: netbox/core/forms/filtersets.py:83 +msgid "Execution" +msgstr "" + +#: netbox/core/forms/filtersets.py:86 netbox/core/forms/filtersets.py:186 +#: netbox/extras/forms/filtersets.py:630 netbox/extras/tables/tables.py:296 +#: netbox/extras/tables/tables.py:363 netbox/extras/tables/tables.py:389 +#: netbox/extras/tables/tables.py:408 netbox/extras/tables/tables.py:441 +#: netbox/extras/tables/tables.py:782 netbox/tenancy/tables/contacts.py:84 #: netbox/vpn/tables/l2vpn.py:59 msgid "Object Type" msgstr "" -#: netbox/core/forms/filtersets.py:95 netbox/core/tables/jobs.py:48 -#: netbox/core/ui/panels.py:65 netbox/templates/core/rq_task.html:61 +#: netbox/core/forms/filtersets.py:96 netbox/core/tables/jobs.py:52 +#: netbox/core/ui/panels.py:66 netbox/templates/core/rq_task.html:61 msgid "Queue" msgstr "" -#: netbox/core/forms/filtersets.py:99 +#: netbox/core/forms/filtersets.py:100 msgid "Created after" msgstr "" -#: netbox/core/forms/filtersets.py:104 +#: netbox/core/forms/filtersets.py:105 msgid "Created before" msgstr "" -#: netbox/core/forms/filtersets.py:109 +#: netbox/core/forms/filtersets.py:110 msgid "Scheduled after" msgstr "" -#: netbox/core/forms/filtersets.py:114 +#: netbox/core/forms/filtersets.py:115 msgid "Scheduled before" msgstr "" -#: netbox/core/forms/filtersets.py:119 +#: netbox/core/forms/filtersets.py:120 msgid "Started after" msgstr "" -#: netbox/core/forms/filtersets.py:124 +#: netbox/core/forms/filtersets.py:125 msgid "Started before" msgstr "" -#: netbox/core/forms/filtersets.py:129 +#: netbox/core/forms/filtersets.py:130 msgid "Completed after" msgstr "" -#: netbox/core/forms/filtersets.py:134 +#: netbox/core/forms/filtersets.py:135 msgid "Completed before" msgstr "" -#: netbox/core/forms/filtersets.py:141 netbox/core/forms/filtersets.py:170 -#: netbox/core/ui/panels.py:73 netbox/dcim/forms/bulk_edit.py:481 -#: netbox/dcim/forms/filtersets.py:535 netbox/dcim/forms/model_forms.py:381 -#: netbox/extras/forms/filtersets.py:587 netbox/extras/forms/filtersets.py:607 -#: netbox/extras/tables/tables.py:407 netbox/extras/tables/tables.py:448 +#: netbox/core/forms/filtersets.py:142 netbox/core/forms/filtersets.py:181 +#: netbox/core/ui/panels.py:74 netbox/dcim/forms/bulk_edit.py:514 +#: netbox/dcim/forms/filtersets.py:559 netbox/dcim/forms/model_forms.py:473 +#: netbox/extras/forms/filtersets.py:625 netbox/extras/forms/filtersets.py:645 +#: netbox/extras/tables/tables.py:416 netbox/extras/tables/tables.py:457 #: netbox/templates/inc/user_menu.html:31 netbox/users/filtersets.py:135 #: netbox/users/filtersets.py:217 netbox/users/forms/filtersets.py:81 -#: netbox/users/forms/filtersets.py:126 netbox/users/forms/model_forms.py:174 -#: netbox/users/forms/model_forms.py:231 netbox/users/tables.py:22 +#: netbox/users/forms/filtersets.py:126 netbox/users/forms/model_forms.py:175 +#: netbox/users/forms/model_forms.py:232 netbox/users/tables.py:22 msgid "User" msgstr "" -#: netbox/core/forms/filtersets.py:149 netbox/core/tables/change_logging.py:16 -#: netbox/core/tables/jobs.py:74 netbox/extras/tables/tables.py:795 -#: netbox/extras/tables/tables.py:850 +#: netbox/core/forms/filtersets.py:147 netbox/core/forms/filtersets.py:152 +msgid "Seconds, or HH:MM:SS" +msgstr "" + +#: netbox/core/forms/filtersets.py:160 netbox/core/tables/change_logging.py:16 +#: netbox/core/tables/jobs.py:87 netbox/extras/tables/tables.py:820 +#: netbox/extras/tables/tables.py:875 msgid "Time" msgstr "" -#: netbox/core/forms/filtersets.py:154 netbox/extras/forms/filtersets.py:576 +#: netbox/core/forms/filtersets.py:165 netbox/extras/forms/filtersets.py:614 msgid "After" msgstr "" -#: netbox/core/forms/filtersets.py:159 netbox/extras/forms/filtersets.py:581 +#: netbox/core/forms/filtersets.py:170 netbox/extras/forms/filtersets.py:619 msgid "Before" msgstr "" -#: netbox/core/forms/filtersets.py:163 netbox/core/tables/change_logging.py:30 -#: netbox/extras/forms/model_forms.py:578 netbox/extras/ui/panels.py:375 +#: netbox/core/forms/filtersets.py:174 netbox/core/tables/change_logging.py:30 +#: netbox/extras/forms/model_forms.py:630 netbox/extras/ui/panels.py:390 msgid "Action" msgstr "" -#: netbox/core/forms/model_forms.py:55 netbox/core/tables/data.py:57 +#: netbox/core/forms/model_forms.py:56 netbox/core/tables/data.py:57 #: netbox/templates/extras/report/base.html:33 #: netbox/templates/extras/script/base.html:32 msgid "Source" msgstr "" -#: netbox/core/forms/model_forms.py:57 netbox/templates/core/datasource.html:10 +#: netbox/core/forms/model_forms.py:58 netbox/templates/core/datasource.html:10 #: netbox/templates/core/datasource.html:16 #: netbox/utilities/templatetags/buttons.py:156 msgid "Sync" msgstr "" -#: netbox/core/forms/model_forms.py:61 +#: netbox/core/forms/model_forms.py:62 msgid "Backend Parameters" msgstr "" -#: netbox/core/forms/model_forms.py:99 +#: netbox/core/forms/model_forms.py:100 msgid "File Upload" msgstr "" -#: netbox/core/forms/model_forms.py:111 +#: netbox/core/forms/model_forms.py:112 msgid "Cannot upload a file and sync from an existing file" msgstr "" -#: netbox/core/forms/model_forms.py:113 +#: netbox/core/forms/model_forms.py:114 msgid "Must upload a file or select a data file to sync" msgstr "" -#: netbox/core/forms/model_forms.py:147 +#: netbox/core/forms/model_forms.py:148 #: netbox/templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" msgstr "" -#: netbox/core/forms/model_forms.py:151 netbox/dcim/choices.py:1980 -#: netbox/dcim/forms/bulk_edit.py:990 netbox/dcim/forms/bulk_edit.py:1410 -#: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/tables/racks.py:172 -#: netbox/netbox/navigation/menu.py:324 netbox/netbox/navigation/menu.py:328 +#: netbox/core/forms/model_forms.py:152 netbox/dcim/choices.py:2004 +#: netbox/dcim/forms/bulk_edit.py:1084 netbox/dcim/forms/bulk_edit.py:1769 +#: netbox/dcim/forms/bulk_edit.py:1790 netbox/dcim/tables/racks.py:178 +#: netbox/netbox/navigation/menu.py:327 netbox/netbox/navigation/menu.py:331 msgid "Power" msgstr "" -#: netbox/core/forms/model_forms.py:153 netbox/netbox/navigation/menu.py:171 +#: netbox/core/forms/model_forms.py:154 netbox/netbox/navigation/menu.py:174 #: netbox/templates/core/inc/config_data.html:37 msgid "IPAM" msgstr "" -#: netbox/core/forms/model_forms.py:154 netbox/netbox/navigation/menu.py:249 +#: netbox/core/forms/model_forms.py:155 netbox/netbox/navigation/menu.py:252 #: netbox/templates/core/inc/config_data.html:50 #: netbox/vpn/forms/bulk_edit.py:65 netbox/vpn/forms/filtersets.py:51 -#: netbox/vpn/forms/model_forms.py:59 netbox/vpn/forms/model_forms.py:144 +#: netbox/vpn/forms/model_forms.py:74 netbox/vpn/forms/model_forms.py:159 msgid "Security" msgstr "" -#: netbox/core/forms/model_forms.py:155 +#: netbox/core/forms/model_forms.py:156 #: netbox/templates/core/inc/config_data.html:59 msgid "Banners" msgstr "" -#: netbox/core/forms/model_forms.py:156 +#: netbox/core/forms/model_forms.py:157 #: netbox/templates/core/inc/config_data.html:80 msgid "Pagination" msgstr "" -#: netbox/core/forms/model_forms.py:157 netbox/extras/forms/bulk_edit.py:102 -#: netbox/extras/forms/filtersets.py:51 netbox/extras/forms/model_forms.py:132 -#: netbox/extras/forms/model_forms.py:145 -#: netbox/extras/forms/model_forms.py:156 +#: netbox/core/forms/model_forms.py:158 netbox/extras/forms/bulk_edit.py:107 +#: netbox/extras/forms/filtersets.py:54 netbox/extras/forms/model_forms.py:161 +#: netbox/extras/forms/model_forms.py:174 +#: netbox/extras/forms/model_forms.py:185 #: netbox/templates/core/inc/config_data.html:93 msgid "Validation" msgstr "" -#: netbox/core/forms/model_forms.py:158 +#: netbox/core/forms/model_forms.py:159 #: netbox/templates/account/preferences.html:6 msgid "User Preferences" msgstr "" -#: netbox/core/forms/model_forms.py:159 netbox/netbox/navigation/menu.py:410 +#: netbox/core/forms/model_forms.py:160 netbox/netbox/navigation/menu.py:427 #: netbox/templates/core/objectchange.html:7 #: netbox/templates/core/objectchange_list.html:4 msgid "Change Log" msgstr "" -#: netbox/core/forms/model_forms.py:162 netbox/dcim/forms/filtersets.py:874 +#: netbox/core/forms/model_forms.py:163 netbox/dcim/forms/filtersets.py:959 #: netbox/templates/core/inc/config_data.html:140 -#: netbox/users/forms/model_forms.py:78 +#: netbox/users/forms/model_forms.py:79 msgid "Miscellaneous" msgstr "" -#: netbox/core/forms/model_forms.py:164 +#: netbox/core/forms/model_forms.py:165 msgid "Config Revision" msgstr "" -#: netbox/core/forms/model_forms.py:197 +#: netbox/core/forms/model_forms.py:198 msgid "This parameter has been defined statically and cannot be modified." msgstr "" -#: netbox/core/forms/model_forms.py:205 +#: netbox/core/forms/model_forms.py:206 #, python-brace-format msgid "Current value: {value}" msgstr "" -#: netbox/core/forms/model_forms.py:207 +#: netbox/core/forms/model_forms.py:208 msgid " (default)" msgstr "" -#: netbox/core/models/change_logging.py:28 +#: netbox/core/models/change_logging.py:27 msgid "time" msgstr "" -#: netbox/core/models/change_logging.py:41 +#: netbox/core/models/change_logging.py:40 msgid "user name" msgstr "" -#: netbox/core/models/change_logging.py:46 +#: netbox/core/models/change_logging.py:45 msgid "request ID" msgstr "" -#: netbox/core/models/change_logging.py:51 +#: netbox/core/models/change_logging.py:50 msgid "action" msgstr "" -#: netbox/core/models/change_logging.py:85 +#: netbox/core/models/change_logging.py:84 msgid "message" msgstr "" -#: netbox/core/models/change_logging.py:91 +#: netbox/core/models/change_logging.py:90 msgid "pre-change data" msgstr "" -#: netbox/core/models/change_logging.py:97 +#: netbox/core/models/change_logging.py:96 msgid "post-change data" msgstr "" -#: netbox/core/models/change_logging.py:111 +#: netbox/core/models/change_logging.py:110 msgid "object change" msgstr "" -#: netbox/core/models/change_logging.py:112 +#: netbox/core/models/change_logging.py:111 msgid "object changes" msgstr "" -#: netbox/core/models/change_logging.py:128 +#: netbox/core/models/change_logging.py:127 #, python-brace-format msgid "Change logging is not supported for this object type ({type})." msgstr "" -#: netbox/core/models/config.py:22 netbox/core/models/data.py:290 +#: netbox/core/models/config.py:22 netbox/core/models/data.py:292 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:60 -#: netbox/extras/models/models.py:972 netbox/extras/models/notifications.py:39 -#: netbox/extras/models/notifications.py:196 +#: netbox/extras/models/models.py:1032 netbox/extras/models/notifications.py:40 +#: netbox/extras/models/notifications.py:197 #: netbox/netbox/models/features.py:63 netbox/users/models/tokens.py:51 msgid "created" msgstr "" @@ -2367,21 +2617,26 @@ msgid "Config revision #{id}" msgstr "" #: netbox/core/models/data.py:45 netbox/dcim/models/cables.py:87 -#: netbox/dcim/models/device_component_templates.py:221 -#: netbox/dcim/models/device_component_templates.py:256 -#: netbox/dcim/models/device_component_templates.py:292 -#: netbox/dcim/models/device_component_templates.py:357 -#: netbox/dcim/models/device_component_templates.py:448 -#: netbox/dcim/models/device_component_templates.py:606 -#: netbox/dcim/models/device_component_templates.py:679 -#: netbox/dcim/models/device_components.py:441 -#: netbox/dcim/models/device_components.py:468 -#: netbox/dcim/models/device_components.py:499 -#: netbox/dcim/models/device_components.py:641 -#: netbox/dcim/models/device_components.py:859 -#: netbox/dcim/models/device_components.py:1246 -#: netbox/dcim/models/device_components.py:1294 netbox/dcim/models/power.py:101 -#: netbox/extras/models/customfields.py:107 netbox/extras/models/search.py:42 +#: netbox/dcim/models/cooling.py:41 +#: netbox/dcim/models/device_component_templates.py:230 +#: netbox/dcim/models/device_component_templates.py:265 +#: netbox/dcim/models/device_component_templates.py:301 +#: netbox/dcim/models/device_component_templates.py:366 +#: netbox/dcim/models/device_component_templates.py:450 +#: netbox/dcim/models/device_component_templates.py:500 +#: netbox/dcim/models/device_component_templates.py:583 +#: netbox/dcim/models/device_component_templates.py:796 +#: netbox/dcim/models/device_component_templates.py:869 +#: netbox/dcim/models/device_components.py:449 +#: netbox/dcim/models/device_components.py:476 +#: netbox/dcim/models/device_components.py:507 +#: netbox/dcim/models/device_components.py:649 +#: netbox/dcim/models/device_components.py:712 +#: netbox/dcim/models/device_components.py:753 +#: netbox/dcim/models/device_components.py:1028 +#: netbox/dcim/models/device_components.py:1517 +#: netbox/dcim/models/device_components.py:1565 netbox/dcim/models/power.py:101 +#: netbox/extras/models/customfields.py:150 netbox/extras/models/search.py:42 #: netbox/virtualization/models/clusters.py:57 #: netbox/virtualization/models/virtualmachines.py:121 #: netbox/vpn/models/l2vpn.py:31 @@ -2389,20 +2644,20 @@ msgid "type" msgstr "" #: netbox/core/models/data.py:50 netbox/core/ui/panels.py:17 -#: netbox/extras/choices.py:37 netbox/extras/models/models.py:194 -#: netbox/extras/tables/tables.py:860 netbox/templates/core/plugin.html:66 +#: netbox/extras/choices.py:37 netbox/extras/models/models.py:227 +#: netbox/extras/tables/tables.py:885 netbox/templates/core/plugin.html:66 msgid "URL" msgstr "" #: netbox/core/models/data.py:60 -#: netbox/dcim/models/device_component_templates.py:453 -#: netbox/dcim/models/device_component_templates.py:749 -#: netbox/dcim/models/device_component_templates.py:784 -#: netbox/dcim/models/device_components.py:696 -#: netbox/dcim/models/device_components.py:1379 -#: netbox/dcim/models/device_components.py:1481 -#: netbox/extras/models/models.py:88 netbox/extras/models/models.py:366 -#: netbox/extras/models/models.py:554 netbox/extras/models/models.py:638 +#: netbox/dcim/models/device_component_templates.py:608 +#: netbox/dcim/models/device_component_templates.py:939 +#: netbox/dcim/models/device_component_templates.py:993 +#: netbox/dcim/models/device_components.py:799 +#: netbox/dcim/models/device_components.py:1627 +#: netbox/dcim/models/device_components.py:1744 +#: netbox/extras/models/models.py:92 netbox/extras/models/models.py:426 +#: netbox/extras/models/models.py:614 netbox/extras/models/models.py:698 #: netbox/users/models/permissions.py:32 netbox/users/models/tokens.py:65 msgid "enabled" msgstr "" @@ -2419,7 +2674,7 @@ msgstr "" msgid "Patterns (one per line) matching files or paths to ignore when syncing" msgstr "" -#: netbox/core/models/data.py:75 netbox/extras/models/models.py:562 +#: netbox/core/models/data.py:75 netbox/extras/models/models.py:622 msgid "parameters" msgstr "" @@ -2455,49 +2710,49 @@ msgid "" "installed: " msgstr "" -#: netbox/core/models/data.py:294 netbox/core/models/files.py:34 +#: netbox/core/models/data.py:296 netbox/core/models/files.py:34 #: netbox/netbox/models/features.py:69 msgid "last updated" msgstr "" -#: netbox/core/models/data.py:304 netbox/dcim/models/cables.py:765 +#: netbox/core/models/data.py:306 netbox/dcim/models/cables.py:797 msgid "path" msgstr "" -#: netbox/core/models/data.py:307 +#: netbox/core/models/data.py:309 msgid "File path relative to the data source's root" msgstr "" -#: netbox/core/models/data.py:311 netbox/ipam/models/ip.py:661 +#: netbox/core/models/data.py:313 netbox/ipam/models/ip.py:661 #: netbox/virtualization/models/virtualmachines.py:570 msgid "size" msgstr "" -#: netbox/core/models/data.py:314 +#: netbox/core/models/data.py:316 msgid "hash" msgstr "" -#: netbox/core/models/data.py:318 +#: netbox/core/models/data.py:320 msgid "Length must be 64 hexadecimal characters." msgstr "" -#: netbox/core/models/data.py:320 +#: netbox/core/models/data.py:322 msgid "SHA256 hash of the file data" msgstr "" -#: netbox/core/models/data.py:334 +#: netbox/core/models/data.py:336 msgid "data file" msgstr "" -#: netbox/core/models/data.py:335 +#: netbox/core/models/data.py:337 msgid "data files" msgstr "" -#: netbox/core/models/data.py:408 +#: netbox/core/models/data.py:410 msgid "auto sync record" msgstr "" -#: netbox/core/models/data.py:409 +#: netbox/core/models/data.py:411 msgid "auto sync records" msgstr "" @@ -2546,53 +2801,57 @@ msgstr "" msgid "completed" msgstr "" -#: netbox/core/models/jobs.py:101 netbox/extras/models/models.py:119 +#: netbox/core/models/jobs.py:88 +msgid "execution time" +msgstr "" + +#: netbox/core/models/jobs.py:107 netbox/extras/models/models.py:127 msgid "data" msgstr "" -#: netbox/core/models/jobs.py:107 +#: netbox/core/models/jobs.py:113 msgid "error" msgstr "" -#: netbox/core/models/jobs.py:112 +#: netbox/core/models/jobs.py:118 msgid "job ID" msgstr "" -#: netbox/core/models/jobs.py:116 +#: netbox/core/models/jobs.py:122 msgid "queue name" msgstr "" -#: netbox/core/models/jobs.py:119 +#: netbox/core/models/jobs.py:125 msgid "Name of the queue in which this job was enqueued" msgstr "" -#: netbox/core/models/jobs.py:122 netbox/extras/models/notifications.py:86 +#: netbox/core/models/jobs.py:128 netbox/extras/models/notifications.py:87 msgid "notifications" msgstr "" -#: netbox/core/models/jobs.py:128 +#: netbox/core/models/jobs.py:134 msgid "log entries" msgstr "" -#: netbox/core/models/jobs.py:145 +#: netbox/core/models/jobs.py:151 msgid "job" msgstr "" -#: netbox/core/models/jobs.py:146 +#: netbox/core/models/jobs.py:152 msgid "jobs" msgstr "" -#: netbox/core/models/jobs.py:176 +#: netbox/core/models/jobs.py:182 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "" -#: netbox/core/models/jobs.py:234 +#: netbox/core/models/jobs.py:240 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" -#: netbox/core/models/jobs.py:298 +#: netbox/core/models/jobs.py:306 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2601,7 +2860,7 @@ msgstr "" msgid "object type" msgstr "" -#: netbox/core/models/object_types.py:205 netbox/extras/models/models.py:70 +#: netbox/core/models/object_types.py:205 netbox/extras/models/models.py:74 msgid "object types" msgstr "" @@ -2619,24 +2878,26 @@ msgstr "" msgid "Full Name" msgstr "" -#: netbox/core/tables/change_logging.py:38 netbox/core/tables/jobs.py:25 -#: netbox/core/ui/panels.py:83 netbox/extras/choices.py:41 -#: netbox/extras/tables/tables.py:290 netbox/extras/tables/tables.py:383 -#: netbox/extras/tables/tables.py:402 netbox/extras/tables/tables.py:435 -#: netbox/extras/tables/tables.py:518 netbox/extras/tables/tables.py:589 -#: netbox/extras/tables/tables.py:762 netbox/extras/tables/tables.py:803 -#: netbox/extras/tables/tables.py:857 netbox/extras/ui/panels.py:378 -#: netbox/extras/ui/panels.py:507 netbox/netbox/tables/tables.py:457 -#: netbox/tenancy/tables/contacts.py:87 netbox/vpn/tables/l2vpn.py:64 +#: netbox/core/tables/change_logging.py:38 netbox/core/tables/jobs.py:26 +#: netbox/core/ui/panels.py:84 netbox/extras/choices.py:45 +#: netbox/extras/tables/tables.py:299 netbox/extras/tables/tables.py:392 +#: netbox/extras/tables/tables.py:411 netbox/extras/tables/tables.py:444 +#: netbox/extras/tables/tables.py:530 netbox/extras/tables/tables.py:614 +#: netbox/extras/tables/tables.py:787 netbox/extras/tables/tables.py:828 +#: netbox/extras/tables/tables.py:882 netbox/extras/ui/panels.py:393 +#: netbox/extras/ui/panels.py:522 netbox/netbox/tables/tables.py:457 +#: netbox/tenancy/tables/contacts.py:87 +#: netbox/utilities/templates/widgets/generic_object.html:10 +#: netbox/vpn/tables/l2vpn.py:64 msgid "Object" msgstr "" -#: netbox/core/tables/change_logging.py:43 netbox/core/ui/panels.py:89 +#: netbox/core/tables/change_logging.py:43 netbox/core/ui/panels.py:90 msgid "Request ID" msgstr "" -#: netbox/core/tables/change_logging.py:46 netbox/core/tables/jobs.py:81 -#: netbox/extras/tables/tables.py:806 netbox/extras/tables/tables.py:863 +#: netbox/core/tables/change_logging.py:46 netbox/core/tables/jobs.py:94 +#: netbox/extras/tables/tables.py:831 netbox/extras/tables/tables.py:888 msgid "Message" msgstr "" @@ -2659,13 +2920,13 @@ msgstr "" #: netbox/core/tables/data.py:65 #: netbox/templates/extras/inc/result_pending.html:7 -#: netbox/templates/generic/object.html:70 +#: netbox/templates/generic/object.html:66 msgid "Last updated" msgstr "" -#: netbox/core/tables/jobs.py:14 netbox/core/tables/tasks.py:77 -#: netbox/dcim/tables/devicetypes.py:168 netbox/extras/tables/tables.py:264 -#: netbox/extras/tables/tables.py:579 netbox/extras/tables/tables.py:828 +#: netbox/core/tables/jobs.py:15 netbox/core/tables/tasks.py:77 +#: netbox/dcim/tables/devicetypes.py:178 netbox/extras/tables/tables.py:273 +#: netbox/extras/tables/tables.py:604 netbox/extras/tables/tables.py:853 #: netbox/netbox/tables/tables.py:315 #: netbox/templates/dcim/virtualchassis_edit.html:64 #: netbox/utilities/forms/forms.py:119 @@ -2673,20 +2934,24 @@ msgstr "" msgid "ID" msgstr "" -#: netbox/core/tables/jobs.py:39 +#: netbox/core/tables/jobs.py:40 msgid "Interval" msgstr "" -#: netbox/core/tables/jobs.py:51 netbox/core/views.py:275 +#: netbox/core/tables/jobs.py:49 +msgid "Execution Time" +msgstr "" + +#: netbox/core/tables/jobs.py:55 netbox/core/views.py:280 msgid "Log Entries" msgstr "" -#: netbox/core/tables/jobs.py:78 netbox/extras/tables/tables.py:800 -#: netbox/extras/tables/tables.py:854 +#: netbox/core/tables/jobs.py:91 netbox/extras/tables/tables.py:825 +#: netbox/extras/tables/tables.py:879 msgid "Level" msgstr "" -#: netbox/core/tables/jobs.py:85 +#: netbox/core/tables/jobs.py:98 msgid "No log entries" msgstr "" @@ -2743,7 +3008,7 @@ msgstr "" msgid "Host" msgstr "" -#: netbox/core/tables/tasks.py:51 netbox/ipam/forms/filtersets.py:652 +#: netbox/core/tables/tasks.py:51 netbox/ipam/forms/filtersets.py:664 msgid "Port" msgstr "" @@ -2799,9 +3064,9 @@ msgstr "" msgid "Backend" msgstr "" -#: netbox/core/ui/panels.py:33 netbox/extras/tables/tables.py:238 -#: netbox/extras/tables/tables.py:610 netbox/extras/tables/tables.py:640 -#: netbox/extras/tables/tables.py:682 +#: netbox/core/ui/panels.py:33 netbox/extras/tables/tables.py:247 +#: netbox/extras/tables/tables.py:635 netbox/extras/tables/tables.py:665 +#: netbox/extras/tables/tables.py:707 #: netbox/templates/core/inc/datafile_panel.html:4 #: netbox/templates/core/inc/datafile_panel.html:17 #: netbox/templates/extras/object_render_config.html:23 @@ -2822,12 +3087,13 @@ msgstr "" msgid "Job" msgstr "" -#: netbox/core/ui/panels.py:50 netbox/core/ui/panels.py:79 -#: netbox/extras/forms/bulk_import.py:53 netbox/extras/forms/filtersets.py:234 -#: netbox/extras/forms/filtersets.py:340 netbox/extras/forms/model_forms.py:407 -#: netbox/extras/forms/model_forms.py:486 -#: netbox/extras/forms/model_forms.py:523 +#: netbox/core/ui/panels.py:50 netbox/core/ui/panels.py:80 +#: netbox/extras/forms/bulk_import.py:54 netbox/extras/forms/filtersets.py:249 +#: netbox/extras/forms/filtersets.py:369 netbox/extras/forms/model_forms.py:448 +#: netbox/extras/forms/model_forms.py:527 +#: netbox/extras/forms/model_forms.py:564 #: netbox/tenancy/forms/filtersets.py:121 +#: netbox/utilities/templates/widgets/generic_object.html:6 msgid "Object type" msgstr "" @@ -2835,15 +3101,11 @@ msgstr "" msgid "Created by" msgstr "" -#: netbox/core/ui/panels.py:60 -msgid "Scheduling" -msgstr "" - -#: netbox/core/ui/panels.py:69 netbox/users/ui/panels.py:58 +#: netbox/core/ui/panels.py:70 netbox/users/ui/panels.py:58 msgid "Change" msgstr "" -#: netbox/core/utils.py:87 netbox/core/utils.py:153 netbox/core/views.py:574 +#: netbox/core/utils.py:87 netbox/core/utils.py:153 netbox/core/views.py:580 #, python-brace-format msgid "Job {job_id} not found" msgstr "" @@ -2853,122 +3115,143 @@ msgstr "" msgid "Job {id} not found." msgstr "" -#: netbox/core/views.py:138 +#: netbox/core/views.py:139 #, python-brace-format msgid "Queued job #{id} to sync {datasource}" msgstr "" -#: netbox/core/views.py:257 netbox/extras/forms/filtersets.py:184 -#: netbox/extras/forms/filtersets.py:385 netbox/extras/forms/filtersets.py:408 -#: netbox/extras/forms/filtersets.py:504 netbox/extras/forms/model_forms.py:784 -#: netbox/extras/ui/panels.py:381 +#: netbox/core/views.py:262 netbox/extras/forms/filtersets.py:199 +#: netbox/extras/forms/filtersets.py:423 netbox/extras/forms/filtersets.py:446 +#: netbox/extras/forms/filtersets.py:542 netbox/extras/forms/model_forms.py:810 +#: netbox/extras/ui/panels.py:396 msgid "Data" msgstr "" -#: netbox/core/views.py:268 netbox/templates/extras/htmx/script_result.html:43 +#: netbox/core/views.py:273 netbox/templates/extras/htmx/script_result.html:43 msgid "Log" msgstr "" -#: netbox/core/views.py:510 +#: netbox/core/views.py:516 #, python-brace-format msgid "Restored configuration revision #{id}" msgstr "" -#: netbox/core/views.py:613 +#: netbox/core/views.py:619 #, python-brace-format msgid "Job {id} has been deleted." msgstr "" -#: netbox/core/views.py:615 +#: netbox/core/views.py:621 #, python-brace-format msgid "Error deleting job {id}: {error}" msgstr "" -#: netbox/core/views.py:624 +#: netbox/core/views.py:630 #, python-brace-format msgid "Job {id} has been re-enqueued." msgstr "" -#: netbox/core/views.py:633 +#: netbox/core/views.py:639 #, python-brace-format msgid "Job {id} has been enqueued." msgstr "" -#: netbox/core/views.py:642 +#: netbox/core/views.py:648 #, python-brace-format msgid "Job {id} has been stopped." msgstr "" -#: netbox/core/views.py:644 +#: netbox/core/views.py:650 #, python-brace-format msgid "Failed to stop job {id}" msgstr "" -#: netbox/core/views.py:858 +#: netbox/core/views.py:864 msgid "Plugins catalog could not be loaded" msgstr "" -#: netbox/core/views.py:894 +#: netbox/core/views.py:900 #, python-brace-format msgid "Plugin {name} not found" msgstr "" -#: netbox/dcim/api/serializers_/device_components.py:300 +#: netbox/dcim/api/serializers_/device_components.py:376 +#: netbox/dcim/forms/common.py:62 +#: netbox/virtualization/api/serializers_/virtualmachines.py:155 +msgid "Enter a valid MAC address (e.g. 00:11:22:33:44:55)." +msgstr "" + +#: netbox/dcim/api/serializers_/device_components.py:403 msgid "Interface mode does not support q-in-q service vlan" msgstr "" -#: netbox/dcim/api/serializers_/device_components.py:307 +#: netbox/dcim/api/serializers_/device_components.py:410 msgid "Interface mode does not support untagged vlan" msgstr "" -#: netbox/dcim/api/serializers_/device_components.py:312 -#: netbox/dcim/api/serializers_/device_components.py:317 +#: netbox/dcim/api/serializers_/device_components.py:415 +#: netbox/dcim/api/serializers_/device_components.py:420 msgid "Interface mode does not support tagged vlans" msgstr "" -#: netbox/dcim/api/serializers_/devices.py:55 -#: netbox/dcim/api/serializers_/devicetypes.py:28 +#: netbox/dcim/api/serializers_/devices.py:54 +#: netbox/dcim/api/serializers_/devicetypes.py:29 msgid "Position (U)" msgstr "" -#: netbox/dcim/api/serializers_/devices.py:193 -#: netbox/dcim/forms/bulk_import.py:787 netbox/dcim/forms/model_forms.py:819 +#: netbox/dcim/api/serializers_/devices.py:181 +#: netbox/dcim/forms/bulk_import.py:837 netbox/dcim/forms/model_forms.py:992 msgid "Replicate components" msgstr "" -#: netbox/dcim/api/serializers_/devices.py:194 +#: netbox/dcim/api/serializers_/devices.py:182 msgid "" "Automatically populate components associated with this module type (default: " "true)" msgstr "" -#: netbox/dcim/api/serializers_/devices.py:200 -#: netbox/dcim/forms/bulk_import.py:792 netbox/dcim/forms/model_forms.py:825 +#: netbox/dcim/api/serializers_/devices.py:188 +#: netbox/dcim/forms/bulk_import.py:842 netbox/dcim/forms/model_forms.py:998 msgid "Adopt components" msgstr "" -#: netbox/dcim/api/serializers_/devices.py:201 -#: netbox/dcim/forms/bulk_import.py:794 netbox/dcim/forms/model_forms.py:828 +#: netbox/dcim/api/serializers_/devices.py:189 +#: netbox/dcim/forms/bulk_import.py:844 netbox/dcim/forms/model_forms.py:1001 msgid "Adopt already existing components" msgstr "" -#: netbox/dcim/api/serializers_/devices.py:267 netbox/dcim/forms/common.py:114 +#: netbox/dcim/api/serializers_/devices.py:224 +#: netbox/dcim/models/modules.py:486 netbox/dcim/models/modules.py:686 +msgid "" +"Changing a module's type while moving it is not supported. Change the module " +"type and move the module as separate operations." +msgstr "" + +#: netbox/dcim/api/serializers_/devices.py:278 netbox/dcim/forms/common.py:159 msgid "" "Cannot install module with placeholder values in a module bay with no " "position defined." msgstr "" -#: netbox/dcim/api/serializers_/devices.py:278 netbox/dcim/forms/common.py:126 +#: netbox/dcim/api/serializers_/devices.py:289 netbox/dcim/forms/common.py:171 #, python-brace-format msgid "Cannot adopt {model} {name} as it already belongs to a module" msgstr "" -#: netbox/dcim/api/serializers_/devices.py:286 netbox/dcim/forms/common.py:135 +#: netbox/dcim/api/serializers_/devices.py:297 netbox/dcim/forms/common.py:180 #, python-brace-format msgid "A {model} named {name} already exists" msgstr "" -#: netbox/dcim/api/serializers_/racks.py:135 netbox/dcim/ui/panels.py:49 +#: netbox/dcim/api/serializers_/mixins.py:43 +msgid "The provided 'mac_address' and 'primary_mac_address' values conflict." +msgstr "" + +#: netbox/dcim/api/serializers_/mixins.py:53 netbox/dcim/forms/common.py:70 +msgid "You do not have permission to create MAC addresses." +msgstr "" + +#: netbox/dcim/api/serializers_/racks.py:142 netbox/dcim/ui/panels.py:73 msgid "Facility ID" msgstr "" @@ -2986,134 +3269,218 @@ msgid "" "profile {profile}" msgstr "" -#: netbox/dcim/choices.py:21 netbox/virtualization/choices.py:21 +#: netbox/dcim/choices.py:20 netbox/dcim/choices.py:44 +#: netbox/dcim/choices.py:114 netbox/dcim/choices.py:216 +#: netbox/dcim/choices.py:274 netbox/dcim/choices.py:2093 +#: netbox/dcim/choices.py:2274 netbox/dcim/choices.py:2296 +msgid "Planned for future deployment" +msgstr "" + +#: netbox/dcim/choices.py:21 netbox/dcim/choices.py:45 +#: netbox/virtualization/choices.py:25 msgid "Staging" msgstr "" -#: netbox/dcim/choices.py:23 netbox/dcim/choices.py:208 -#: netbox/dcim/choices.py:260 netbox/dcim/choices.py:2003 -#: netbox/dcim/choices.py:2152 netbox/virtualization/choices.py:23 -#: netbox/virtualization/choices.py:49 netbox/vpn/choices.py:282 +#: netbox/dcim/choices.py:21 netbox/dcim/choices.py:45 +msgid "Being prepared for deployment" +msgstr "" + +#: netbox/dcim/choices.py:22 netbox/dcim/choices.py:46 +#: netbox/dcim/choices.py:115 +msgid "Currently in service" +msgstr "" + +#: netbox/dcim/choices.py:24 netbox/dcim/choices.py:48 +#: netbox/dcim/choices.py:222 netbox/dcim/choices.py:279 +#: netbox/dcim/choices.py:2029 netbox/dcim/choices.py:2301 +#: netbox/virtualization/choices.py:33 netbox/virtualization/choices.py:80 +#: netbox/vpn/choices.py:320 msgid "Decommissioning" msgstr "" -#: netbox/dcim/choices.py:24 +#: netbox/dcim/choices.py:26 netbox/dcim/choices.py:50 msgid "Retired" msgstr "" -#: netbox/dcim/choices.py:65 -msgid "2-post frame" -msgstr "" - -#: netbox/dcim/choices.py:66 -msgid "4-post frame" -msgstr "" - -#: netbox/dcim/choices.py:67 -msgid "4-post cabinet" -msgstr "" - -#: netbox/dcim/choices.py:68 -msgid "Wall-mounted frame" +#: netbox/dcim/choices.py:26 netbox/dcim/choices.py:50 +msgid "No longer in service" msgstr "" #: netbox/dcim/choices.py:69 -msgid "Wall-mounted frame (vertical)" +msgid "2-post frame" +msgstr "" + +#: netbox/dcim/choices.py:69 +msgid "Open two-post relay rack" msgstr "" #: netbox/dcim/choices.py:70 -msgid "Wall-mounted cabinet" +msgid "4-post frame" +msgstr "" + +#: netbox/dcim/choices.py:70 +msgid "Open four-post rack" msgstr "" #: netbox/dcim/choices.py:71 +msgid "4-post cabinet" +msgstr "" + +#: netbox/dcim/choices.py:71 +msgid "Enclosed four-post cabinet" +msgstr "" + +#: netbox/dcim/choices.py:72 +msgid "Wall-mounted frame" +msgstr "" + +#: netbox/dcim/choices.py:72 +msgid "Open frame mounted to a wall" +msgstr "" + +#: netbox/dcim/choices.py:75 +msgid "Wall-mounted frame (vertical)" +msgstr "" + +#: netbox/dcim/choices.py:76 +msgid "Wall-mounted frame with vertical rail orientation" +msgstr "" + +#: netbox/dcim/choices.py:78 +msgid "Wall-mounted cabinet" +msgstr "" + +#: netbox/dcim/choices.py:78 +msgid "Enclosed cabinet mounted to a wall" +msgstr "" + +#: netbox/dcim/choices.py:81 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 +#: netbox/dcim/choices.py:82 +msgid "Wall-mounted cabinet with vertical rail orientation" +msgstr "" + +#: netbox/dcim/choices.py:95 netbox/dcim/choices.py:96 +#: netbox/dcim/choices.py:97 netbox/dcim/choices.py:98 #, python-brace-format msgid "{n} inches" msgstr "" -#: netbox/dcim/choices.py:100 netbox/ipam/choices.py:32 +#: netbox/dcim/choices.py:112 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 +#: netbox/ipam/choices.py:160 netbox/wireless/choices.py:26 msgid "Reserved" msgstr "" -#: netbox/dcim/choices.py:101 +#: netbox/dcim/choices.py:112 +msgid "Set aside for a specific purpose" +msgstr "" + +#: netbox/dcim/choices.py:113 #: netbox/templates/dcim/panels/power_utilization.html:11 #: netbox/utilities/templates/widgets/splitmultiselect.html:5 msgid "Available" msgstr "" -#: netbox/dcim/choices.py:104 netbox/ipam/choices.py:33 +#: netbox/dcim/choices.py:113 +msgid "Available for use" +msgstr "" + +#: netbox/dcim/choices.py:116 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 +#: netbox/ipam/choices.py:161 netbox/wireless/choices.py:35 msgid "Deprecated" msgstr "" -#: netbox/dcim/choices.py:114 +#: netbox/dcim/choices.py:116 +msgid "No longer recommended for use" +msgstr "" + +#: netbox/dcim/choices.py:126 netbox/netbox/choices.py:214 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:51 msgid "Millimeters" msgstr "" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:2025 +#: netbox/dcim/choices.py:127 netbox/dcim/choices.py:2054 +#: netbox/netbox/choices.py:216 msgid "Inches" msgstr "" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:227 -#: netbox/dcim/choices.py:275 +#: netbox/dcim/choices.py:149 netbox/dcim/choices.py:244 +#: netbox/dcim/choices.py:297 msgid "Front to rear" msgstr "" -#: netbox/dcim/choices.py:138 netbox/dcim/choices.py:228 -#: netbox/dcim/choices.py:276 +#: netbox/dcim/choices.py:150 netbox/dcim/choices.py:245 +#: netbox/dcim/choices.py:298 msgid "Rear to front" msgstr "" -#: netbox/dcim/choices.py:156 +#: netbox/dcim/choices.py:166 +msgid "Awaiting confirmation" +msgstr "" + +#: netbox/dcim/choices.py:167 +msgid "Currently in effect" +msgstr "" + +#: netbox/dcim/choices.py:168 msgid "Stale" msgstr "" -#: netbox/dcim/choices.py:170 netbox/dcim/forms/bulk_edit.py:87 -#: netbox/dcim/forms/bulk_edit.py:101 netbox/dcim/forms/bulk_edit.py:181 -#: netbox/dcim/forms/bulk_edit.py:623 netbox/dcim/forms/bulk_edit.py:651 -#: netbox/dcim/forms/bulk_edit.py:1461 netbox/dcim/forms/bulk_import.py:78 -#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/bulk_import.py:155 -#: netbox/dcim/forms/bulk_import.py:531 netbox/dcim/forms/bulk_import.py:557 -#: netbox/dcim/forms/bulk_import.py:683 netbox/dcim/forms/bulk_import.py:959 -#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:267 -#: netbox/dcim/forms/filtersets.py:820 netbox/dcim/forms/filtersets.py:836 -#: netbox/dcim/forms/model_forms.py:95 netbox/dcim/forms/model_forms.py:113 -#: netbox/dcim/forms/model_forms.py:216 netbox/dcim/forms/model_forms.py:559 -#: netbox/dcim/forms/model_forms.py:580 netbox/dcim/forms/model_forms.py:1290 -#: netbox/dcim/forms/model_forms.py:1773 netbox/dcim/forms/object_import.py:193 -#: netbox/dcim/tables/devices.py:722 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:992 netbox/dcim/tables/devices.py:1082 -#: netbox/dcim/tables/devices.py:1235 netbox/ipam/forms/bulk_import.py:608 -#: netbox/ipam/forms/model_forms.py:781 netbox/ipam/tables/fhrp.py:56 -#: netbox/ipam/tables/ip.py:334 netbox/ipam/tables/services.py:42 -#: netbox/netbox/tables/tables.py:443 netbox/netbox/ui/panels.py:230 -#: netbox/tenancy/forms/bulk_edit.py:33 netbox/tenancy/forms/bulk_edit.py:62 -#: netbox/tenancy/forms/bulk_import.py:31 +#: netbox/dcim/choices.py:168 +msgid "No longer valid or in use" +msgstr "" + +#: netbox/dcim/choices.py:182 netbox/dcim/forms/bulk_edit.py:97 +#: netbox/dcim/forms/bulk_edit.py:111 netbox/dcim/forms/bulk_edit.py:191 +#: netbox/dcim/forms/bulk_edit.py:712 netbox/dcim/forms/bulk_edit.py:740 +#: netbox/dcim/forms/bulk_edit.py:1885 netbox/dcim/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:103 netbox/dcim/forms/bulk_import.py:166 +#: netbox/dcim/forms/bulk_import.py:575 netbox/dcim/forms/bulk_import.py:601 +#: netbox/dcim/forms/bulk_import.py:727 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1514 netbox/dcim/forms/filtersets.py:279 +#: netbox/dcim/forms/filtersets.py:904 netbox/dcim/forms/filtersets.py:920 +#: netbox/dcim/forms/model_forms.py:109 netbox/dcim/forms/model_forms.py:127 +#: netbox/dcim/forms/model_forms.py:240 netbox/dcim/forms/model_forms.py:716 +#: netbox/dcim/forms/model_forms.py:737 netbox/dcim/forms/model_forms.py:1548 +#: netbox/dcim/forms/model_forms.py:1691 netbox/dcim/forms/model_forms.py:2307 +#: netbox/dcim/forms/object_import.py:127 +#: netbox/dcim/forms/object_import.py:309 netbox/dcim/tables/devices.py:738 +#: netbox/dcim/tables/devices.py:773 netbox/dcim/tables/devices.py:1008 +#: netbox/dcim/tables/devices.py:1102 netbox/dcim/tables/devices.py:1310 +#: netbox/ipam/forms/bulk_import.py:642 netbox/ipam/forms/model_forms.py:837 +#: netbox/ipam/tables/fhrp.py:56 netbox/ipam/tables/ip.py:334 +#: netbox/ipam/tables/services.py:45 netbox/netbox/tables/tables.py:443 +#: netbox/netbox/ui/panels.py:230 netbox/tenancy/forms/bulk_edit.py:33 +#: netbox/tenancy/forms/bulk_edit.py:62 netbox/tenancy/forms/bulk_import.py:31 #: netbox/tenancy/forms/bulk_import.py:64 -#: netbox/tenancy/forms/model_forms.py:26 -#: netbox/tenancy/forms/model_forms.py:67 +#: netbox/tenancy/forms/model_forms.py:33 +#: netbox/tenancy/forms/model_forms.py:74 #: netbox/virtualization/forms/bulk_edit.py:226 #: netbox/virtualization/forms/bulk_import.py:191 #: netbox/virtualization/tables/virtualmachines.py:177 #: netbox/vpn/ui/panels.py:25 netbox/wireless/forms/bulk_edit.py:26 #: netbox/wireless/forms/bulk_import.py:23 -#: netbox/wireless/forms/model_forms.py:23 +#: netbox/wireless/forms/model_forms.py:31 msgid "Parent" msgstr "" -#: netbox/dcim/choices.py:171 +#: netbox/dcim/choices.py:182 +msgid "Houses child devices in its bays" +msgstr "" + +#: netbox/dcim/choices.py:183 msgid "Child" msgstr "" -#: netbox/dcim/choices.py:185 +#: netbox/dcim/choices.py:183 +msgid "Installed within a parent device bay" +msgstr "" + +#: netbox/dcim/choices.py:197 #: netbox/templates/dcim/panels/device_rack_elevations.html:15 #: netbox/templates/dcim/panels/rack_elevations.html:12 #: netbox/templates/dcim/panels/rack_reservation_elevations.html:5 @@ -3121,7 +3488,7 @@ msgstr "" msgid "Front" msgstr "" -#: netbox/dcim/choices.py:186 +#: netbox/dcim/choices.py:198 #: netbox/templates/dcim/panels/device_rack_elevations.html:21 #: netbox/templates/dcim/panels/rack_elevations.html:18 #: netbox/templates/dcim/panels/rack_reservation_elevations.html:11 @@ -3129,438 +3496,599 @@ msgstr "" msgid "Rear" msgstr "" -#: netbox/dcim/choices.py:205 netbox/dcim/choices.py:258 -#: netbox/dcim/choices.py:2150 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:217 netbox/dcim/choices.py:275 +#: netbox/dcim/choices.py:2297 netbox/virtualization/choices.py:72 msgid "Staged" msgstr "" -#: netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:217 netbox/dcim/choices.py:275 +#: netbox/dcim/choices.py:2297 +msgid "Installed and being prepared for service" +msgstr "" + +#: netbox/dcim/choices.py:218 netbox/dcim/choices.py:276 +#: netbox/dcim/choices.py:2094 netbox/dcim/choices.py:2298 +msgid "Malfunctioning or out of service" +msgstr "" + +#: netbox/dcim/choices.py:219 msgid "Inventory" msgstr "" -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:277 +#: netbox/dcim/choices.py:219 +msgid "In inventory but not yet deployed" +msgstr "" + +#: netbox/dcim/choices.py:246 netbox/dcim/choices.py:299 msgid "Left to right" msgstr "" -#: netbox/dcim/choices.py:230 netbox/dcim/choices.py:278 +#: netbox/dcim/choices.py:247 netbox/dcim/choices.py:300 msgid "Right to left" msgstr "" -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:279 +#: netbox/dcim/choices.py:248 netbox/dcim/choices.py:301 msgid "Side to rear" msgstr "" -#: netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:249 msgid "Rear to side" msgstr "" -#: netbox/dcim/choices.py:233 +#: netbox/dcim/choices.py:250 msgid "Bottom to top" msgstr "" -#: netbox/dcim/choices.py:234 +#: netbox/dcim/choices.py:251 msgid "Top to bottom" msgstr "" -#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:280 -#: netbox/dcim/choices.py:1621 +#: netbox/dcim/choices.py:252 netbox/dcim/choices.py:302 +#: netbox/dcim/choices.py:1645 msgid "Passive" msgstr "" -#: netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:253 msgid "Mixed" msgstr "" -#: netbox/dcim/choices.py:508 netbox/dcim/choices.py:761 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:783 msgid "NEMA (Non-locking)" msgstr "" -#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:783 +#: netbox/dcim/choices.py:552 netbox/dcim/choices.py:805 msgid "NEMA (Locking)" msgstr "" -#: netbox/dcim/choices.py:554 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:576 netbox/dcim/choices.py:829 msgid "California Style" msgstr "" -#: netbox/dcim/choices.py:562 +#: netbox/dcim/choices.py:584 msgid "International/ITA" msgstr "" -#: netbox/dcim/choices.py:598 netbox/dcim/choices.py:843 +#: netbox/dcim/choices.py:620 netbox/dcim/choices.py:865 +#: netbox/dcim/choices.py:2258 msgid "Proprietary" msgstr "" -#: netbox/dcim/choices.py:606 netbox/dcim/choices.py:853 -#: netbox/dcim/choices.py:1530 netbox/dcim/choices.py:1532 -#: netbox/dcim/choices.py:1781 netbox/dcim/choices.py:1783 -#: netbox/netbox/navigation/menu.py:219 +#: netbox/dcim/choices.py:628 netbox/dcim/choices.py:875 +#: netbox/dcim/choices.py:1554 netbox/dcim/choices.py:1556 +#: netbox/dcim/choices.py:1805 netbox/dcim/choices.py:1807 +#: netbox/netbox/navigation/menu.py:222 msgid "Other" msgstr "" -#: netbox/dcim/choices.py:815 +#: netbox/dcim/choices.py:837 msgid "ITA/International" msgstr "" -#: netbox/dcim/choices.py:883 +#: netbox/dcim/choices.py:905 msgid "Physical" msgstr "" -#: netbox/dcim/choices.py:884 netbox/dcim/choices.py:1176 +#: netbox/dcim/choices.py:906 netbox/dcim/choices.py:1199 msgid "Virtual" msgstr "" -#: netbox/dcim/choices.py:885 netbox/dcim/choices.py:1392 -#: netbox/dcim/forms/bulk_edit.py:1616 netbox/dcim/forms/filtersets.py:1645 -#: netbox/dcim/forms/filtersets.py:1771 netbox/dcim/forms/model_forms.py:1189 -#: netbox/dcim/forms/model_forms.py:1653 netbox/dcim/ui/panels.py:556 -#: netbox/netbox/navigation/menu.py:157 netbox/netbox/navigation/menu.py:161 +#: netbox/dcim/choices.py:907 netbox/dcim/choices.py:1416 +#: netbox/dcim/forms/bulk_edit.py:2040 netbox/dcim/forms/filtersets.py:2013 +#: netbox/dcim/forms/filtersets.py:2147 netbox/dcim/forms/model_forms.py:1576 +#: netbox/dcim/forms/model_forms.py:2171 netbox/dcim/ui/panels.py:651 +#: netbox/netbox/navigation/menu.py:160 netbox/netbox/navigation/menu.py:164 msgid "Wireless" msgstr "" -#: netbox/dcim/choices.py:1174 +#: netbox/dcim/choices.py:1197 msgid "Virtual interfaces" msgstr "" -#: netbox/dcim/choices.py:1177 netbox/dcim/forms/bulk_edit.py:1469 -#: netbox/dcim/forms/bulk_import.py:966 netbox/dcim/forms/model_forms.py:1171 -#: netbox/dcim/tables/devices.py:761 +#: netbox/dcim/choices.py:1200 netbox/dcim/forms/bulk_edit.py:1893 +#: netbox/dcim/forms/bulk_import.py:1153 netbox/dcim/forms/model_forms.py:1557 +#: netbox/dcim/tables/devices.py:777 #: netbox/virtualization/forms/bulk_edit.py:231 #: netbox/virtualization/forms/bulk_import.py:198 #: netbox/virtualization/tables/virtualmachines.py:181 msgid "Bridge" msgstr "" -#: netbox/dcim/choices.py:1178 +#: netbox/dcim/choices.py:1201 msgid "Link Aggregation Group (LAG)" msgstr "" -#: netbox/dcim/choices.py:1182 +#: netbox/dcim/choices.py:1202 +#: netbox/templates/dcim/panels/interface_wireless.html:24 +#: netbox/templates/wireless/panels/wirelesslink_interface.html:24 +msgid "Channel" +msgstr "" + +#: netbox/dcim/choices.py:1206 msgid "FastEthernet (100 Mbps)" msgstr "" -#: netbox/dcim/choices.py:1191 +#: netbox/dcim/choices.py:1215 msgid "GigabitEthernet (1 Gbps)" msgstr "" -#: netbox/dcim/choices.py:1209 +#: netbox/dcim/choices.py:1233 msgid "2.5/5 Gbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1216 +#: netbox/dcim/choices.py:1240 msgid "10 Gbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1232 +#: netbox/dcim/choices.py:1256 msgid "25 Gbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1266 msgid "40 Gbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1253 +#: netbox/dcim/choices.py:1277 msgid "50 Gbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1263 +#: netbox/dcim/choices.py:1287 msgid "100 Gbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1284 +#: netbox/dcim/choices.py:1308 msgid "200 Gbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1322 msgid "400 Gbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1316 +#: netbox/dcim/choices.py:1340 msgid "800 Gbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1325 +#: netbox/dcim/choices.py:1349 msgid "1.6 Tbps Ethernet" msgstr "" -#: netbox/dcim/choices.py:1333 +#: netbox/dcim/choices.py:1357 msgid "Pluggable transceivers" msgstr "" -#: netbox/dcim/choices.py:1375 +#: netbox/dcim/choices.py:1399 msgid "Backplane Ethernet" msgstr "" -#: netbox/dcim/choices.py:1408 +#: netbox/dcim/choices.py:1432 msgid "Cellular" msgstr "" -#: netbox/dcim/choices.py:1474 netbox/dcim/forms/filtersets.py:442 -#: netbox/dcim/forms/filtersets.py:951 netbox/dcim/forms/filtersets.py:1163 -#: netbox/dcim/forms/filtersets.py:1998 +#: netbox/dcim/choices.py:1498 netbox/dcim/forms/filtersets.py:466 +#: netbox/dcim/forms/filtersets.py:1041 netbox/dcim/forms/filtersets.py:1253 +#: netbox/dcim/forms/filtersets.py:2384 #: netbox/templates/dcim/virtualchassis_edit.html:66 msgid "Serial" msgstr "" -#: netbox/dcim/choices.py:1489 +#: netbox/dcim/choices.py:1513 msgid "Coaxial" msgstr "" -#: netbox/dcim/choices.py:1510 +#: netbox/dcim/choices.py:1534 msgid "Stacking" msgstr "" -#: netbox/dcim/choices.py:1566 +#: netbox/dcim/choices.py:1590 msgid "Half" msgstr "" -#: netbox/dcim/choices.py:1567 +#: netbox/dcim/choices.py:1591 msgid "Full" msgstr "" -#: netbox/dcim/choices.py:1568 netbox/netbox/preferences.py:32 -#: netbox/wireless/choices.py:480 +#: netbox/dcim/choices.py:1592 netbox/netbox/preferences.py:33 +#: netbox/wireless/choices.py:498 msgid "Auto" msgstr "" -#: netbox/dcim/choices.py:1580 +#: netbox/dcim/choices.py:1604 msgid "Access" msgstr "" -#: netbox/dcim/choices.py:1581 netbox/ipam/tables/vlans.py:152 +#: netbox/dcim/choices.py:1604 +msgid "Untagged traffic for a single VLAN" +msgstr "" + +#: netbox/dcim/choices.py:1605 netbox/ipam/tables/vlans.py:152 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "" -#: netbox/dcim/choices.py:1582 +#: netbox/dcim/choices.py:1605 +msgid "One untagged VLAN plus one or more tagged VLANs" +msgstr "" + +#: netbox/dcim/choices.py:1606 msgid "Tagged (All)" msgstr "" -#: netbox/dcim/choices.py:1583 netbox/templates/ipam/vlan_edit.html:30 +#: netbox/dcim/choices.py:1606 +msgid "Untagged VLAN plus all tagged VLANs" +msgstr "" + +#: netbox/dcim/choices.py:1607 netbox/templates/ipam/vlan_edit.html:30 msgid "Q-in-Q (802.1ad)" msgstr "" -#: netbox/dcim/choices.py:1612 +#: netbox/dcim/choices.py:1607 +msgid "802.1ad service VLAN encapsulating customer VLANs" +msgstr "" + +#: netbox/dcim/choices.py:1617 +msgid "Powered device that receives power over Ethernet" +msgstr "" + +#: netbox/dcim/choices.py:1618 +msgid "Power sourcing equipment that supplies power over Ethernet" +msgstr "" + +#: netbox/dcim/choices.py:1636 msgid "IEEE Standard" msgstr "" -#: netbox/dcim/choices.py:1623 +#: netbox/dcim/choices.py:1647 msgid "Passive 24V (2-pair)" msgstr "" -#: netbox/dcim/choices.py:1624 +#: netbox/dcim/choices.py:1648 msgid "Passive 24V (4-pair)" msgstr "" -#: netbox/dcim/choices.py:1625 +#: netbox/dcim/choices.py:1649 msgid "Passive 48V (2-pair)" msgstr "" -#: netbox/dcim/choices.py:1626 +#: netbox/dcim/choices.py:1650 msgid "Passive 48V (4-pair)" msgstr "" -#: netbox/dcim/choices.py:1704 +#: netbox/dcim/choices.py:1728 msgid "Copper" msgstr "" -#: netbox/dcim/choices.py:1727 +#: netbox/dcim/choices.py:1751 msgid "Fiber Optic" msgstr "" -#: netbox/dcim/choices.py:1768 netbox/dcim/choices.py:1986 +#: netbox/dcim/choices.py:1792 netbox/dcim/choices.py:2010 msgid "USB" msgstr "" -#: netbox/dcim/choices.py:1826 +#: netbox/dcim/choices.py:1850 msgid "Single" msgstr "" -#: netbox/dcim/choices.py:1828 +#: netbox/dcim/choices.py:1852 msgid "1C1P" msgstr "" -#: netbox/dcim/choices.py:1829 +#: netbox/dcim/choices.py:1853 msgid "1C2P" msgstr "" -#: netbox/dcim/choices.py:1830 +#: netbox/dcim/choices.py:1854 msgid "1C4P" msgstr "" -#: netbox/dcim/choices.py:1831 +#: netbox/dcim/choices.py:1855 msgid "1C6P" msgstr "" -#: netbox/dcim/choices.py:1832 +#: netbox/dcim/choices.py:1856 msgid "1C8P" msgstr "" -#: netbox/dcim/choices.py:1833 +#: netbox/dcim/choices.py:1857 msgid "1C12P" msgstr "" -#: netbox/dcim/choices.py:1834 +#: netbox/dcim/choices.py:1858 msgid "1C16P" msgstr "" -#: netbox/dcim/choices.py:1838 +#: netbox/dcim/choices.py:1862 msgid "Trunk" msgstr "" -#: netbox/dcim/choices.py:1840 +#: netbox/dcim/choices.py:1864 msgid "2C1P trunk" msgstr "" -#: netbox/dcim/choices.py:1841 +#: netbox/dcim/choices.py:1865 msgid "2C2P trunk" msgstr "" -#: netbox/dcim/choices.py:1842 +#: netbox/dcim/choices.py:1866 msgid "2C4P trunk" msgstr "" -#: netbox/dcim/choices.py:1843 +#: netbox/dcim/choices.py:1867 msgid "2C4P trunk (shuffle)" msgstr "" -#: netbox/dcim/choices.py:1844 +#: netbox/dcim/choices.py:1868 msgid "2C6P trunk" msgstr "" -#: netbox/dcim/choices.py:1845 +#: netbox/dcim/choices.py:1869 msgid "2C8P trunk" msgstr "" -#: netbox/dcim/choices.py:1846 +#: netbox/dcim/choices.py:1870 msgid "2C12P trunk" msgstr "" -#: netbox/dcim/choices.py:1847 +#: netbox/dcim/choices.py:1871 msgid "4C1P trunk" msgstr "" -#: netbox/dcim/choices.py:1848 +#: netbox/dcim/choices.py:1872 msgid "4C2P trunk" msgstr "" -#: netbox/dcim/choices.py:1849 +#: netbox/dcim/choices.py:1873 msgid "4C4P trunk" msgstr "" -#: netbox/dcim/choices.py:1850 +#: netbox/dcim/choices.py:1874 msgid "4C4P trunk (shuffle)" msgstr "" -#: netbox/dcim/choices.py:1851 +#: netbox/dcim/choices.py:1875 msgid "4C6P trunk" msgstr "" -#: netbox/dcim/choices.py:1852 +#: netbox/dcim/choices.py:1876 msgid "4C8P trunk" msgstr "" -#: netbox/dcim/choices.py:1853 +#: netbox/dcim/choices.py:1877 msgid "8C4P trunk" msgstr "" -#: netbox/dcim/choices.py:1857 +#: netbox/dcim/choices.py:1881 msgid "Breakout" msgstr "" -#: netbox/dcim/choices.py:1859 +#: netbox/dcim/choices.py:1883 msgid "1C2P:2C1P breakout" msgstr "" -#: netbox/dcim/choices.py:1860 +#: netbox/dcim/choices.py:1884 msgid "1C4P:4C1P breakout" msgstr "" -#: netbox/dcim/choices.py:1861 +#: netbox/dcim/choices.py:1885 msgid "1C6P:6C1P breakout" msgstr "" -#: netbox/dcim/choices.py:1862 +#: netbox/dcim/choices.py:1886 msgid "1C8P:8C1P breakout" msgstr "" -#: netbox/dcim/choices.py:1863 +#: netbox/dcim/choices.py:1887 msgid "2C4P:8C1P breakout (shuffle)" msgstr "" -#: netbox/dcim/choices.py:1921 +#: netbox/dcim/choices.py:1945 msgid "Copper - Twisted Pair (UTP/STP)" msgstr "" -#: netbox/dcim/choices.py:1935 +#: netbox/dcim/choices.py:1959 msgid "Copper - Twinax (DAC)" msgstr "" -#: netbox/dcim/choices.py:1942 +#: netbox/dcim/choices.py:1966 msgid "Copper - Coaxial" msgstr "" -#: netbox/dcim/choices.py:1957 +#: netbox/dcim/choices.py:1981 msgid "Fiber - Multimode" msgstr "" -#: netbox/dcim/choices.py:1968 +#: netbox/dcim/choices.py:1992 msgid "Fiber - Single-mode" msgstr "" -#: netbox/dcim/choices.py:1976 +#: netbox/dcim/choices.py:2000 msgid "Fiber - Other" msgstr "" -#: netbox/dcim/choices.py:2001 netbox/dcim/forms/filtersets.py:1470 +#: netbox/dcim/choices.py:2025 netbox/dcim/forms/filtersets.py:1690 msgid "Connected" msgstr "" -#: netbox/dcim/choices.py:2020 netbox/netbox/choices.py:177 +#: netbox/dcim/choices.py:2025 +msgid "Link is connected and in service" +msgstr "" + +#: netbox/dcim/choices.py:2026 +msgid "Planned for future connection" +msgstr "" + +#: netbox/dcim/choices.py:2049 netbox/netbox/choices.py:179 msgid "Kilometers" msgstr "" -#: netbox/dcim/choices.py:2021 netbox/netbox/choices.py:178 +#: netbox/dcim/choices.py:2050 netbox/netbox/choices.py:180 #: netbox/templates/dcim/cable_trace.html:67 msgid "Meters" msgstr "" -#: netbox/dcim/choices.py:2022 +#: netbox/dcim/choices.py:2051 netbox/netbox/choices.py:215 msgid "Centimeters" msgstr "" -#: netbox/dcim/choices.py:2023 netbox/netbox/choices.py:179 +#: netbox/dcim/choices.py:2052 netbox/netbox/choices.py:181 msgid "Miles" msgstr "" -#: netbox/dcim/choices.py:2024 netbox/netbox/choices.py:180 +#: netbox/dcim/choices.py:2053 netbox/netbox/choices.py:182 #: netbox/templates/dcim/cable_trace.html:68 msgid "Feet" msgstr "" -#: netbox/dcim/choices.py:2072 +#: netbox/dcim/choices.py:2090 +msgid "Installed but not currently supplying power" +msgstr "" + +#: netbox/dcim/choices.py:2092 +msgid "Supplying power and in service" +msgstr "" + +#: netbox/dcim/choices.py:2105 msgid "Redundant" msgstr "" -#: netbox/dcim/choices.py:2093 +#: netbox/dcim/choices.py:2126 msgid "Single phase" msgstr "" -#: netbox/dcim/choices.py:2094 +#: netbox/dcim/choices.py:2127 msgid "Three-phase" msgstr "" -#: netbox/dcim/choices.py:2110 netbox/extras/choices.py:53 -#: netbox/netbox/preferences.py:45 netbox/netbox/preferences.py:70 +#: netbox/dcim/choices.py:2142 +msgid "Powered on and supplying power" +msgstr "" + +#: netbox/dcim/choices.py:2143 netbox/extras/choices.py:83 +#: netbox/netbox/preferences.py:46 netbox/netbox/preferences.py:71 #: netbox/templates/extras/customfield/attrs/search_weight.html:1 -#: netbox/vpn/choices.py:20 netbox/wireless/choices.py:27 +#: netbox/vpn/choices.py:25 netbox/wireless/choices.py:29 msgid "Disabled" msgstr "" -#: netbox/dcim/choices.py:2111 +#: netbox/dcim/choices.py:2143 +msgid "Powered off and not supplying power" +msgstr "" + +#: netbox/dcim/choices.py:2144 msgid "Faulty" msgstr "" +#: netbox/dcim/choices.py:2144 +msgid "Malfunctioning or in an error state" +msgstr "" + +#: netbox/dcim/choices.py:2159 +msgid "Air" +msgstr "" + +#: netbox/dcim/choices.py:2160 +msgid "Liquid" +msgstr "" + +#: netbox/dcim/choices.py:2161 netbox/dcim/choices.py:2237 +msgid "Hybrid" +msgstr "" + +#: netbox/dcim/choices.py:2162 +msgid "Immersion" +msgstr "" + +#: netbox/dcim/choices.py:2176 +msgid "Chiller" +msgstr "" + +#: netbox/dcim/choices.py:2177 +msgid "Cooling tower" +msgstr "" + +#: netbox/dcim/choices.py:2178 +msgid "Dry cooler" +msgstr "" + +#: netbox/dcim/choices.py:2179 +msgid "CRAC" +msgstr "" + +#: netbox/dcim/choices.py:2180 +msgid "CRAH" +msgstr "" + +#: netbox/dcim/choices.py:2223 +msgid "Water" +msgstr "" + +#: netbox/dcim/choices.py:2224 +msgid "Water/glycol" +msgstr "" + +#: netbox/dcim/choices.py:2225 +msgid "Dielectric" +msgstr "" + +#: netbox/dcim/choices.py:2226 +msgid "Refrigerant" +msgstr "" + +#: netbox/dcim/choices.py:2236 +msgid "Air only" +msgstr "" + +#: netbox/dcim/choices.py:2238 +msgid "Liquid only" +msgstr "" + +#: netbox/dcim/choices.py:2252 +msgid "UQD (Universal Quick Disconnect)" +msgstr "" + +#: netbox/dcim/choices.py:2253 +msgid "UQDB (Universal Quick Disconnect, Blind-mate)" +msgstr "" + +#: netbox/dcim/choices.py:2254 +msgid "QDC (Quick Disconnect Coupling)" +msgstr "" + +#: netbox/dcim/choices.py:2255 +msgid "Camlock (cam-and-groove)" +msgstr "" + +#: netbox/dcim/choices.py:2256 +msgid "NPT (threaded)" +msgstr "" + +#: netbox/dcim/choices.py:2257 +msgid "BSP (threaded)" +msgstr "" + +#: netbox/dcim/choices.py:2275 netbox/wireless/choices.py:31 +msgid "Configured but not currently in service" +msgstr "" + #: netbox/dcim/fields.py:48 #, python-brace-format msgid "Invalid MAC address format: {value}" @@ -3571,468 +4099,493 @@ msgstr "" msgid "Invalid WWN format: {value}" msgstr "" -#: netbox/dcim/filtersets.py:110 +#: netbox/dcim/filtersets.py:117 msgid "Parent region (ID)" msgstr "" -#: netbox/dcim/filtersets.py:117 +#: netbox/dcim/filtersets.py:124 msgid "Parent region (slug)" msgstr "" -#: netbox/dcim/filtersets.py:143 +#: netbox/dcim/filtersets.py:150 msgid "Parent site group (ID)" msgstr "" -#: netbox/dcim/filtersets.py:150 +#: netbox/dcim/filtersets.py:157 msgid "Parent site group (slug)" msgstr "" -#: netbox/dcim/filtersets.py:194 netbox/dcim/filtersets.py:434 -#: netbox/dcim/filtersets.py:581 netbox/extras/filtersets.py:475 +#: netbox/dcim/filtersets.py:201 netbox/dcim/filtersets.py:446 +#: netbox/dcim/filtersets.py:598 netbox/extras/filtersets.py:486 #: netbox/ipam/filtersets.py:896 netbox/ipam/filtersets.py:1042 #: netbox/users/filtersets.py:285 msgid "Group (ID)" msgstr "" -#: netbox/dcim/filtersets.py:200 netbox/dcim/filtersets.py:441 -#: netbox/dcim/filtersets.py:588 +#: netbox/dcim/filtersets.py:207 netbox/dcim/filtersets.py:453 +#: netbox/dcim/filtersets.py:605 msgid "Group (slug)" msgstr "" -#: netbox/dcim/filtersets.py:206 netbox/dcim/filtersets.py:211 +#: netbox/dcim/filtersets.py:213 netbox/dcim/filtersets.py:218 msgid "AS (ID)" msgstr "" -#: netbox/dcim/filtersets.py:280 +#: netbox/dcim/filtersets.py:287 msgid "Parent location (ID)" msgstr "" -#: netbox/dcim/filtersets.py:287 +#: netbox/dcim/filtersets.py:294 msgid "Parent location (slug)" msgstr "" -#: netbox/dcim/filtersets.py:340 netbox/dcim/filtersets.py:447 -#: netbox/dcim/filtersets.py:659 netbox/dcim/filtersets.py:832 -#: netbox/dcim/filtersets.py:1089 netbox/dcim/filtersets.py:1197 -#: netbox/dcim/filtersets.py:1241 netbox/dcim/filtersets.py:1627 -#: netbox/dcim/filtersets.py:2479 +#: netbox/dcim/filtersets.py:347 netbox/dcim/filtersets.py:459 +#: netbox/dcim/filtersets.py:676 netbox/dcim/filtersets.py:822 +#: netbox/dcim/filtersets.py:896 netbox/dcim/filtersets.py:1236 +#: netbox/dcim/filtersets.py:1344 netbox/dcim/filtersets.py:1388 +#: netbox/dcim/filtersets.py:1776 netbox/dcim/filtersets.py:2700 msgid "Manufacturer (ID)" msgstr "" -#: netbox/dcim/filtersets.py:347 netbox/dcim/filtersets.py:454 -#: netbox/dcim/filtersets.py:666 netbox/dcim/filtersets.py:839 -#: netbox/dcim/filtersets.py:1096 netbox/dcim/filtersets.py:1204 -#: netbox/dcim/filtersets.py:1248 netbox/dcim/filtersets.py:1634 -#: netbox/dcim/filtersets.py:2486 +#: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:466 +#: netbox/dcim/filtersets.py:683 netbox/dcim/filtersets.py:829 +#: netbox/dcim/filtersets.py:903 netbox/dcim/filtersets.py:1243 +#: netbox/dcim/filtersets.py:1351 netbox/dcim/filtersets.py:1395 +#: netbox/dcim/filtersets.py:1783 netbox/dcim/filtersets.py:2707 msgid "Manufacturer (slug)" msgstr "" -#: netbox/dcim/filtersets.py:461 +#: netbox/dcim/filtersets.py:473 msgid "Rack type (slug)" msgstr "" -#: netbox/dcim/filtersets.py:466 +#: netbox/dcim/filtersets.py:478 msgid "Rack type (ID)" msgstr "" -#: netbox/dcim/filtersets.py:484 netbox/dcim/filtersets.py:1101 -#: netbox/dcim/filtersets.py:1266 netbox/dcim/filtersets.py:2491 +#: netbox/dcim/filtersets.py:496 netbox/dcim/filtersets.py:1248 +#: netbox/dcim/filtersets.py:1413 netbox/dcim/filtersets.py:2712 #: netbox/ipam/filtersets.py:295 netbox/ipam/filtersets.py:418 #: netbox/ipam/filtersets.py:535 netbox/ipam/filtersets.py:1054 #: netbox/virtualization/filtersets.py:258 msgid "Role (ID)" msgstr "" -#: netbox/dcim/filtersets.py:491 netbox/dcim/filtersets.py:1108 -#: netbox/dcim/filtersets.py:1273 netbox/dcim/filtersets.py:2498 -#: netbox/extras/filtersets.py:767 netbox/ipam/filtersets.py:302 +#: netbox/dcim/filtersets.py:503 netbox/dcim/filtersets.py:1255 +#: netbox/dcim/filtersets.py:1420 netbox/dcim/filtersets.py:2719 +#: netbox/extras/filtersets.py:778 netbox/ipam/filtersets.py:302 #: netbox/ipam/filtersets.py:425 netbox/ipam/filtersets.py:542 #: netbox/ipam/filtersets.py:1061 netbox/virtualization/filtersets.py:265 msgid "Role (slug)" msgstr "" -#: netbox/dcim/filtersets.py:523 netbox/dcim/filtersets.py:1348 -#: netbox/dcim/filtersets.py:1711 netbox/dcim/filtersets.py:1818 -#: netbox/dcim/filtersets.py:3007 +#: netbox/dcim/filtersets.py:540 netbox/dcim/filtersets.py:1495 +#: netbox/dcim/filtersets.py:1860 netbox/dcim/filtersets.py:1967 +#: netbox/dcim/filtersets.py:3228 netbox/dcim/filtersets.py:3391 msgid "Rack (ID)" msgstr "" -#: netbox/dcim/filtersets.py:605 netbox/extras/filtersets.py:343 -#: netbox/extras/filtersets.py:399 netbox/extras/filtersets.py:447 -#: netbox/extras/filtersets.py:470 netbox/extras/filtersets.py:541 +#: netbox/dcim/filtersets.py:622 netbox/extras/filtersets.py:354 +#: netbox/extras/filtersets.py:410 netbox/extras/filtersets.py:458 +#: netbox/extras/filtersets.py:481 netbox/extras/filtersets.py:552 #: netbox/users/filtersets.py:142 netbox/users/filtersets.py:223 msgid "User (name)" msgstr "" -#: netbox/dcim/filtersets.py:614 +#: netbox/dcim/filtersets.py:631 msgid "Minimum unit count" msgstr "" -#: netbox/dcim/filtersets.py:619 +#: netbox/dcim/filtersets.py:636 msgid "Maximum unit count" msgstr "" -#: netbox/dcim/filtersets.py:672 netbox/virtualization/filtersets.py:101 +#: netbox/dcim/filtersets.py:689 netbox/virtualization/filtersets.py:101 msgid "Default platform (ID)" msgstr "" -#: netbox/dcim/filtersets.py:679 netbox/virtualization/filtersets.py:108 +#: netbox/dcim/filtersets.py:696 netbox/virtualization/filtersets.py:108 msgid "Default platform (slug)" msgstr "" -#: netbox/dcim/filtersets.py:682 netbox/dcim/forms/filtersets.py:606 +#: netbox/dcim/filtersets.py:699 netbox/dcim/forms/filtersets.py:637 msgid "Has a front image" msgstr "" -#: netbox/dcim/filtersets.py:686 netbox/dcim/forms/filtersets.py:613 +#: netbox/dcim/filtersets.py:703 netbox/dcim/forms/filtersets.py:644 msgid "Has a rear image" msgstr "" -#: netbox/dcim/filtersets.py:691 netbox/dcim/filtersets.py:843 -#: netbox/dcim/filtersets.py:1424 netbox/dcim/forms/filtersets.py:620 -#: netbox/dcim/forms/filtersets.py:741 netbox/dcim/forms/filtersets.py:990 +#: netbox/dcim/filtersets.py:708 netbox/dcim/filtersets.py:920 +#: netbox/dcim/filtersets.py:1571 netbox/dcim/forms/filtersets.py:651 +#: netbox/dcim/forms/filtersets.py:810 netbox/dcim/forms/filtersets.py:1080 msgid "Has console ports" msgstr "" -#: netbox/dcim/filtersets.py:695 netbox/dcim/filtersets.py:847 -#: netbox/dcim/filtersets.py:1428 netbox/dcim/forms/filtersets.py:627 -#: netbox/dcim/forms/filtersets.py:748 netbox/dcim/forms/filtersets.py:997 +#: netbox/dcim/filtersets.py:712 netbox/dcim/filtersets.py:924 +#: netbox/dcim/filtersets.py:1575 netbox/dcim/forms/filtersets.py:658 +#: netbox/dcim/forms/filtersets.py:817 netbox/dcim/forms/filtersets.py:1087 msgid "Has console server ports" msgstr "" -#: netbox/dcim/filtersets.py:699 netbox/dcim/filtersets.py:851 -#: netbox/dcim/filtersets.py:1432 netbox/dcim/forms/filtersets.py:634 -#: netbox/dcim/forms/filtersets.py:755 netbox/dcim/forms/filtersets.py:1004 +#: netbox/dcim/filtersets.py:716 netbox/dcim/filtersets.py:928 +#: netbox/dcim/filtersets.py:1579 netbox/dcim/forms/filtersets.py:665 +#: netbox/dcim/forms/filtersets.py:824 netbox/dcim/forms/filtersets.py:1094 msgid "Has power ports" msgstr "" -#: netbox/dcim/filtersets.py:703 netbox/dcim/filtersets.py:855 -#: netbox/dcim/filtersets.py:1436 netbox/dcim/forms/filtersets.py:641 -#: netbox/dcim/forms/filtersets.py:762 netbox/dcim/forms/filtersets.py:1011 +#: netbox/dcim/filtersets.py:720 netbox/dcim/filtersets.py:932 +#: netbox/dcim/filtersets.py:1583 netbox/dcim/forms/filtersets.py:672 +#: netbox/dcim/forms/filtersets.py:831 netbox/dcim/forms/filtersets.py:1101 msgid "Has power outlets" msgstr "" -#: netbox/dcim/filtersets.py:707 netbox/dcim/filtersets.py:859 -#: netbox/dcim/filtersets.py:1440 netbox/dcim/forms/filtersets.py:648 -#: netbox/dcim/forms/filtersets.py:769 netbox/dcim/forms/filtersets.py:1018 +#: netbox/dcim/filtersets.py:724 netbox/dcim/filtersets.py:936 +#: netbox/dcim/filtersets.py:1587 netbox/dcim/forms/filtersets.py:679 +#: netbox/dcim/forms/filtersets.py:838 netbox/dcim/forms/filtersets.py:1108 msgid "Has interfaces" msgstr "" -#: netbox/dcim/filtersets.py:711 netbox/dcim/filtersets.py:863 -#: netbox/dcim/filtersets.py:1444 netbox/dcim/forms/filtersets.py:655 -#: netbox/dcim/forms/filtersets.py:776 netbox/dcim/forms/filtersets.py:1025 +#: netbox/dcim/filtersets.py:728 netbox/dcim/filtersets.py:940 +#: netbox/dcim/filtersets.py:1591 netbox/dcim/forms/filtersets.py:686 +#: netbox/dcim/forms/filtersets.py:845 netbox/dcim/forms/filtersets.py:1115 msgid "Has pass-through ports" msgstr "" -#: netbox/dcim/filtersets.py:715 netbox/dcim/filtersets.py:867 -#: netbox/dcim/filtersets.py:1448 netbox/dcim/forms/filtersets.py:669 -#: netbox/dcim/forms/filtersets.py:783 +#: netbox/dcim/filtersets.py:732 netbox/dcim/filtersets.py:944 +#: netbox/dcim/filtersets.py:1595 netbox/dcim/forms/filtersets.py:700 +#: netbox/dcim/forms/filtersets.py:852 msgid "Has module bays" msgstr "" -#: netbox/dcim/filtersets.py:719 netbox/dcim/filtersets.py:1452 -#: netbox/dcim/forms/filtersets.py:662 +#: netbox/dcim/filtersets.py:736 netbox/dcim/filtersets.py:1599 +#: netbox/dcim/forms/filtersets.py:693 msgid "Has device bays" msgstr "" -#: netbox/dcim/filtersets.py:723 netbox/dcim/forms/filtersets.py:676 +#: netbox/dcim/filtersets.py:740 netbox/dcim/forms/filtersets.py:707 msgid "Has inventory items" msgstr "" -#: netbox/dcim/filtersets.py:820 netbox/dcim/filtersets.py:1614 -#: netbox/extras/filtersets.py:700 -msgid "Profile (ID)" -msgstr "" - -#: netbox/dcim/filtersets.py:827 netbox/dcim/filtersets.py:1621 -#: netbox/extras/filtersets.py:707 -msgid "Profile (name)" -msgstr "" - -#: netbox/dcim/filtersets.py:932 netbox/dcim/filtersets.py:1260 -#: netbox/dcim/filtersets.py:1843 -msgid "Device type (ID)" -msgstr "" - -#: netbox/dcim/filtersets.py:949 netbox/dcim/filtersets.py:1640 +#: netbox/dcim/filtersets.py:834 netbox/dcim/filtersets.py:1029 +#: netbox/dcim/filtersets.py:1789 msgid "Module type (ID)" msgstr "" -#: netbox/dcim/filtersets.py:987 netbox/dcim/filtersets.py:2012 +#: netbox/dcim/filtersets.py:839 +msgid "Module bay template (ID)" +msgstr "" + +#: netbox/dcim/filtersets.py:844 netbox/dcim/filtersets.py:1802 +msgid "Module bay (ID)" +msgstr "" + +#: netbox/dcim/filtersets.py:884 netbox/dcim/filtersets.py:1763 +#: netbox/extras/filtersets.py:711 +msgid "Profile (ID)" +msgstr "" + +#: netbox/dcim/filtersets.py:891 netbox/dcim/filtersets.py:1770 +#: netbox/extras/filtersets.py:718 +msgid "Profile (name)" +msgstr "" + +#: netbox/dcim/filtersets.py:909 netbox/dcim/filtersets.py:1203 +#: netbox/dcim/filtersets.py:2655 +msgid "Module bay type (ID)" +msgstr "" + +#: netbox/dcim/filtersets.py:916 netbox/dcim/filtersets.py:1210 +#: netbox/dcim/filtersets.py:2662 +msgid "Module bay type (slug)" +msgstr "" + +#: netbox/dcim/filtersets.py:1012 netbox/dcim/filtersets.py:1407 +#: netbox/dcim/filtersets.py:1992 +msgid "Device type (ID)" +msgstr "" + +#: netbox/dcim/filtersets.py:1067 netbox/dcim/filtersets.py:2161 msgid "Power port (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1036 netbox/dcim/filtersets.py:2398 +#: netbox/dcim/filtersets.py:1116 netbox/dcim/filtersets.py:2224 +msgid "Cooling intake (ID)" +msgstr "" + +#: netbox/dcim/filtersets.py:1170 netbox/dcim/filtersets.py:2606 msgid "Rear port (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1055 netbox/dcim/filtersets.py:2420 +#: netbox/dcim/filtersets.py:1189 netbox/dcim/filtersets.py:2628 msgid "Front port (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1084 netbox/dcim/filtersets.py:2474 +#: netbox/dcim/filtersets.py:1231 netbox/dcim/filtersets.py:2695 msgid "Parent inventory item (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1133 netbox/dcim/filtersets.py:1213 -#: netbox/dcim/filtersets.py:1420 netbox/virtualization/filtersets.py:291 +#: netbox/dcim/filtersets.py:1280 netbox/dcim/filtersets.py:1360 +#: netbox/dcim/filtersets.py:1567 netbox/virtualization/filtersets.py:291 msgid "Config template (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1138 netbox/dcim/filtersets.py:1151 +#: netbox/dcim/filtersets.py:1285 netbox/dcim/filtersets.py:1298 msgid "Parent device role (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1145 netbox/dcim/filtersets.py:1158 +#: netbox/dcim/filtersets.py:1292 netbox/dcim/filtersets.py:1305 msgid "Parent device role (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1171 +#: netbox/dcim/filtersets.py:1318 msgid "Immediate parent platform (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1178 +#: netbox/dcim/filtersets.py:1325 msgid "Immediate parent platform (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1184 +#: netbox/dcim/filtersets.py:1331 msgid "Parent platform (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1191 +#: netbox/dcim/filtersets.py:1338 msgid "Parent platform (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1255 +#: netbox/dcim/filtersets.py:1402 msgid "Device type (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1278 +#: netbox/dcim/filtersets.py:1425 msgid "Parent Device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1284 netbox/virtualization/filtersets.py:271 +#: netbox/dcim/filtersets.py:1431 netbox/virtualization/filtersets.py:271 msgid "Platform (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1291 netbox/extras/filtersets.py:778 +#: netbox/dcim/filtersets.py:1438 netbox/extras/filtersets.py:789 #: netbox/virtualization/filtersets.py:278 msgid "Platform (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1329 netbox/dcim/filtersets.py:1692 -#: netbox/dcim/filtersets.py:1799 netbox/dcim/filtersets.py:2587 -#: netbox/dcim/filtersets.py:2934 netbox/dcim/filtersets.py:2996 +#: netbox/dcim/filtersets.py:1476 netbox/dcim/filtersets.py:1841 +#: netbox/dcim/filtersets.py:1948 netbox/dcim/filtersets.py:2808 +#: netbox/dcim/filtersets.py:3155 netbox/dcim/filtersets.py:3217 +#: netbox/dcim/filtersets.py:3293 netbox/dcim/filtersets.py:3380 msgid "Site name (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1353 +#: netbox/dcim/filtersets.py:1500 msgid "Parent bay (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1358 +#: netbox/dcim/filtersets.py:1505 msgid "VM cluster (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1365 netbox/extras/filtersets.py:800 +#: netbox/dcim/filtersets.py:1512 netbox/extras/filtersets.py:811 #: netbox/virtualization/filtersets.py:175 msgid "Cluster group (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1371 netbox/virtualization/filtersets.py:168 +#: netbox/dcim/filtersets.py:1518 netbox/virtualization/filtersets.py:168 msgid "Cluster group (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1378 +#: netbox/dcim/filtersets.py:1525 msgid "Device model (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1390 netbox/dcim/forms/bulk_edit.py:529 +#: netbox/dcim/filtersets.py:1537 netbox/dcim/forms/bulk_edit.py:562 msgid "Is full depth" msgstr "" -#: netbox/dcim/filtersets.py:1394 netbox/dcim/forms/filtersets.py:960 -#: netbox/dcim/forms/filtersets.py:1702 netbox/dcim/forms/filtersets.py:2067 -#: netbox/dcim/forms/model_forms.py:1979 netbox/dcim/models/devices.py:1363 -#: netbox/dcim/models/devices.py:1387 netbox/dcim/ui/panels.py:383 -#: netbox/dcim/ui/panels.py:518 netbox/virtualization/filtersets.py:282 +#: netbox/dcim/filtersets.py:1541 netbox/dcim/forms/common.py:29 +#: netbox/dcim/forms/filtersets.py:1050 netbox/dcim/forms/filtersets.py:2078 +#: netbox/dcim/forms/filtersets.py:2453 netbox/dcim/forms/model_forms.py:2517 +#: netbox/dcim/models/devices.py:1420 netbox/dcim/models/devices.py:1444 +#: netbox/dcim/ui/panels.py:476 netbox/dcim/ui/panels.py:613 +#: netbox/virtualization/filtersets.py:282 #: netbox/virtualization/filtersets.py:370 #: netbox/virtualization/forms/filtersets.py:247 #: netbox/virtualization/forms/filtersets.py:301 msgid "MAC address" msgstr "" -#: netbox/dcim/filtersets.py:1401 netbox/dcim/filtersets.py:1580 -#: netbox/dcim/forms/filtersets.py:969 netbox/dcim/forms/filtersets.py:1070 +#: netbox/dcim/filtersets.py:1548 netbox/dcim/filtersets.py:1729 +#: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1160 #: netbox/virtualization/filtersets.py:286 #: netbox/virtualization/forms/filtersets.py:251 msgid "Has a primary IP" msgstr "" -#: netbox/dcim/filtersets.py:1405 +#: netbox/dcim/filtersets.py:1552 msgid "Has an out-of-band IP" msgstr "" -#: netbox/dcim/filtersets.py:1411 +#: netbox/dcim/filtersets.py:1558 msgid "Virtual chassis (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1415 +#: netbox/dcim/filtersets.py:1562 msgid "Is a virtual chassis member" msgstr "" -#: netbox/dcim/filtersets.py:1458 +#: netbox/dcim/filtersets.py:1605 msgid "OOB IP (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1462 +#: netbox/dcim/filtersets.py:1609 msgid "Has virtual device context" msgstr "" -#: netbox/dcim/filtersets.py:1561 +#: netbox/dcim/filtersets.py:1710 msgid "VDC (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1567 +#: netbox/dcim/filtersets.py:1716 msgid "Device model" msgstr "" -#: netbox/dcim/filtersets.py:1647 +#: netbox/dcim/filtersets.py:1796 msgid "Module type (model)" msgstr "" -#: netbox/dcim/filtersets.py:1653 -msgid "Module bay (ID)" -msgstr "" - -#: netbox/dcim/filtersets.py:1718 netbox/dcim/filtersets.py:1825 +#: netbox/dcim/filtersets.py:1867 netbox/dcim/filtersets.py:1974 msgid "Rack (name)" msgstr "" -#: netbox/dcim/filtersets.py:1723 netbox/dcim/filtersets.py:1830 -#: netbox/dcim/filtersets.py:2040 netbox/ipam/filtersets.py:659 -#: netbox/ipam/filtersets.py:906 netbox/ipam/filtersets.py:1249 +#: netbox/dcim/filtersets.py:1872 netbox/dcim/filtersets.py:1979 +#: netbox/dcim/filtersets.py:2246 netbox/ipam/filtersets.py:659 +#: netbox/ipam/filtersets.py:906 netbox/ipam/filtersets.py:1379 #: netbox/virtualization/filtersets.py:205 netbox/vpn/filtersets.py:423 msgid "Device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1730 netbox/dcim/filtersets.py:1837 -#: netbox/dcim/filtersets.py:2035 netbox/ipam/filtersets.py:654 -#: netbox/ipam/filtersets.py:901 netbox/ipam/filtersets.py:1244 +#: netbox/dcim/filtersets.py:1879 netbox/dcim/filtersets.py:1986 +#: netbox/dcim/filtersets.py:2241 netbox/ipam/filtersets.py:654 +#: netbox/ipam/filtersets.py:901 netbox/ipam/filtersets.py:1374 #: netbox/vpn/filtersets.py:418 msgid "Device (name)" msgstr "" -#: netbox/dcim/filtersets.py:1850 +#: netbox/dcim/filtersets.py:1999 msgid "Device type (model)" msgstr "" -#: netbox/dcim/filtersets.py:1856 +#: netbox/dcim/filtersets.py:2005 msgid "Device role (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1863 +#: netbox/dcim/filtersets.py:2012 msgid "Device role (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1869 +#: netbox/dcim/filtersets.py:2018 msgid "Virtual Chassis (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1876 netbox/dcim/forms/filtersets.py:130 -#: netbox/dcim/forms/object_create.py:331 netbox/dcim/tables/devices.py:215 +#: netbox/dcim/filtersets.py:2025 netbox/dcim/forms/filtersets.py:142 +#: netbox/dcim/forms/object_create.py:374 netbox/dcim/tables/devices.py:221 #: netbox/netbox/navigation/menu.py:88 -#: netbox/templates/dcim/device_edit.html:95 +#: netbox/templates/dcim/device_edit.html:102 #: netbox/templates/dcim/virtualchassis_edit.html:28 msgid "Virtual Chassis" msgstr "" -#: netbox/dcim/filtersets.py:1887 netbox/dcim/filtersets.py:2593 +#: netbox/dcim/filtersets.py:2036 netbox/dcim/filtersets.py:2814 #: netbox/tenancy/filtersets.py:271 msgid "Tenant (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1894 netbox/dcim/filtersets.py:2600 -#: netbox/extras/filtersets.py:827 netbox/tenancy/filtersets.py:278 +#: netbox/dcim/filtersets.py:2043 netbox/dcim/filtersets.py:2821 +#: netbox/extras/filtersets.py:838 netbox/tenancy/filtersets.py:278 msgid "Tenant (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1915 +#: netbox/dcim/filtersets.py:2064 msgid "Module (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1923 netbox/dcim/filtersets.py:2827 +#: netbox/dcim/filtersets.py:2072 netbox/dcim/filtersets.py:3048 msgid "Cable (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2045 netbox/ipam/filtersets.py:664 -#: netbox/ipam/filtersets.py:911 netbox/ipam/filtersets.py:1254 +#: netbox/dcim/filtersets.py:2198 +msgid "Cooling outflow (ID)" +msgstr "" + +#: netbox/dcim/filtersets.py:2251 netbox/ipam/filtersets.py:664 +#: netbox/ipam/filtersets.py:911 netbox/ipam/filtersets.py:1384 #: netbox/vpn/filtersets.py:429 msgid "Virtual machine (name)" msgstr "" -#: netbox/dcim/filtersets.py:2050 netbox/ipam/filtersets.py:669 -#: netbox/ipam/filtersets.py:916 netbox/ipam/filtersets.py:1259 +#: netbox/dcim/filtersets.py:2256 netbox/ipam/filtersets.py:669 +#: netbox/ipam/filtersets.py:916 netbox/ipam/filtersets.py:1389 #: netbox/virtualization/filtersets.py:347 #: netbox/virtualization/filtersets.py:405 netbox/vpn/filtersets.py:434 msgid "Virtual machine (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2056 netbox/ipam/filtersets.py:675 +#: netbox/dcim/filtersets.py:2262 netbox/ipam/filtersets.py:675 #: netbox/vpn/filtersets.py:112 netbox/vpn/filtersets.py:440 msgid "Interface (name)" msgstr "" -#: netbox/dcim/filtersets.py:2067 netbox/ipam/filtersets.py:686 +#: netbox/dcim/filtersets.py:2273 netbox/ipam/filtersets.py:686 #: netbox/vpn/filtersets.py:123 netbox/vpn/filtersets.py:451 msgid "VM interface (name)" msgstr "" -#: netbox/dcim/filtersets.py:2072 netbox/ipam/filtersets.py:691 +#: netbox/dcim/filtersets.py:2278 netbox/ipam/filtersets.py:691 #: netbox/vpn/filtersets.py:128 msgid "VM interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2076 netbox/ipam/filtersets.py:704 +#: netbox/dcim/filtersets.py:2282 netbox/ipam/filtersets.py:704 msgid "Is assigned" msgstr "" -#: netbox/dcim/filtersets.py:2080 netbox/dcim/forms/bulk_import.py:1453 -#: netbox/ipam/forms/bulk_import.py:344 +#: netbox/dcim/filtersets.py:2286 netbox/dcim/forms/bulk_import.py:1640 +#: netbox/ipam/forms/bulk_import.py:348 msgid "Is primary" msgstr "" -#: netbox/dcim/filtersets.py:2144 -#: netbox/virtualization/forms/model_forms.py:476 +#: netbox/dcim/filtersets.py:2350 netbox/dcim/forms/model_forms.py:2040 +#: netbox/virtualization/forms/model_forms.py:421 #: netbox/virtualization/ui/panels.py:99 msgid "802.1Q Mode" msgstr "" -#: netbox/dcim/filtersets.py:2148 netbox/ipam/forms/bulk_import.py:202 +#: netbox/dcim/filtersets.py:2354 netbox/ipam/forms/bulk_import.py:206 #: netbox/vpn/forms/bulk_import.py:313 msgid "Assigned VLAN" msgstr "" -#: netbox/dcim/filtersets.py:2152 +#: netbox/dcim/filtersets.py:2358 msgid "Assigned VID" msgstr "" -#: netbox/dcim/filtersets.py:2158 netbox/dcim/forms/bulk_edit.py:1582 -#: netbox/dcim/forms/bulk_import.py:1051 netbox/dcim/forms/filtersets.py:1755 -#: netbox/dcim/forms/model_forms.py:1619 -#: netbox/dcim/models/device_components.py:958 -#: netbox/dcim/tables/devices.py:678 netbox/dcim/ui/panels.py:521 +#: netbox/dcim/filtersets.py:2364 netbox/dcim/forms/bulk_edit.py:2006 +#: netbox/dcim/forms/bulk_import.py:1238 netbox/dcim/forms/filtersets.py:2131 +#: netbox/dcim/forms/model_forms.py:2142 +#: netbox/dcim/models/device_components.py:1147 +#: netbox/dcim/tables/devices.py:694 netbox/dcim/ui/panels.py:616 #: netbox/ipam/filtersets.py:372 netbox/ipam/filtersets.py:384 #: netbox/ipam/filtersets.py:523 netbox/ipam/filtersets.py:630 -#: netbox/ipam/filtersets.py:642 netbox/ipam/forms/bulk_edit.py:193 -#: netbox/ipam/forms/bulk_edit.py:243 netbox/ipam/forms/bulk_edit.py:284 -#: netbox/ipam/forms/bulk_import.py:170 netbox/ipam/forms/bulk_import.py:255 -#: netbox/ipam/forms/bulk_import.py:291 netbox/ipam/forms/filtersets.py:70 +#: netbox/ipam/filtersets.py:642 netbox/ipam/forms/bulk_edit.py:194 +#: netbox/ipam/forms/bulk_edit.py:244 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/ipam/forms/bulk_import.py:174 netbox/ipam/forms/bulk_import.py:259 +#: netbox/ipam/forms/bulk_import.py:295 netbox/ipam/forms/filtersets.py:70 #: netbox/ipam/forms/filtersets.py:199 netbox/ipam/forms/filtersets.py:353 -#: netbox/ipam/forms/model_forms.py:70 netbox/ipam/forms/model_forms.py:211 -#: netbox/ipam/forms/model_forms.py:283 netbox/ipam/forms/model_forms.py:336 -#: netbox/ipam/forms/model_forms.py:499 netbox/ipam/forms/model_forms.py:519 -#: netbox/ipam/forms/model_forms.py:533 netbox/ipam/models/ip.py:232 +#: netbox/ipam/forms/model_forms.py:70 netbox/ipam/forms/model_forms.py:217 +#: netbox/ipam/forms/model_forms.py:295 netbox/ipam/forms/model_forms.py:360 +#: netbox/ipam/forms/model_forms.py:535 netbox/ipam/forms/model_forms.py:555 +#: netbox/ipam/forms/model_forms.py:578 netbox/ipam/models/ip.py:232 #: netbox/ipam/models/ip.py:670 netbox/ipam/models/ip.py:961 #: netbox/ipam/models/vrfs.py:64 netbox/ipam/tables/ip.py:192 #: netbox/ipam/tables/ip.py:263 netbox/ipam/tables/ip.py:316 @@ -4041,164 +4594,167 @@ msgstr "" #: netbox/virtualization/forms/bulk_edit.py:280 #: netbox/virtualization/forms/bulk_import.py:245 #: netbox/virtualization/forms/filtersets.py:306 -#: netbox/virtualization/forms/model_forms.py:449 +#: netbox/virtualization/forms/model_forms.py:486 #: netbox/virtualization/models/virtualmachines.py:487 #: netbox/virtualization/tables/virtualmachines.py:158 #: netbox/virtualization/ui/panels.py:110 msgid "VRF" msgstr "" -#: netbox/dcim/filtersets.py:2165 netbox/ipam/filtersets.py:379 +#: netbox/dcim/filtersets.py:2371 netbox/ipam/filtersets.py:379 #: netbox/ipam/filtersets.py:390 netbox/ipam/filtersets.py:530 #: netbox/ipam/filtersets.py:637 netbox/ipam/filtersets.py:648 msgid "VRF (RD)" msgstr "" -#: netbox/dcim/filtersets.py:2170 netbox/ipam/filtersets.py:1100 +#: netbox/dcim/filtersets.py:2376 netbox/ipam/filtersets.py:1100 #: netbox/vpn/filtersets.py:385 msgid "L2VPN (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2176 netbox/dcim/forms/filtersets.py:1760 -#: netbox/dcim/tables/devices.py:618 netbox/dcim/ui/panels.py:501 +#: netbox/dcim/filtersets.py:2382 netbox/dcim/forms/filtersets.py:2136 +#: netbox/dcim/tables/devices.py:634 netbox/dcim/ui/panels.py:595 #: netbox/ipam/filtersets.py:1106 netbox/ipam/forms/filtersets.py:634 #: netbox/ipam/tables/vlans.py:120 netbox/ipam/ui/panels.py:207 #: netbox/virtualization/forms/filtersets.py:311 #: netbox/vpn/forms/bulk_import.py:285 netbox/vpn/forms/filtersets.py:268 -#: netbox/vpn/forms/model_forms.py:407 netbox/vpn/forms/model_forms.py:425 +#: netbox/vpn/forms/model_forms.py:471 netbox/vpn/forms/model_forms.py:489 #: netbox/vpn/models/l2vpn.py:68 netbox/vpn/tables/l2vpn.py:55 #: netbox/vpn/ui/panels.py:101 msgid "L2VPN" msgstr "" -#: netbox/dcim/filtersets.py:2182 netbox/ipam/filtersets.py:1188 +#: netbox/dcim/filtersets.py:2388 netbox/ipam/filtersets.py:1188 msgid "VLAN Translation Policy (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2189 netbox/dcim/forms/filtersets.py:1726 -#: netbox/dcim/forms/model_forms.py:1636 -#: netbox/dcim/models/device_components.py:759 -#: netbox/ipam/forms/filtersets.py:552 netbox/ipam/forms/model_forms.py:726 +#: netbox/dcim/filtersets.py:2395 netbox/dcim/forms/filtersets.py:2102 +#: netbox/dcim/forms/model_forms.py:2152 +#: netbox/dcim/models/device_components.py:862 +#: netbox/ipam/forms/filtersets.py:552 netbox/ipam/forms/model_forms.py:783 #: netbox/virtualization/forms/bulk_edit.py:285 #: netbox/virtualization/forms/filtersets.py:321 -#: netbox/virtualization/forms/model_forms.py:454 +#: netbox/virtualization/forms/model_forms.py:491 msgid "VLAN Translation Policy" msgstr "" -#: netbox/dcim/filtersets.py:2223 +#: netbox/dcim/filtersets.py:2429 msgid "Virtual Chassis Interfaces for Device when device is master" msgstr "" -#: netbox/dcim/filtersets.py:2228 +#: netbox/dcim/filtersets.py:2434 msgid "Virtual Chassis Interfaces for Device when device is master (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2233 +#: netbox/dcim/filtersets.py:2439 msgid "Virtual Chassis Interfaces for Device" msgstr "" -#: netbox/dcim/filtersets.py:2238 +#: netbox/dcim/filtersets.py:2444 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2242 +#: netbox/dcim/filtersets.py:2448 msgid "Kind of interface" msgstr "" -#: netbox/dcim/filtersets.py:2248 netbox/virtualization/filtersets.py:360 +#: netbox/dcim/filtersets.py:2454 netbox/virtualization/filtersets.py:360 msgid "Parent interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2254 netbox/virtualization/filtersets.py:366 +#: netbox/dcim/filtersets.py:2460 netbox/virtualization/filtersets.py:366 msgid "Bridged interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2260 +#: netbox/dcim/filtersets.py:2466 msgid "LAG interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2269 netbox/dcim/tables/devices.py:1224 +#: netbox/dcim/filtersets.py:2475 netbox/dcim/tables/devices.py:1299 #: netbox/virtualization/ui/panels.py:108 msgid "MAC Address" msgstr "" -#: netbox/dcim/filtersets.py:2275 netbox/virtualization/filtersets.py:376 +#: netbox/dcim/filtersets.py:2481 netbox/virtualization/filtersets.py:376 msgid "Primary MAC address (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2282 netbox/dcim/forms/model_forms.py:1623 -#: netbox/virtualization/filtersets.py:383 -#: netbox/virtualization/forms/model_forms.py:392 +#: netbox/dcim/filtersets.py:2488 netbox/virtualization/filtersets.py:383 +#: netbox/virtualization/forms/model_forms.py:429 msgid "Primary MAC address" msgstr "" -#: netbox/dcim/filtersets.py:2309 netbox/dcim/filtersets.py:2321 -#: netbox/dcim/forms/filtersets.py:1662 netbox/dcim/forms/model_forms.py:1959 +#: netbox/dcim/filtersets.py:2515 netbox/dcim/filtersets.py:2527 +#: netbox/dcim/forms/filtersets.py:2030 netbox/dcim/forms/model_forms.py:2497 msgid "Virtual Device Context" msgstr "" -#: netbox/dcim/filtersets.py:2315 +#: netbox/dcim/filtersets.py:2521 msgid "Virtual Device Context (Identifier)" msgstr "" -#: netbox/dcim/filtersets.py:2326 netbox/wireless/forms/model_forms.py:54 +#: netbox/dcim/filtersets.py:2532 netbox/wireless/forms/model_forms.py:77 msgid "Wireless LAN" msgstr "" -#: netbox/dcim/filtersets.py:2331 netbox/dcim/tables/devices.py:665 +#: netbox/dcim/filtersets.py:2537 netbox/dcim/tables/devices.py:681 msgid "Wireless link" msgstr "" -#: netbox/dcim/filtersets.py:2341 +#: netbox/dcim/filtersets.py:2547 msgid "Virtual circuit termination (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2436 +#: netbox/dcim/filtersets.py:2644 msgid "Parent module bay (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2441 +#: netbox/dcim/filtersets.py:2649 msgid "Installed module (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2454 +#: netbox/dcim/filtersets.py:2675 msgid "Installed device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2461 +#: netbox/dcim/filtersets.py:2682 msgid "Installed device (name)" msgstr "" -#: netbox/dcim/filtersets.py:2541 +#: netbox/dcim/filtersets.py:2762 msgid "Master (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2548 +#: netbox/dcim/filtersets.py:2769 msgid "Master (name)" msgstr "" -#: netbox/dcim/filtersets.py:2654 netbox/dcim/forms/filtersets.py:1296 +#: netbox/dcim/filtersets.py:2875 netbox/dcim/forms/filtersets.py:1386 msgid "Unterminated" msgstr "" -#: netbox/dcim/filtersets.py:2658 +#: netbox/dcim/filtersets.py:2879 msgid "Cable bundle (ID)" msgstr "" -#: netbox/dcim/filtersets.py:2664 +#: netbox/dcim/filtersets.py:2885 msgid "Cable bundle (name)" msgstr "" -#: netbox/dcim/filtersets.py:3001 +#: netbox/dcim/filtersets.py:3222 msgid "Power panel (ID)" msgstr "" -#: netbox/dcim/forms/bulk_create.py:42 netbox/extras/forms/filtersets.py:496 -#: netbox/extras/forms/model_forms.py:694 -#: netbox/extras/forms/model_forms.py:779 -#: netbox/extras/forms/model_forms.py:831 netbox/extras/ui/panels.py:103 +#: netbox/dcim/filtersets.py:3385 +msgid "Cooling source (ID)" +msgstr "" + +#: netbox/dcim/forms/bulk_create.py:44 netbox/extras/forms/filtersets.py:534 +#: netbox/extras/forms/model_forms.py:720 +#: netbox/extras/forms/model_forms.py:805 +#: netbox/extras/forms/model_forms.py:857 netbox/extras/ui/panels.py:104 #: netbox/netbox/forms/bulk_import.py:28 netbox/netbox/forms/mixins.py:135 -#: netbox/netbox/tables/columns.py:503 +#: netbox/netbox/tables/columns.py:507 #: netbox/templates/circuits/inc/circuit_termination.html:29 #: netbox/templates/circuits/panels/circuit_circuit_termination.html:29 #: netbox/templates/generic/bulk_edit.html:78 @@ -4207,11 +4763,11 @@ msgstr "" msgid "Tags" msgstr "" -#: netbox/dcim/forms/bulk_create.py:120 netbox/dcim/forms/bulk_edit.py:1255 -#: netbox/dcim/forms/filtersets.py:1909 netbox/dcim/forms/filtersets.py:1928 -#: netbox/dcim/forms/model_forms.py:640 netbox/dcim/forms/model_forms.py:707 -#: netbox/dcim/forms/object_create.py:157 -#: netbox/dcim/forms/object_create.py:258 netbox/dcim/tables/devices.py:169 +#: netbox/dcim/forms/bulk_create.py:149 netbox/dcim/forms/bulk_edit.py:1600 +#: netbox/dcim/forms/filtersets.py:2285 netbox/dcim/forms/filtersets.py:2309 +#: netbox/dcim/forms/model_forms.py:807 netbox/dcim/forms/model_forms.py:874 +#: netbox/dcim/forms/object_create.py:183 +#: netbox/dcim/forms/object_create.py:301 netbox/dcim/tables/devices.py:175 #: netbox/templates/dcim/panels/front_port_mappings.html:9 #: netbox/templates/dcim/panels/rear_port_mappings.html:9 #: netbox/templates/dcim/panels/virtual_chassis_members.html:9 @@ -4219,333 +4775,412 @@ msgstr "" msgid "Position" msgstr "" -#: netbox/dcim/forms/bulk_create.py:122 +#: netbox/dcim/forms/bulk_create.py:151 msgid "" "Alphanumeric ranges are supported. (Must match the number of names being " "created.)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:136 netbox/dcim/forms/bulk_edit.py:200 -#: netbox/dcim/forms/filtersets.py:275 +#: netbox/dcim/forms/bulk_edit.py:146 netbox/dcim/forms/bulk_edit.py:210 +#: netbox/dcim/forms/filtersets.py:287 msgid "Facility" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:146 +#: netbox/dcim/forms/bulk_edit.py:156 msgid "Contact name" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:151 +#: netbox/dcim/forms/bulk_edit.py:161 msgid "Contact phone" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:157 +#: netbox/dcim/forms/bulk_edit.py:167 msgid "Contact E-mail" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:160 netbox/dcim/forms/bulk_import.py:141 -#: netbox/dcim/forms/model_forms.py:159 +#: netbox/dcim/forms/bulk_edit.py:170 netbox/dcim/forms/bulk_import.py:152 +#: netbox/dcim/forms/model_forms.py:178 msgid "Time zone" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:235 netbox/dcim/forms/bulk_edit.py:508 -#: netbox/dcim/forms/bulk_edit.py:584 netbox/dcim/forms/bulk_edit.py:656 -#: netbox/dcim/forms/bulk_edit.py:675 netbox/dcim/forms/bulk_edit.py:762 -#: netbox/dcim/forms/bulk_edit.py:1315 netbox/dcim/forms/bulk_edit.py:1756 -#: netbox/dcim/forms/bulk_import.py:209 netbox/dcim/forms/bulk_import.py:433 -#: netbox/dcim/forms/bulk_import.py:483 netbox/dcim/forms/bulk_import.py:567 -#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/bulk_import.py:1321 -#: netbox/dcim/forms/filtersets.py:355 netbox/dcim/forms/filtersets.py:426 -#: netbox/dcim/forms/filtersets.py:578 netbox/dcim/forms/filtersets.py:728 -#: netbox/dcim/forms/filtersets.py:841 netbox/dcim/forms/filtersets.py:924 -#: netbox/dcim/forms/filtersets.py:1140 netbox/dcim/forms/filtersets.py:1995 -#: netbox/dcim/forms/filtersets.py:2035 netbox/dcim/forms/model_forms.py:263 -#: netbox/dcim/forms/model_forms.py:399 netbox/dcim/forms/model_forms.py:411 -#: netbox/dcim/forms/model_forms.py:481 netbox/dcim/forms/model_forms.py:585 -#: netbox/dcim/forms/model_forms.py:1303 netbox/dcim/forms/model_forms.py:1786 -#: netbox/dcim/forms/object_import.py:204 netbox/dcim/tables/devices.py:101 -#: netbox/dcim/tables/devices.py:176 netbox/dcim/tables/devices.py:1065 -#: netbox/dcim/tables/devicetypes.py:87 netbox/dcim/tables/devicetypes.py:328 -#: netbox/dcim/tables/modules.py:47 netbox/dcim/tables/modules.py:92 -#: netbox/dcim/tables/racks.py:75 netbox/dcim/tables/racks.py:149 +#: netbox/dcim/forms/bulk_edit.py:245 netbox/dcim/forms/bulk_edit.py:541 +#: netbox/dcim/forms/bulk_edit.py:612 netbox/dcim/forms/bulk_edit.py:648 +#: netbox/dcim/forms/bulk_edit.py:745 netbox/dcim/forms/bulk_edit.py:764 +#: netbox/dcim/forms/bulk_edit.py:856 netbox/dcim/forms/bulk_edit.py:1674 +#: netbox/dcim/forms/bulk_edit.py:2203 netbox/dcim/forms/bulk_import.py:220 +#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/bulk_import.py:491 +#: netbox/dcim/forms/bulk_import.py:521 netbox/dcim/forms/bulk_import.py:611 +#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:1508 +#: netbox/dcim/forms/filtersets.py:378 netbox/dcim/forms/filtersets.py:450 +#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/filtersets.py:745 +#: netbox/dcim/forms/filtersets.py:791 netbox/dcim/forms/filtersets.py:925 +#: netbox/dcim/forms/filtersets.py:1009 netbox/dcim/forms/filtersets.py:1230 +#: netbox/dcim/forms/filtersets.py:2381 netbox/dcim/forms/filtersets.py:2421 +#: netbox/dcim/forms/model_forms.py:301 netbox/dcim/forms/model_forms.py:491 +#: netbox/dcim/forms/model_forms.py:522 netbox/dcim/forms/model_forms.py:572 +#: netbox/dcim/forms/model_forms.py:627 netbox/dcim/forms/model_forms.py:742 +#: netbox/dcim/forms/model_forms.py:1704 netbox/dcim/forms/model_forms.py:2320 +#: netbox/dcim/forms/object_import.py:320 netbox/dcim/tables/devices.py:107 +#: netbox/dcim/tables/devices.py:182 netbox/dcim/tables/devices.py:1085 +#: netbox/dcim/tables/devicetypes.py:87 netbox/dcim/tables/devicetypes.py:342 +#: netbox/dcim/tables/modules.py:23 netbox/dcim/tables/modules.py:75 +#: netbox/dcim/tables/modules.py:128 netbox/dcim/tables/racks.py:75 +#: netbox/dcim/tables/racks.py:155 #: netbox/templates/dcim/panels/module_type.html:7 msgid "Manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:240 netbox/dcim/forms/bulk_edit.py:392 -#: netbox/dcim/forms/bulk_import.py:218 netbox/dcim/forms/bulk_import.py:304 -#: netbox/dcim/forms/filtersets.py:301 +#: netbox/dcim/forms/bulk_edit.py:250 netbox/dcim/forms/bulk_edit.py:413 +#: netbox/dcim/forms/bulk_import.py:229 netbox/dcim/forms/bulk_import.py:321 +#: netbox/dcim/forms/filtersets.py:313 netbox/dcim/forms/model_forms.py:287 +#: netbox/dcim/forms/model_forms.py:338 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:6 msgid "Form factor" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:245 netbox/dcim/forms/bulk_edit.py:397 -#: netbox/dcim/forms/bulk_import.py:226 netbox/dcim/forms/bulk_import.py:307 -#: netbox/dcim/forms/filtersets.py:306 +#: netbox/dcim/forms/bulk_edit.py:255 netbox/dcim/forms/bulk_edit.py:418 +#: netbox/dcim/forms/bulk_import.py:237 netbox/dcim/forms/bulk_import.py:324 +#: netbox/dcim/forms/filtersets.py:318 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:10 msgid "Width" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:251 netbox/dcim/forms/bulk_edit.py:403 -#: netbox/dcim/forms/bulk_import.py:314 +#: netbox/dcim/forms/bulk_edit.py:261 netbox/dcim/forms/bulk_edit.py:424 +#: netbox/dcim/forms/bulk_import.py:331 msgid "Height (U)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:260 netbox/dcim/forms/bulk_edit.py:408 -#: netbox/dcim/forms/filtersets.py:320 netbox/dcim/ui/panels.py:40 +#: netbox/dcim/forms/bulk_edit.py:270 netbox/dcim/forms/bulk_edit.py:429 +#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/ui/panels.py:64 msgid "Descending units" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:263 netbox/dcim/forms/bulk_edit.py:411 +#: netbox/dcim/forms/bulk_edit.py:273 netbox/dcim/forms/bulk_edit.py:432 msgid "Outer width" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:268 netbox/dcim/forms/bulk_edit.py:416 +#: netbox/dcim/forms/bulk_edit.py:278 netbox/dcim/forms/bulk_edit.py:437 msgid "Outer height" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:273 netbox/dcim/forms/bulk_edit.py:421 +#: netbox/dcim/forms/bulk_edit.py:283 netbox/dcim/forms/bulk_edit.py:442 msgid "Outer depth" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:278 netbox/dcim/forms/bulk_edit.py:426 -#: netbox/dcim/forms/bulk_import.py:231 netbox/dcim/forms/bulk_import.py:317 +#: netbox/dcim/forms/bulk_edit.py:288 netbox/dcim/forms/bulk_edit.py:447 +#: netbox/dcim/forms/bulk_import.py:242 netbox/dcim/forms/bulk_import.py:334 +#: netbox/dcim/forms/model_forms.py:291 netbox/dcim/forms/model_forms.py:343 msgid "Outer unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:283 netbox/dcim/forms/bulk_edit.py:431 +#: netbox/dcim/forms/bulk_edit.py:293 netbox/dcim/forms/bulk_edit.py:452 msgid "Mounting depth" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:288 netbox/dcim/forms/bulk_edit.py:309 -#: netbox/dcim/forms/bulk_edit.py:441 netbox/dcim/forms/bulk_edit.py:465 -#: netbox/dcim/forms/bulk_edit.py:542 netbox/dcim/forms/bulk_edit.py:559 -#: netbox/dcim/forms/bulk_edit.py:598 netbox/dcim/forms/bulk_edit.py:614 -#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:494 -#: netbox/dcim/forms/filtersets.py:326 netbox/dcim/forms/filtersets.py:348 -#: netbox/dcim/forms/filtersets.py:373 netbox/dcim/forms/filtersets.py:458 -#: netbox/dcim/forms/filtersets.py:571 netbox/dcim/forms/filtersets.py:683 -#: netbox/dcim/forms/filtersets.py:715 netbox/dcim/forms/filtersets.py:795 -#: netbox/dcim/forms/model_forms.py:277 netbox/dcim/forms/model_forms.py:363 -#: netbox/dcim/tables/devicetypes.py:110 netbox/dcim/tables/modules.py:55 -#: netbox/dcim/tables/racks.py:95 netbox/dcim/tables/racks.py:190 -#: netbox/dcim/views.py:983 netbox/dcim/views.py:1111 -#: netbox/extras/forms/bulk_edit.py:57 netbox/extras/forms/bulk_edit.py:144 -#: netbox/extras/forms/bulk_edit.py:198 netbox/extras/forms/bulk_edit.py:226 -#: netbox/extras/forms/bulk_edit.py:327 netbox/extras/forms/bulk_edit.py:353 -#: netbox/extras/forms/filtersets.py:74 netbox/extras/forms/filtersets.py:175 -#: netbox/extras/forms/filtersets.py:271 netbox/extras/forms/filtersets.py:302 -#: netbox/ipam/forms/bulk_edit.py:165 +#: netbox/dcim/forms/bulk_edit.py:298 netbox/dcim/forms/bulk_edit.py:329 +#: netbox/dcim/forms/bulk_edit.py:472 netbox/dcim/forms/bulk_edit.py:497 +#: netbox/dcim/forms/bulk_edit.py:580 netbox/dcim/forms/bulk_edit.py:602 +#: netbox/dcim/forms/bulk_edit.py:667 netbox/dcim/forms/bulk_edit.py:698 +#: netbox/dcim/forms/bulk_import.py:469 netbox/dcim/forms/bulk_import.py:538 +#: netbox/dcim/forms/filtersets.py:338 netbox/dcim/forms/filtersets.py:370 +#: netbox/dcim/forms/filtersets.py:397 netbox/dcim/forms/filtersets.py:482 +#: netbox/dcim/forms/filtersets.py:596 netbox/dcim/forms/filtersets.py:714 +#: netbox/dcim/forms/filtersets.py:777 netbox/dcim/forms/filtersets.py:869 +#: netbox/dcim/forms/model_forms.py:315 netbox/dcim/forms/model_forms.py:447 +#: netbox/dcim/tables/devicetypes.py:110 netbox/dcim/tables/modules.py:90 +#: netbox/dcim/tables/racks.py:95 netbox/dcim/tables/racks.py:196 +#: netbox/dcim/views.py:1003 netbox/dcim/views.py:1139 +#: netbox/extras/forms/bulk_edit.py:57 netbox/extras/forms/bulk_edit.py:149 +#: netbox/extras/forms/bulk_edit.py:203 netbox/extras/forms/bulk_edit.py:231 +#: netbox/extras/forms/bulk_edit.py:338 netbox/extras/forms/bulk_edit.py:364 +#: netbox/extras/forms/filtersets.py:82 netbox/extras/forms/filtersets.py:190 +#: netbox/extras/forms/filtersets.py:286 netbox/extras/forms/filtersets.py:317 +#: netbox/ipam/forms/bulk_edit.py:166 msgid "Weight" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:293 netbox/dcim/forms/bulk_edit.py:446 -#: netbox/dcim/forms/filtersets.py:331 +#: netbox/dcim/forms/bulk_edit.py:303 netbox/dcim/forms/bulk_edit.py:477 +#: netbox/dcim/forms/filtersets.py:343 msgid "Max weight" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:298 netbox/dcim/forms/bulk_edit.py:451 -#: netbox/dcim/forms/bulk_edit.py:547 netbox/dcim/forms/bulk_edit.py:603 -#: netbox/dcim/forms/bulk_import.py:237 netbox/dcim/forms/bulk_import.py:329 -#: netbox/dcim/forms/bulk_import.py:451 netbox/dcim/forms/bulk_import.py:499 -#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:687 -#: netbox/dcim/forms/filtersets.py:799 +#: netbox/dcim/forms/bulk_edit.py:308 netbox/dcim/forms/bulk_edit.py:482 +#: netbox/dcim/forms/bulk_edit.py:585 netbox/dcim/forms/bulk_edit.py:672 +#: netbox/dcim/forms/bulk_import.py:248 netbox/dcim/forms/bulk_import.py:352 +#: netbox/dcim/forms/bulk_import.py:474 netbox/dcim/forms/bulk_import.py:543 +#: netbox/dcim/forms/filtersets.py:348 netbox/dcim/forms/filtersets.py:718 +#: netbox/dcim/forms/filtersets.py:873 netbox/dcim/forms/model_forms.py:296 +#: netbox/dcim/forms/model_forms.py:353 netbox/dcim/forms/model_forms.py:517 +#: netbox/dcim/forms/model_forms.py:616 msgid "Weight unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:306 netbox/dcim/forms/filtersets.py:346 -#: netbox/dcim/forms/model_forms.py:273 netbox/dcim/forms/model_forms.py:317 +#: netbox/dcim/forms/bulk_edit.py:314 netbox/dcim/forms/bulk_edit.py:462 +#: netbox/dcim/forms/bulk_import.py:254 netbox/dcim/forms/bulk_import.py:257 +#: netbox/dcim/forms/bulk_import.py:346 netbox/dcim/forms/bulk_import.py:349 +#: netbox/dcim/forms/filtersets.py:353 +msgid "Cooling capability" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:319 netbox/dcim/forms/bulk_edit.py:467 +#: netbox/dcim/forms/bulk_edit.py:1146 netbox/dcim/forms/bulk_edit.py:1179 +#: netbox/dcim/forms/filtersets.py:358 netbox/dcim/forms/filtersets.py:1575 +#: netbox/dcim/forms/filtersets.py:1635 +msgid "Cooling capacity" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:368 +#: netbox/dcim/forms/model_forms.py:311 netbox/dcim/forms/model_forms.py:381 msgid "Rack Type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:308 netbox/dcim/forms/bulk_edit.py:463 -#: netbox/dcim/forms/model_forms.py:276 netbox/dcim/forms/model_forms.py:362 +#: netbox/dcim/forms/bulk_edit.py:328 netbox/dcim/forms/bulk_edit.py:494 +#: netbox/dcim/forms/model_forms.py:314 netbox/dcim/forms/model_forms.py:443 msgid "Outer Dimensions" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/model_forms.py:278 -#: netbox/dcim/forms/model_forms.py:364 netbox/dcim/ui/panels.py:138 -#: netbox/dcim/views.py:977 netbox/dcim/views.py:1109 -#: netbox/extras/tables/tables.py:282 +#: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/model_forms.py:316 +#: netbox/dcim/forms/model_forms.py:451 netbox/dcim/ui/panels.py:167 +#: netbox/dcim/views.py:997 netbox/dcim/views.py:1137 +#: netbox/extras/tables/tables.py:291 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:3 #: netbox/templates/extras/panels/imageattachment_file.html:14 msgid "Dimensions" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:313 netbox/dcim/forms/filtersets.py:347 -#: netbox/dcim/forms/filtersets.py:372 netbox/dcim/forms/model_forms.py:280 -#: netbox/dcim/views.py:982 netbox/dcim/views.py:1110 +#: netbox/dcim/forms/bulk_edit.py:333 netbox/dcim/forms/filtersets.py:369 +#: netbox/dcim/forms/filtersets.py:396 netbox/dcim/forms/model_forms.py:318 +#: netbox/dcim/views.py:1002 netbox/dcim/views.py:1138 #: netbox/templates/dcim/inc/panels/racktype_numbering.html:3 msgid "Numbering" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:377 netbox/dcim/forms/bulk_import.py:294 -#: netbox/dcim/forms/filtersets.py:434 +#: netbox/dcim/forms/bulk_edit.py:334 netbox/dcim/forms/bulk_edit.py:496 +#: netbox/dcim/forms/bulk_edit.py:701 netbox/dcim/forms/filtersets.py:371 +#: netbox/dcim/forms/filtersets.py:395 netbox/dcim/forms/filtersets.py:590 +#: netbox/dcim/forms/filtersets.py:772 netbox/dcim/forms/filtersets.py:947 +#: netbox/dcim/forms/model_forms.py:319 netbox/dcim/forms/model_forms.py:393 +#: netbox/dcim/forms/model_forms.py:546 netbox/dcim/forms/model_forms.py:641 +#: netbox/netbox/navigation/menu.py:341 netbox/netbox/navigation/menu.py:345 +#: netbox/templates/dcim/device_edit.html:31 +msgid "Cooling" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:398 netbox/dcim/forms/bulk_import.py:311 +#: netbox/dcim/forms/filtersets.py:458 msgid "Rack type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:384 netbox/dcim/forms/bulk_edit.py:731 -#: netbox/dcim/forms/bulk_edit.py:786 +#: netbox/dcim/forms/bulk_edit.py:405 netbox/dcim/forms/bulk_edit.py:825 +#: netbox/dcim/forms/bulk_edit.py:880 msgid "Serial Number" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:387 netbox/dcim/forms/filtersets.py:446 -#: netbox/dcim/forms/filtersets.py:955 netbox/dcim/forms/filtersets.py:1167 -#: netbox/dcim/forms/filtersets.py:2002 +#: netbox/dcim/forms/bulk_edit.py:408 netbox/dcim/forms/filtersets.py:470 +#: netbox/dcim/forms/filtersets.py:1045 netbox/dcim/forms/filtersets.py:1257 +#: netbox/dcim/forms/filtersets.py:2388 msgid "Asset tag" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:537 -#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_edit.py:724 -#: netbox/dcim/forms/bulk_import.py:323 netbox/dcim/forms/bulk_import.py:488 -#: netbox/dcim/forms/bulk_import.py:697 netbox/dcim/forms/filtersets.py:437 -#: netbox/dcim/forms/filtersets.py:600 netbox/dcim/forms/filtersets.py:790 -#: netbox/dcim/forms/filtersets.py:946 +#: netbox/dcim/forms/bulk_edit.py:457 netbox/dcim/forms/bulk_edit.py:570 +#: netbox/dcim/forms/bulk_edit.py:657 netbox/dcim/forms/bulk_edit.py:813 +#: netbox/dcim/forms/bulk_import.py:340 netbox/dcim/forms/bulk_import.py:526 +#: netbox/dcim/forms/bulk_import.py:741 netbox/dcim/forms/filtersets.py:461 +#: netbox/dcim/forms/filtersets.py:626 netbox/dcim/forms/filtersets.py:859 +#: netbox/dcim/forms/filtersets.py:1031 netbox/dcim/forms/model_forms.py:348 +#: netbox/dcim/forms/model_forms.py:512 netbox/dcim/forms/model_forms.py:611 +#: netbox/dcim/forms/model_forms.py:777 msgid "Airflow" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:460 netbox/dcim/forms/bulk_edit.py:937 -#: netbox/dcim/forms/bulk_import.py:379 netbox/dcim/forms/bulk_import.py:382 -#: netbox/dcim/forms/bulk_import.py:670 netbox/dcim/forms/bulk_import.py:1836 -#: netbox/dcim/forms/bulk_import.py:1840 netbox/dcim/forms/filtersets.py:125 -#: netbox/dcim/forms/filtersets.py:370 netbox/dcim/forms/filtersets.py:465 -#: netbox/dcim/forms/filtersets.py:479 netbox/dcim/forms/filtersets.py:525 -#: netbox/dcim/forms/filtersets.py:914 netbox/dcim/forms/filtersets.py:1130 -#: netbox/dcim/forms/filtersets.py:1249 netbox/dcim/forms/filtersets.py:1393 -#: netbox/dcim/forms/model_forms.py:327 netbox/dcim/forms/model_forms.py:371 -#: netbox/dcim/forms/model_forms.py:631 netbox/dcim/forms/model_forms.py:933 -#: netbox/dcim/forms/object_create.py:305 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/power.py:67 netbox/dcim/tables/racks.py:237 +#: netbox/dcim/forms/bulk_edit.py:491 netbox/dcim/forms/bulk_edit.py:1031 +#: netbox/dcim/forms/bulk_edit.py:1168 netbox/dcim/forms/bulk_import.py:402 +#: netbox/dcim/forms/bulk_import.py:405 netbox/dcim/forms/bulk_import.py:714 +#: netbox/dcim/forms/bulk_import.py:2228 netbox/dcim/forms/bulk_import.py:2232 +#: netbox/dcim/forms/bulk_import.py:2357 netbox/dcim/forms/bulk_import.py:2361 +#: netbox/dcim/forms/filtersets.py:137 netbox/dcim/forms/filtersets.py:393 +#: netbox/dcim/forms/filtersets.py:489 netbox/dcim/forms/filtersets.py:503 +#: netbox/dcim/forms/filtersets.py:549 netbox/dcim/forms/filtersets.py:999 +#: netbox/dcim/forms/filtersets.py:1220 netbox/dcim/forms/filtersets.py:1339 +#: netbox/dcim/forms/filtersets.py:1483 netbox/dcim/forms/filtersets.py:1627 +#: netbox/dcim/forms/model_forms.py:391 netbox/dcim/forms/model_forms.py:463 +#: netbox/dcim/forms/model_forms.py:798 netbox/dcim/forms/model_forms.py:1145 +#: netbox/dcim/forms/model_forms.py:1208 netbox/dcim/forms/object_create.py:348 +#: netbox/dcim/tables/cooling.py:89 netbox/dcim/tables/devices.py:171 +#: netbox/dcim/tables/power.py:67 netbox/dcim/tables/racks.py:250 #: netbox/ipam/forms/filtersets.py:502 #: netbox/templates/dcim/inc/cable_termination.html:16 #: netbox/templates/dcim/rack/base.html:4 -#: netbox/virtualization/forms/model_forms.py:111 +#: netbox/virtualization/forms/model_forms.py:129 msgid "Rack" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:464 netbox/dcim/forms/bulk_edit.py:751 -#: netbox/dcim/forms/filtersets.py:371 netbox/dcim/forms/filtersets.py:457 -#: netbox/dcim/forms/filtersets.py:564 netbox/dcim/forms/filtersets.py:709 -#: netbox/dcim/forms/filtersets.py:862 netbox/dcim/forms/filtersets.py:1085 -#: netbox/dcim/forms/model_forms.py:489 netbox/dcim/forms/model_forms.py:833 -#: netbox/dcim/forms/model_forms.py:1854 +#: netbox/dcim/forms/bulk_edit.py:495 netbox/dcim/forms/bulk_edit.py:845 +#: netbox/dcim/forms/filtersets.py:394 netbox/dcim/forms/filtersets.py:481 +#: netbox/dcim/forms/filtersets.py:588 netbox/dcim/forms/filtersets.py:770 +#: netbox/dcim/forms/filtersets.py:946 netbox/dcim/forms/filtersets.py:1175 +#: netbox/dcim/forms/model_forms.py:640 netbox/dcim/forms/model_forms.py:1006 +#: netbox/dcim/forms/model_forms.py:2388 #: netbox/templates/dcim/device_edit.html:22 msgid "Hardware" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:513 netbox/dcim/forms/bulk_import.py:439 -#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/model_forms.py:416 +#: netbox/dcim/forms/bulk_edit.py:546 netbox/dcim/forms/bulk_import.py:462 +#: netbox/dcim/forms/filtersets.py:609 netbox/dcim/forms/model_forms.py:527 #: netbox/virtualization/forms/bulk_edit.py:85 #: netbox/virtualization/forms/bulk_import.py:89 #: netbox/virtualization/forms/filtersets.py:124 -#: netbox/virtualization/forms/model_forms.py:177 +#: netbox/virtualization/forms/model_forms.py:195 #: netbox/virtualization/tables/virtualmachines.py:32 msgid "Default platform" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:518 netbox/dcim/forms/bulk_edit.py:589 -#: netbox/dcim/forms/filtersets.py:586 netbox/dcim/forms/filtersets.py:731 +#: netbox/dcim/forms/bulk_edit.py:551 netbox/dcim/forms/bulk_edit.py:653 +#: netbox/dcim/forms/filtersets.py:612 netbox/dcim/forms/filtersets.py:800 msgid "Part number" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:522 +#: netbox/dcim/forms/bulk_edit.py:555 msgid "U height" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:534 netbox/dcim/tables/devicetypes.py:106 +#: netbox/dcim/forms/bulk_edit.py:567 netbox/dcim/tables/devicetypes.py:106 msgid "Exclude from utilization" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:557 netbox/dcim/forms/model_forms.py:430 -#: netbox/dcim/forms/model_forms.py:1084 netbox/dcim/forms/model_forms.py:1128 -#: netbox/dcim/forms/model_forms.py:1155 netbox/dcim/forms/model_forms.py:1183 -#: netbox/dcim/forms/model_forms.py:1204 netbox/dcim/forms/model_forms.py:1244 -#: netbox/dcim/forms/model_forms.py:1262 netbox/dcim/forms/object_create.py:121 -#: netbox/dcim/tables/devicetypes.py:84 netbox/dcim/ui/panels.py:128 +#: netbox/dcim/forms/bulk_edit.py:575 netbox/dcim/forms/bulk_edit.py:662 +#: netbox/dcim/forms/bulk_edit.py:818 netbox/dcim/forms/bulk_import.py:532 +#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/bulk_import.py:747 +#: netbox/dcim/forms/bulk_import.py:750 netbox/dcim/forms/filtersets.py:631 +#: netbox/dcim/forms/filtersets.py:864 netbox/dcim/forms/filtersets.py:1036 +msgid "Cooling method" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:591 netbox/dcim/forms/bulk_edit.py:678 +msgid "End of life" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:600 netbox/dcim/forms/model_forms.py:541 +#: netbox/dcim/forms/model_forms.py:1362 netbox/dcim/forms/model_forms.py:1423 +#: netbox/dcim/forms/model_forms.py:1461 netbox/dcim/forms/model_forms.py:1479 +#: netbox/dcim/forms/model_forms.py:1510 netbox/dcim/forms/model_forms.py:1569 +#: netbox/dcim/forms/model_forms.py:1595 netbox/dcim/forms/model_forms.py:1639 +#: netbox/dcim/forms/model_forms.py:1663 netbox/dcim/forms/object_create.py:147 +#: netbox/dcim/tables/devicetypes.py:84 netbox/dcim/ui/panels.py:157 msgid "Device Type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:566 netbox/dcim/forms/model_forms.py:457 -#: netbox/dcim/views.py:1690 netbox/extras/forms/model_forms.py:689 +#: netbox/dcim/forms/bulk_edit.py:603 netbox/dcim/forms/bulk_edit.py:703 +#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:778 +#: netbox/dcim/forms/model_forms.py:547 netbox/dcim/forms/model_forms.py:643 +msgid "Lifecycle" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:623 netbox/dcim/forms/filtersets.py:738 +#: netbox/dcim/forms/model_forms.py:581 +msgid "Module Bay Type" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:630 netbox/dcim/forms/model_forms.py:593 +#: netbox/dcim/views.py:1833 netbox/extras/forms/model_forms.py:715 msgid "Schema" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:572 netbox/dcim/forms/bulk_edit.py:579 -#: netbox/dcim/forms/bulk_edit.py:828 netbox/dcim/forms/bulk_import.py:477 -#: netbox/dcim/forms/bulk_import.py:1597 netbox/dcim/forms/filtersets.py:723 -#: netbox/dcim/forms/filtersets.py:1146 netbox/dcim/forms/filtersets.py:1278 -#: netbox/dcim/forms/model_forms.py:463 netbox/dcim/forms/model_forms.py:476 -#: netbox/dcim/tables/modules.py:43 netbox/dcim/tables/modules.py:97 -#: netbox/extras/forms/filtersets.py:418 netbox/extras/forms/model_forms.py:714 -#: netbox/extras/tables/tables.py:633 netbox/templates/account/base.html:7 +#: netbox/dcim/forms/bulk_edit.py:636 netbox/dcim/forms/bulk_edit.py:643 +#: netbox/dcim/forms/bulk_edit.py:922 netbox/dcim/forms/bulk_import.py:515 +#: netbox/dcim/forms/bulk_import.py:1826 netbox/dcim/forms/filtersets.py:786 +#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1368 +#: netbox/dcim/forms/model_forms.py:599 netbox/dcim/forms/model_forms.py:622 +#: netbox/dcim/forms/model_forms.py:1056 netbox/dcim/tables/modules.py:71 +#: netbox/dcim/tables/modules.py:133 netbox/extras/forms/filtersets.py:456 +#: netbox/extras/forms/model_forms.py:740 netbox/extras/tables/tables.py:658 +#: netbox/templates/account/base.html:7 #: netbox/templates/dcim/panels/module_type.html:15 #: netbox/templates/inc/user_menu.html:38 netbox/vpn/forms/bulk_edit.py:213 -#: netbox/vpn/forms/filtersets.py:203 netbox/vpn/forms/model_forms.py:378 +#: netbox/vpn/forms/filtersets.py:203 netbox/vpn/forms/model_forms.py:433 msgid "Profile" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:611 netbox/dcim/forms/filtersets.py:1447 -#: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:1085 -#: netbox/dcim/forms/model_forms.py:1129 netbox/dcim/forms/model_forms.py:1156 -#: netbox/dcim/forms/model_forms.py:1184 netbox/dcim/forms/model_forms.py:1205 -#: netbox/dcim/forms/model_forms.py:1245 netbox/dcim/forms/model_forms.py:1263 -#: netbox/dcim/forms/object_create.py:122 netbox/dcim/tables/modules.py:52 -#: netbox/dcim/tables/modules.py:102 netbox/dcim/views.py:2964 +#: netbox/dcim/forms/bulk_edit.py:684 netbox/dcim/forms/bulk_edit.py:1614 +#: netbox/dcim/forms/bulk_edit.py:2153 +msgid "Add bay types" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:689 netbox/dcim/forms/bulk_edit.py:1619 +#: netbox/dcim/forms/bulk_edit.py:2158 +msgid "Remove bay types" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:696 netbox/dcim/forms/filtersets.py:1667 +#: netbox/dcim/forms/model_forms.py:639 netbox/dcim/forms/model_forms.py:1363 +#: netbox/dcim/forms/model_forms.py:1424 netbox/dcim/forms/model_forms.py:1462 +#: netbox/dcim/forms/model_forms.py:1480 netbox/dcim/forms/model_forms.py:1511 +#: netbox/dcim/forms/model_forms.py:1570 netbox/dcim/forms/model_forms.py:1596 +#: netbox/dcim/forms/model_forms.py:1640 netbox/dcim/forms/model_forms.py:1664 +#: netbox/dcim/forms/object_create.py:148 netbox/dcim/tables/modules.py:84 +#: netbox/dcim/tables/modules.py:138 netbox/dcim/views.py:3360 msgid "Module Type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:615 netbox/dcim/forms/model_forms.py:433 +#: netbox/dcim/forms/bulk_edit.py:699 netbox/dcim/forms/model_forms.py:544 msgid "Chassis" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:634 netbox/dcim/models/devices.py:400 -#: netbox/dcim/tables/devices.py:76 netbox/dcim/ui/panels.py:145 +#: netbox/dcim/forms/bulk_edit.py:702 netbox/dcim/forms/bulk_edit.py:1626 +#: netbox/dcim/forms/bulk_edit.py:2166 netbox/dcim/tables/devices.py:1031 +#: netbox/dcim/tables/devicetypes.py:306 netbox/dcim/tables/modules.py:79 +msgid "Bay Types" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:723 netbox/dcim/models/devices.py:435 +#: netbox/dcim/tables/devices.py:82 netbox/dcim/ui/panels.py:174 msgid "VM role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:637 netbox/dcim/forms/bulk_edit.py:661 -#: netbox/dcim/forms/bulk_edit.py:734 netbox/dcim/forms/bulk_import.py:541 -#: netbox/dcim/forms/bulk_import.py:545 netbox/dcim/forms/bulk_import.py:574 -#: netbox/dcim/forms/bulk_import.py:578 netbox/dcim/forms/bulk_import.py:703 -#: netbox/dcim/forms/bulk_import.py:707 netbox/dcim/forms/filtersets.py:815 -#: netbox/dcim/forms/filtersets.py:846 netbox/dcim/forms/filtersets.py:965 -#: netbox/dcim/forms/model_forms.py:554 netbox/dcim/forms/model_forms.py:591 -#: netbox/dcim/forms/model_forms.py:716 +#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/bulk_edit.py:750 +#: netbox/dcim/forms/bulk_edit.py:828 netbox/dcim/forms/bulk_import.py:585 +#: netbox/dcim/forms/bulk_import.py:589 netbox/dcim/forms/bulk_import.py:618 +#: netbox/dcim/forms/bulk_import.py:622 netbox/dcim/forms/bulk_import.py:753 +#: netbox/dcim/forms/bulk_import.py:757 netbox/dcim/forms/filtersets.py:899 +#: netbox/dcim/forms/filtersets.py:930 netbox/dcim/forms/filtersets.py:1055 +#: netbox/dcim/forms/model_forms.py:711 netbox/dcim/forms/model_forms.py:748 +#: netbox/dcim/forms/model_forms.py:883 #: netbox/virtualization/forms/bulk_import.py:171 #: netbox/virtualization/forms/bulk_import.py:172 #: netbox/virtualization/forms/filtersets.py:263 -#: netbox/virtualization/forms/model_forms.py:266 +#: netbox/virtualization/forms/model_forms.py:296 msgid "Config template" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:680 netbox/dcim/forms/bulk_edit.py:1090 -#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/filtersets.py:135 -#: netbox/dcim/forms/filtersets.py:1438 netbox/dcim/forms/model_forms.py:661 -#: netbox/dcim/forms/model_forms.py:1048 netbox/dcim/forms/model_forms.py:1065 -#: netbox/extras/filtersets.py:756 +#: netbox/dcim/forms/bulk_edit.py:769 netbox/dcim/forms/bulk_edit.py:1308 +#: netbox/dcim/forms/bulk_edit.py:1417 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/filtersets.py:147 netbox/dcim/forms/filtersets.py:1658 +#: netbox/dcim/forms/model_forms.py:828 netbox/dcim/forms/model_forms.py:1326 +#: netbox/dcim/forms/model_forms.py:1343 netbox/extras/filtersets.py:767 msgid "Device type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:691 netbox/dcim/forms/bulk_import.py:590 -#: netbox/dcim/forms/filtersets.py:140 netbox/dcim/forms/model_forms.py:669 +#: netbox/dcim/forms/bulk_edit.py:780 netbox/dcim/forms/bulk_import.py:634 +#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/model_forms.py:836 msgid "Device role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:714 netbox/dcim/forms/bulk_import.py:615 -#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/filtersets.py:938 -#: netbox/dcim/forms/model_forms.py:602 netbox/dcim/forms/model_forms.py:674 -#: netbox/dcim/tables/devices.py:191 netbox/extras/filtersets.py:772 +#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:659 +#: netbox/dcim/forms/filtersets.py:913 netbox/dcim/forms/filtersets.py:1023 +#: netbox/dcim/forms/model_forms.py:759 netbox/dcim/forms/model_forms.py:841 +#: netbox/dcim/tables/devices.py:197 netbox/extras/filtersets.py:783 #: netbox/virtualization/forms/bulk_edit.py:172 #: netbox/virtualization/forms/bulk_import.py:161 #: netbox/virtualization/forms/filtersets.py:243 -#: netbox/virtualization/forms/model_forms.py:253 +#: netbox/virtualization/forms/model_forms.py:283 #: netbox/virtualization/tables/virtualmachines.py:93 msgid "Platform" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:739 netbox/dcim/forms/bulk_import.py:634 -#: netbox/dcim/forms/filtersets.py:870 netbox/dcim/forms/filtersets.py:1040 -#: netbox/dcim/forms/model_forms.py:683 netbox/dcim/tables/devices.py:211 -#: netbox/extras/filtersets.py:805 netbox/extras/forms/filtersets.py:411 +#: netbox/dcim/forms/bulk_edit.py:833 netbox/dcim/forms/bulk_import.py:678 +#: netbox/dcim/forms/filtersets.py:955 netbox/dcim/forms/filtersets.py:1130 +#: netbox/dcim/forms/model_forms.py:850 netbox/dcim/tables/devices.py:217 +#: netbox/extras/filtersets.py:816 netbox/extras/forms/filtersets.py:449 #: netbox/ipam/forms/filtersets.py:468 netbox/ipam/forms/filtersets.py:507 #: netbox/virtualization/filtersets.py:200 #: netbox/virtualization/filtersets.py:341 @@ -4554,41 +5189,42 @@ msgstr "" #: netbox/virtualization/forms/filtersets.py:161 #: netbox/virtualization/forms/filtersets.py:193 #: netbox/virtualization/forms/filtersets.py:282 -#: netbox/virtualization/forms/model_forms.py:76 -#: netbox/virtualization/forms/model_forms.py:221 +#: netbox/virtualization/forms/model_forms.py:94 +#: netbox/virtualization/forms/model_forms.py:251 #: netbox/virtualization/tables/virtualmachines.py:81 msgid "Cluster" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:752 +#: netbox/dcim/forms/bulk_edit.py:846 #: netbox/templates/extras/dashboard/widget_config.html:7 #: netbox/virtualization/forms/bulk_edit.py:198 msgid "Configuration" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:753 netbox/netbox/navigation/menu.py:262 -#: netbox/templates/dcim/device_edit.html:80 +#: netbox/dcim/forms/bulk_edit.py:847 netbox/netbox/navigation/menu.py:265 +#: netbox/templates/dcim/device_edit.html:87 msgid "Virtualization" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:767 netbox/dcim/forms/bulk_import.py:776 -#: netbox/dcim/forms/model_forms.py:811 netbox/dcim/forms/model_forms.py:1073 +#: netbox/dcim/forms/bulk_edit.py:861 netbox/dcim/forms/bulk_import.py:826 +#: netbox/dcim/forms/model_forms.py:984 netbox/dcim/forms/model_forms.py:1351 msgid "Module type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:839 netbox/dcim/forms/bulk_import.py:1616 -#: netbox/dcim/forms/filtersets.py:1305 netbox/dcim/forms/model_forms.py:888 -#: netbox/dcim/tables/cables.py:124 +#: netbox/dcim/forms/bulk_edit.py:933 netbox/dcim/forms/bulk_import.py:1845 +#: netbox/dcim/forms/filtersets.py:1395 netbox/dcim/forms/model_forms.py:1080 +#: netbox/dcim/tables/cables.py:134 msgid "Bundle" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:844 netbox/dcim/forms/bulk_edit.py:1009 -#: netbox/dcim/forms/bulk_edit.py:1032 netbox/dcim/forms/bulk_edit.py:1055 -#: netbox/dcim/forms/bulk_edit.py:1097 netbox/dcim/forms/bulk_edit.py:1145 -#: netbox/dcim/forms/bulk_edit.py:1196 netbox/dcim/forms/bulk_edit.py:1223 -#: netbox/dcim/forms/bulk_edit.py:1250 netbox/dcim/forms/bulk_edit.py:1278 -#: netbox/dcim/forms/bulk_edit.py:1301 netbox/dcim/forms/filtersets.py:88 -#: netbox/dcim/forms/object_create.py:48 +#: netbox/dcim/forms/bulk_edit.py:938 netbox/dcim/forms/bulk_edit.py:1227 +#: netbox/dcim/forms/bulk_edit.py:1250 netbox/dcim/forms/bulk_edit.py:1273 +#: netbox/dcim/forms/bulk_edit.py:1315 netbox/dcim/forms/bulk_edit.py:1363 +#: netbox/dcim/forms/bulk_edit.py:1424 netbox/dcim/forms/bulk_edit.py:1482 +#: netbox/dcim/forms/bulk_edit.py:1541 netbox/dcim/forms/bulk_edit.py:1568 +#: netbox/dcim/forms/bulk_edit.py:1595 netbox/dcim/forms/bulk_edit.py:1637 +#: netbox/dcim/forms/bulk_edit.py:1660 netbox/dcim/forms/filtersets.py:100 +#: netbox/dcim/forms/object_create.py:57 #: netbox/templates/dcim/inc/panels/inventory_items.html:19 #: netbox/templates/dcim/panels/component_inventory_items.html:9 #: netbox/templates/extras/panels/customfieldchoiceset_choices.html:10 @@ -4596,665 +5232,776 @@ msgstr "" msgid "Label" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:853 netbox/dcim/forms/filtersets.py:1287 +#: netbox/dcim/forms/bulk_edit.py:947 netbox/dcim/forms/filtersets.py:1377 msgid "Length" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:858 netbox/dcim/forms/bulk_import.py:1623 -#: netbox/dcim/forms/bulk_import.py:1626 netbox/dcim/forms/filtersets.py:1291 +#: netbox/dcim/forms/bulk_edit.py:952 netbox/dcim/forms/bulk_import.py:1852 +#: netbox/dcim/forms/bulk_import.py:1855 netbox/dcim/forms/filtersets.py:1381 +#: netbox/dcim/forms/model_forms.py:1061 msgid "Length unit" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:876 +#: netbox/dcim/forms/bulk_edit.py:970 msgid "Domain" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:932 netbox/dcim/forms/bulk_import.py:1823 -#: netbox/dcim/forms/filtersets.py:1384 netbox/dcim/forms/model_forms.py:927 +#: netbox/dcim/forms/bulk_edit.py:1026 netbox/dcim/forms/bulk_import.py:2215 +#: netbox/dcim/forms/filtersets.py:1474 netbox/dcim/forms/model_forms.py:1139 msgid "Power panel" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:954 netbox/dcim/forms/bulk_import.py:1859 -#: netbox/dcim/forms/filtersets.py:1406 +#: netbox/dcim/forms/bulk_edit.py:1048 netbox/dcim/forms/bulk_import.py:2251 +#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/model_forms.py:1129 msgid "Supply" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:960 netbox/dcim/forms/bulk_import.py:1864 -#: netbox/dcim/forms/filtersets.py:1411 +#: netbox/dcim/forms/bulk_edit.py:1054 netbox/dcim/forms/bulk_import.py:2256 +#: netbox/dcim/forms/filtersets.py:1501 netbox/dcim/forms/model_forms.py:1134 msgid "Phase" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/filtersets.py:1416 +#: netbox/dcim/forms/bulk_edit.py:1060 netbox/dcim/forms/filtersets.py:1506 msgid "Voltage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:970 netbox/dcim/forms/filtersets.py:1420 +#: netbox/dcim/forms/bulk_edit.py:1064 netbox/dcim/forms/filtersets.py:1510 msgid "Amperage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:974 netbox/dcim/forms/filtersets.py:1424 +#: netbox/dcim/forms/bulk_edit.py:1068 netbox/dcim/forms/filtersets.py:1514 msgid "Max utilization" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1065 +#: netbox/dcim/forms/bulk_edit.py:1140 netbox/dcim/forms/bulk_import.py:2313 +#: netbox/dcim/forms/filtersets.py:1570 +msgid "Fluid type" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1154 netbox/dcim/forms/bulk_edit.py:1204 +#: netbox/dcim/forms/bulk_edit.py:1828 netbox/dcim/forms/filtersets.py:1526 +#: netbox/dcim/forms/filtersets.py:1588 netbox/dcim/forms/model_forms.py:1156 +#: netbox/dcim/forms/model_forms.py:1189 netbox/dcim/forms/model_forms.py:1222 +msgid "Characteristics" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1163 netbox/dcim/forms/bulk_import.py:2344 +#: netbox/dcim/forms/filtersets.py:1618 netbox/dcim/forms/model_forms.py:1202 +msgid "Cooling source" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1184 netbox/dcim/forms/bulk_edit.py:1383 +#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/bulk_edit.py:1827 +#: netbox/dcim/forms/filtersets.py:1639 netbox/dcim/forms/filtersets.py:1887 +#: netbox/dcim/forms/filtersets.py:1928 netbox/dcim/forms/model_forms.py:1221 +#: netbox/dcim/forms/model_forms.py:1484 netbox/dcim/forms/model_forms.py:1980 +msgid "Max flow" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1189 netbox/dcim/forms/bulk_edit.py:1388 +#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/bulk_import.py:2375 +#: netbox/dcim/forms/filtersets.py:1643 netbox/dcim/forms/filtersets.py:1891 +#: netbox/dcim/forms/filtersets.py:1932 +msgid "Max flow unit" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1283 msgid "Maximum draw" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1068 -#: netbox/dcim/models/device_component_templates.py:303 -#: netbox/dcim/models/device_components.py:511 +#: netbox/dcim/forms/bulk_edit.py:1286 +#: netbox/dcim/models/device_component_templates.py:312 +#: netbox/dcim/models/device_components.py:519 msgid "Maximum power draw (watts)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1071 +#: netbox/dcim/forms/bulk_edit.py:1289 msgid "Allocated draw" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1074 -#: netbox/dcim/models/device_component_templates.py:310 -#: netbox/dcim/models/device_components.py:518 +#: netbox/dcim/forms/bulk_edit.py:1292 +#: netbox/dcim/models/device_component_templates.py:319 +#: netbox/dcim/models/device_components.py:526 msgid "Allocated power draw (watts)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1111 netbox/dcim/forms/bulk_import.py:909 -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1509 -#: netbox/dcim/forms/model_forms.py:1838 netbox/dcim/forms/object_import.py:56 +#: netbox/dcim/forms/bulk_edit.py:1329 netbox/dcim/forms/bulk_import.py:959 +#: netbox/dcim/forms/model_forms.py:1450 netbox/dcim/forms/model_forms.py:1945 +#: netbox/dcim/forms/model_forms.py:2372 netbox/dcim/forms/object_import.py:58 msgid "Power port" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1116 netbox/dcim/forms/bulk_import.py:916 +#: netbox/dcim/forms/bulk_edit.py:1334 netbox/dcim/forms/bulk_import.py:966 +#: netbox/dcim/forms/model_forms.py:1444 netbox/dcim/forms/model_forms.py:1939 msgid "Feed leg" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1162 netbox/dcim/forms/bulk_edit.py:1503 -#: netbox/dcim/forms/filtersets.py:1787 netbox/dcim/ui/panels.py:492 +#: netbox/dcim/forms/bulk_edit.py:1373 netbox/dcim/forms/bulk_edit.py:1400 +#: netbox/dcim/forms/bulk_edit.py:1434 netbox/dcim/forms/bulk_edit.py:1456 +#: netbox/dcim/forms/bulk_edit.py:1823 netbox/dcim/forms/bulk_edit.py:1851 +#: netbox/dcim/forms/filtersets.py:1878 netbox/dcim/forms/filtersets.py:1919 +#: netbox/dcim/forms/filtersets.py:1958 netbox/dcim/forms/filtersets.py:1987 +#: netbox/dcim/forms/model_forms.py:1483 netbox/dcim/forms/model_forms.py:1514 +#: netbox/dcim/forms/model_forms.py:1979 netbox/dcim/forms/model_forms.py:2006 +#: netbox/dcim/tables/cooling.py:144 netbox/dcim/tables/cooling.py:189 +#: netbox/dcim/tables/cooling.py:219 netbox/dcim/tables/cooling.py:247 +msgid "Diameter" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1378 netbox/dcim/forms/bulk_edit.py:1439 +#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/bulk_import.py:1018 +#: netbox/dcim/forms/bulk_import.py:1096 netbox/dcim/forms/bulk_import.py:1099 +#: netbox/dcim/forms/filtersets.py:1882 netbox/dcim/forms/filtersets.py:1923 +#: netbox/dcim/forms/filtersets.py:1962 netbox/dcim/forms/filtersets.py:1991 +msgid "Diameter unit" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1444 netbox/dcim/forms/bulk_import.py:1102 +#: netbox/dcim/forms/filtersets.py:1967 netbox/dcim/forms/filtersets.py:1996 +#: netbox/dcim/forms/model_forms.py:1499 netbox/dcim/forms/model_forms.py:1995 +#: netbox/dcim/forms/object_import.py:97 +msgid "Cooling intake" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1492 netbox/dcim/forms/filtersets.py:2043 +msgid "Channels" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1496 netbox/dcim/forms/filtersets.py:2047 +#: netbox/dcim/forms/object_create.py:132 +#: netbox/dcim/forms/object_create.py:241 netbox/dcim/ui/panels.py:602 +msgid "Channel ID" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1507 netbox/dcim/forms/bulk_edit.py:1927 +#: netbox/dcim/forms/filtersets.py:2163 netbox/dcim/ui/panels.py:586 msgid "Management only" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1172 netbox/dcim/forms/bulk_edit.py:1509 -#: netbox/dcim/forms/bulk_import.py:1002 netbox/dcim/forms/filtersets.py:1711 -#: netbox/dcim/forms/filtersets.py:1796 netbox/dcim/forms/object_import.py:91 -#: netbox/dcim/models/device_component_templates.py:473 -#: netbox/dcim/models/device_components.py:930 netbox/dcim/ui/panels.py:494 +#: netbox/dcim/forms/bulk_edit.py:1517 netbox/dcim/forms/bulk_edit.py:1933 +#: netbox/dcim/forms/bulk_import.py:1189 netbox/dcim/forms/filtersets.py:2087 +#: netbox/dcim/forms/filtersets.py:2172 netbox/dcim/forms/model_forms.py:1533 +#: netbox/dcim/forms/model_forms.py:2030 netbox/dcim/forms/object_import.py:139 +#: netbox/dcim/models/device_component_templates.py:636 +#: netbox/dcim/models/device_components.py:1119 netbox/dcim/ui/panels.py:588 msgid "PoE mode" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1178 netbox/dcim/forms/bulk_edit.py:1515 -#: netbox/dcim/forms/bulk_import.py:1008 netbox/dcim/forms/filtersets.py:1716 -#: netbox/dcim/forms/filtersets.py:1801 netbox/dcim/forms/object_import.py:96 -#: netbox/dcim/models/device_component_templates.py:480 -#: netbox/dcim/models/device_components.py:937 netbox/dcim/ui/panels.py:495 +#: netbox/dcim/forms/bulk_edit.py:1523 netbox/dcim/forms/bulk_edit.py:1939 +#: netbox/dcim/forms/bulk_import.py:1195 netbox/dcim/forms/filtersets.py:2092 +#: netbox/dcim/forms/filtersets.py:2177 netbox/dcim/forms/model_forms.py:1538 +#: netbox/dcim/forms/model_forms.py:2035 netbox/dcim/forms/object_import.py:144 +#: netbox/dcim/models/device_component_templates.py:643 +#: netbox/dcim/models/device_components.py:1126 netbox/dcim/ui/panels.py:589 msgid "PoE type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1184 netbox/dcim/forms/filtersets.py:1731 -#: netbox/dcim/forms/filtersets.py:1806 netbox/dcim/forms/object_import.py:101 +#: netbox/dcim/forms/bulk_edit.py:1529 netbox/dcim/forms/filtersets.py:2107 +#: netbox/dcim/forms/filtersets.py:2182 netbox/dcim/forms/model_forms.py:1543 +#: netbox/dcim/forms/model_forms.py:2047 netbox/dcim/forms/object_import.py:149 msgid "Wireless role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1320 netbox/dcim/ui/panels.py:301 +#: netbox/dcim/forms/bulk_edit.py:1679 netbox/dcim/ui/panels.py:369 msgid "Part ID" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1341 netbox/dcim/forms/model_forms.py:832 -#: netbox/dcim/forms/model_forms.py:1454 netbox/dcim/tables/devices.py:330 +#: netbox/dcim/forms/bulk_edit.py:1700 netbox/dcim/forms/model_forms.py:1005 +#: netbox/dcim/forms/model_forms.py:1855 netbox/dcim/tables/devices.py:346 msgid "Module" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1483 netbox/dcim/tables/devices.py:766 -#: netbox/dcim/ui/panels.py:509 +#: netbox/dcim/forms/bulk_edit.py:1814 netbox/dcim/forms/bulk_import.py:1034 +#: netbox/dcim/forms/filtersets.py:1896 netbox/dcim/forms/model_forms.py:1970 +msgid "Cooling outflow" +msgstr "" + +#: netbox/dcim/forms/bulk_edit.py:1907 netbox/dcim/tables/devices.py:782 +#: netbox/dcim/ui/panels.py:604 msgid "LAG" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1488 netbox/dcim/forms/model_forms.py:1536 +#: netbox/dcim/forms/bulk_edit.py:1912 netbox/dcim/forms/model_forms.py:2059 msgid "Virtual device contexts" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1523 netbox/dcim/forms/bulk_import.py:1011 +#: netbox/dcim/forms/bulk_edit.py:1947 netbox/dcim/forms/bulk_import.py:1198 #: netbox/virtualization/forms/bulk_edit.py:252 #: netbox/virtualization/forms/bulk_import.py:205 #: netbox/vpn/forms/bulk_edit.py:128 netbox/vpn/forms/bulk_edit.py:196 #: netbox/vpn/forms/bulk_import.py:175 netbox/vpn/forms/bulk_import.py:233 #: netbox/vpn/forms/filtersets.py:147 netbox/vpn/forms/filtersets.py:192 -#: netbox/vpn/forms/filtersets.py:207 netbox/vpn/tables/crypto.py:61 +#: netbox/vpn/forms/filtersets.py:207 netbox/vpn/forms/model_forms.py:349 +#: netbox/vpn/forms/model_forms.py:420 netbox/vpn/tables/crypto.py:61 #: netbox/vpn/tables/crypto.py:150 msgid "Mode" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1531 netbox/dcim/forms/bulk_import.py:1017 -#: netbox/dcim/forms/model_forms.py:1585 netbox/ipam/forms/bulk_import.py:184 +#: netbox/dcim/forms/bulk_edit.py:1955 netbox/dcim/forms/bulk_import.py:1204 +#: netbox/dcim/forms/model_forms.py:2108 netbox/ipam/forms/bulk_import.py:188 #: netbox/ipam/forms/filtersets.py:603 netbox/ipam/models/vlans.py:100 #: netbox/virtualization/forms/bulk_edit.py:259 #: netbox/virtualization/forms/bulk_import.py:211 -#: netbox/virtualization/forms/model_forms.py:416 +#: netbox/virtualization/forms/model_forms.py:453 msgid "VLAN group" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1540 netbox/dcim/forms/bulk_import.py:1024 -#: netbox/dcim/forms/model_forms.py:1591 netbox/dcim/tables/devices.py:627 -#: netbox/dcim/ui/panels.py:498 netbox/virtualization/forms/bulk_edit.py:267 +#: netbox/dcim/forms/bulk_edit.py:1964 netbox/dcim/forms/bulk_import.py:1211 +#: netbox/dcim/forms/model_forms.py:2114 netbox/dcim/tables/devices.py:643 +#: netbox/dcim/ui/panels.py:592 netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/bulk_import.py:218 -#: netbox/virtualization/forms/model_forms.py:421 +#: netbox/virtualization/forms/model_forms.py:458 msgid "Untagged VLAN" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1549 netbox/dcim/forms/bulk_import.py:1031 -#: netbox/dcim/forms/model_forms.py:1600 netbox/dcim/tables/devices.py:633 +#: netbox/dcim/forms/bulk_edit.py:1973 netbox/dcim/forms/bulk_import.py:1218 +#: netbox/dcim/forms/model_forms.py:2123 netbox/dcim/tables/devices.py:649 #: netbox/virtualization/forms/bulk_edit.py:275 #: netbox/virtualization/forms/bulk_import.py:225 -#: netbox/virtualization/forms/model_forms.py:430 +#: netbox/virtualization/forms/model_forms.py:467 msgid "Tagged VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1552 +#: netbox/dcim/forms/bulk_edit.py:1976 msgid "Add tagged VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1561 +#: netbox/dcim/forms/bulk_edit.py:1985 msgid "Remove tagged VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1572 netbox/dcim/forms/bulk_import.py:1044 -#: netbox/dcim/forms/model_forms.py:1609 +#: netbox/dcim/forms/bulk_edit.py:1996 netbox/dcim/forms/bulk_import.py:1231 +#: netbox/dcim/forms/model_forms.py:2132 #: netbox/virtualization/forms/bulk_import.py:238 -#: netbox/virtualization/forms/model_forms.py:439 +#: netbox/virtualization/forms/model_forms.py:476 msgid "Q-in-Q Service VLAN" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1587 netbox/dcim/forms/model_forms.py:1572 +#: netbox/dcim/forms/bulk_edit.py:2011 netbox/dcim/forms/model_forms.py:2095 #: netbox/wireless/forms/filtersets.py:26 msgid "Wireless LAN group" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1592 netbox/dcim/forms/model_forms.py:1577 -#: netbox/dcim/tables/devices.py:671 netbox/dcim/ui/panels.py:568 -#: netbox/netbox/navigation/menu.py:163 +#: netbox/dcim/forms/bulk_edit.py:2016 netbox/dcim/forms/model_forms.py:2100 +#: netbox/dcim/tables/devices.py:687 netbox/dcim/ui/panels.py:663 +#: netbox/netbox/navigation/menu.py:166 #: netbox/wireless/tables/wirelesslan.py:20 msgid "Wireless LANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1601 netbox/dcim/forms/filtersets.py:1642 -#: netbox/dcim/forms/model_forms.py:1643 netbox/dcim/ui/panels.py:513 -#: netbox/ipam/forms/bulk_edit.py:230 netbox/ipam/forms/bulk_edit.py:316 -#: netbox/ipam/forms/filtersets.py:196 netbox/netbox/navigation/menu.py:118 +#: netbox/dcim/forms/bulk_edit.py:2025 netbox/dcim/forms/filtersets.py:2010 +#: netbox/dcim/forms/model_forms.py:2160 netbox/dcim/ui/panels.py:608 +#: netbox/ipam/forms/bulk_edit.py:231 netbox/ipam/forms/bulk_edit.py:317 +#: netbox/ipam/forms/filtersets.py:196 netbox/netbox/navigation/menu.py:121 #: netbox/templates/ipam/panels/prefix_addressing.html:4 #: netbox/virtualization/forms/filtersets.py:274 -#: netbox/virtualization/forms/model_forms.py:459 +#: netbox/virtualization/forms/model_forms.py:496 #: netbox/virtualization/ui/panels.py:105 msgid "Addressing" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1602 netbox/dcim/forms/filtersets.py:861 -#: netbox/dcim/forms/model_forms.py:1644 -#: netbox/virtualization/forms/model_forms.py:460 +#: netbox/dcim/forms/bulk_edit.py:2026 netbox/dcim/forms/filtersets.py:945 +#: netbox/dcim/forms/model_forms.py:2161 +#: netbox/virtualization/forms/model_forms.py:497 msgid "Operation" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1603 netbox/dcim/forms/filtersets.py:1643 -#: netbox/dcim/forms/filtersets.py:1770 netbox/dcim/forms/model_forms.py:1188 -#: netbox/dcim/forms/model_forms.py:1646 +#: netbox/dcim/forms/bulk_edit.py:2027 netbox/dcim/forms/filtersets.py:2011 +#: netbox/dcim/forms/filtersets.py:2146 netbox/dcim/forms/model_forms.py:1575 +#: netbox/dcim/forms/model_forms.py:2163 msgid "PoE" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1604 netbox/dcim/forms/model_forms.py:1645 -#: netbox/dcim/ui/panels.py:505 netbox/virtualization/forms/bulk_edit.py:291 -#: netbox/virtualization/forms/model_forms.py:461 +#: netbox/dcim/forms/bulk_edit.py:2028 netbox/dcim/forms/model_forms.py:2162 +#: netbox/dcim/ui/panels.py:599 netbox/virtualization/forms/bulk_edit.py:291 +#: netbox/virtualization/forms/model_forms.py:498 msgid "Related Interfaces" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1606 netbox/dcim/forms/filtersets.py:1644 -#: netbox/dcim/forms/model_forms.py:1649 +#: netbox/dcim/forms/bulk_edit.py:2030 netbox/dcim/forms/filtersets.py:2012 +#: netbox/dcim/forms/model_forms.py:2166 #: netbox/virtualization/forms/bulk_edit.py:294 #: netbox/virtualization/forms/filtersets.py:275 -#: netbox/virtualization/forms/model_forms.py:464 +#: netbox/virtualization/forms/model_forms.py:501 msgid "802.1Q Switching" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1611 +#: netbox/dcim/forms/bulk_edit.py:2035 msgid "Add/Remove" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1670 netbox/dcim/forms/bulk_edit.py:1672 +#: netbox/dcim/forms/bulk_edit.py:2094 netbox/dcim/forms/bulk_edit.py:2096 msgid "Interface mode must be specified to assign VLANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1677 +#: netbox/dcim/forms/bulk_edit.py:2101 msgid "An access interface cannot have tagged VLANs assigned." msgstr "" -#: netbox/dcim/forms/bulk_import.py:82 +#: netbox/dcim/forms/bulk_import.py:93 msgid "Name of parent region" msgstr "" -#: netbox/dcim/forms/bulk_import.py:96 +#: netbox/dcim/forms/bulk_import.py:107 msgid "Name of parent site group" msgstr "" -#: netbox/dcim/forms/bulk_import.py:115 +#: netbox/dcim/forms/bulk_import.py:126 msgid "Assigned region" msgstr "" -#: netbox/dcim/forms/bulk_import.py:122 netbox/tenancy/forms/bulk_import.py:50 +#: netbox/dcim/forms/bulk_import.py:133 netbox/tenancy/forms/bulk_import.py:50 #: netbox/wireless/forms/bulk_import.py:41 msgid "Assigned group" msgstr "" -#: netbox/dcim/forms/bulk_import.py:141 +#: netbox/dcim/forms/bulk_import.py:152 msgid "available options" msgstr "" -#: netbox/dcim/forms/bulk_import.py:152 netbox/dcim/forms/bulk_import.py:660 -#: netbox/dcim/forms/bulk_import.py:1820 netbox/ipam/forms/bulk_import.py:519 +#: netbox/dcim/forms/bulk_import.py:163 netbox/dcim/forms/bulk_import.py:704 +#: netbox/dcim/forms/bulk_import.py:2212 netbox/dcim/forms/bulk_import.py:2341 +#: netbox/ipam/forms/bulk_import.py:523 #: netbox/virtualization/forms/bulk_import.py:66 msgid "Assigned site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:159 +#: netbox/dcim/forms/bulk_import.py:170 msgid "Parent location" msgstr "" -#: netbox/dcim/forms/bulk_import.py:161 +#: netbox/dcim/forms/bulk_import.py:172 msgid "Location not found." msgstr "" -#: netbox/dcim/forms/bulk_import.py:212 +#: netbox/dcim/forms/bulk_import.py:223 msgid "The manufacturer of this rack type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:223 +#: netbox/dcim/forms/bulk_import.py:234 msgid "The lowest-numbered position in the rack" msgstr "" -#: netbox/dcim/forms/bulk_import.py:228 netbox/dcim/forms/bulk_import.py:310 +#: netbox/dcim/forms/bulk_import.py:239 netbox/dcim/forms/bulk_import.py:327 msgid "Rail-to-rail width (in inches)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:234 netbox/dcim/forms/bulk_import.py:320 +#: netbox/dcim/forms/bulk_import.py:245 netbox/dcim/forms/bulk_import.py:337 msgid "Unit for outer dimensions" msgstr "" -#: netbox/dcim/forms/bulk_import.py:240 netbox/dcim/forms/bulk_import.py:332 +#: netbox/dcim/forms/bulk_import.py:251 netbox/dcim/forms/bulk_import.py:355 msgid "Unit for rack weights" msgstr "" -#: netbox/dcim/forms/bulk_import.py:272 +#: netbox/dcim/forms/bulk_import.py:289 msgid "Name of assigned tenant" msgstr "" -#: netbox/dcim/forms/bulk_import.py:275 netbox/dcim/forms/filtersets.py:410 -#: netbox/dcim/forms/filtersets.py:515 netbox/dcim/ui/panels.py:47 +#: netbox/dcim/forms/bulk_import.py:292 netbox/dcim/forms/filtersets.py:434 +#: netbox/dcim/forms/filtersets.py:539 netbox/dcim/ui/panels.py:71 #: netbox/ipam/forms/filtersets.py:497 msgid "Rack group" msgstr "" -#: netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:296 msgid "Name of assigned group" msgstr "" -#: netbox/dcim/forms/bulk_import.py:291 +#: netbox/dcim/forms/bulk_import.py:308 msgid "Name of assigned role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:298 +#: netbox/dcim/forms/bulk_import.py:315 msgid "Rack type model" msgstr "" -#: netbox/dcim/forms/bulk_import.py:326 netbox/dcim/forms/bulk_import.py:491 -#: netbox/dcim/forms/bulk_import.py:700 +#: netbox/dcim/forms/bulk_import.py:343 netbox/dcim/forms/bulk_import.py:529 +#: netbox/dcim/forms/bulk_import.py:744 msgid "Airflow direction" msgstr "" -#: netbox/dcim/forms/bulk_import.py:359 +#: netbox/dcim/forms/bulk_import.py:382 msgid "Width must be set if not specifying a rack type." msgstr "" -#: netbox/dcim/forms/bulk_import.py:361 +#: netbox/dcim/forms/bulk_import.py:384 msgid "U height must be set if not specifying a rack type." msgstr "" -#: netbox/dcim/forms/bulk_import.py:369 +#: netbox/dcim/forms/bulk_import.py:392 msgid "Parent site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:376 netbox/dcim/forms/bulk_import.py:1833 +#: netbox/dcim/forms/bulk_import.py:399 netbox/dcim/forms/bulk_import.py:2225 +#: netbox/dcim/forms/bulk_import.py:2354 msgid "Rack's location (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:385 netbox/dcim/forms/model_forms.py:376 -#: netbox/dcim/tables/racks.py:242 netbox/templates/dcim/rackreservation.html:7 +#: netbox/dcim/forms/bulk_import.py:408 netbox/dcim/forms/model_forms.py:468 +#: netbox/dcim/tables/racks.py:255 msgid "Units" msgstr "" -#: netbox/dcim/forms/bulk_import.py:388 +#: netbox/dcim/forms/bulk_import.py:411 msgid "Comma-separated list of individual unit numbers" msgstr "" -#: netbox/dcim/forms/bulk_import.py:436 +#: netbox/dcim/forms/bulk_import.py:459 msgid "The manufacturer which produces this device type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:443 +#: netbox/dcim/forms/bulk_import.py:466 msgid "The default platform for devices of this type (optional)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:448 +#: netbox/dcim/forms/bulk_import.py:471 msgid "Device weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:454 +#: netbox/dcim/forms/bulk_import.py:477 msgid "Unit for device weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:496 +#: netbox/dcim/forms/bulk_import.py:540 msgid "Module weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:502 +#: netbox/dcim/forms/bulk_import.py:546 msgid "Unit for module weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:507 +#: netbox/dcim/forms/bulk_import.py:551 msgid "Attribute values for the assigned profile, passed as a dictionary" msgstr "" -#: netbox/dcim/forms/bulk_import.py:522 +#: netbox/dcim/forms/bulk_import.py:566 msgid "Profile must be specified if attribute data is provided." msgstr "" -#: netbox/dcim/forms/bulk_import.py:535 +#: netbox/dcim/forms/bulk_import.py:579 msgid "Parent Device Role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:537 +#: netbox/dcim/forms/bulk_import.py:581 msgid "Device role not found." msgstr "" -#: netbox/dcim/forms/bulk_import.py:561 +#: netbox/dcim/forms/bulk_import.py:605 msgid "Parent platform" msgstr "" -#: netbox/dcim/forms/bulk_import.py:563 +#: netbox/dcim/forms/bulk_import.py:607 msgid "Platform not found." msgstr "" -#: netbox/dcim/forms/bulk_import.py:571 +#: netbox/dcim/forms/bulk_import.py:615 msgid "Limit platform assignments to this manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_import.py:593 netbox/dcim/forms/bulk_import.py:1902 +#: netbox/dcim/forms/bulk_import.py:637 netbox/dcim/forms/bulk_import.py:2415 #: netbox/tenancy/forms/bulk_import.py:116 msgid "Assigned role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:606 +#: netbox/dcim/forms/bulk_import.py:650 msgid "Device type manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_import.py:612 +#: netbox/dcim/forms/bulk_import.py:656 msgid "Device type model" msgstr "" -#: netbox/dcim/forms/bulk_import.py:619 +#: netbox/dcim/forms/bulk_import.py:663 #: netbox/virtualization/forms/bulk_import.py:165 msgid "Assigned platform" msgstr "" -#: netbox/dcim/forms/bulk_import.py:627 netbox/dcim/forms/bulk_import.py:631 -#: netbox/dcim/forms/model_forms.py:697 +#: netbox/dcim/forms/bulk_import.py:671 netbox/dcim/forms/bulk_import.py:675 +#: netbox/dcim/forms/model_forms.py:864 msgid "Virtual chassis" msgstr "" -#: netbox/dcim/forms/bulk_import.py:638 +#: netbox/dcim/forms/bulk_import.py:682 msgid "Virtualization cluster" msgstr "" -#: netbox/dcim/forms/bulk_import.py:667 +#: netbox/dcim/forms/bulk_import.py:711 msgid "Assigned location (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:674 +#: netbox/dcim/forms/bulk_import.py:718 msgid "Assigned rack (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:677 netbox/dcim/forms/model_forms.py:653 +#: netbox/dcim/forms/bulk_import.py:721 netbox/dcim/forms/model_forms.py:820 msgid "Face" msgstr "" -#: netbox/dcim/forms/bulk_import.py:680 +#: netbox/dcim/forms/bulk_import.py:724 msgid "Mounted rack face" msgstr "" -#: netbox/dcim/forms/bulk_import.py:687 +#: netbox/dcim/forms/bulk_import.py:731 msgid "Parent device (for child devices)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:690 +#: netbox/dcim/forms/bulk_import.py:734 msgid "Device bay" msgstr "" -#: netbox/dcim/forms/bulk_import.py:694 +#: netbox/dcim/forms/bulk_import.py:738 msgid "Device bay in which this device is installed (for child devices)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:767 +#: netbox/dcim/forms/bulk_import.py:817 msgid "The device in which this module is installed" msgstr "" -#: netbox/dcim/forms/bulk_import.py:770 netbox/dcim/forms/model_forms.py:801 +#: netbox/dcim/forms/bulk_import.py:820 netbox/dcim/forms/model_forms.py:974 msgid "Module bay" msgstr "" -#: netbox/dcim/forms/bulk_import.py:773 +#: netbox/dcim/forms/bulk_import.py:823 msgid "The module bay in which this module is installed" msgstr "" -#: netbox/dcim/forms/bulk_import.py:779 +#: netbox/dcim/forms/bulk_import.py:829 msgid "The type of module" msgstr "" -#: netbox/dcim/forms/bulk_import.py:789 +#: netbox/dcim/forms/bulk_import.py:839 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:833 netbox/dcim/forms/bulk_import.py:859 -#: netbox/dcim/forms/bulk_import.py:885 +#: netbox/dcim/forms/bulk_import.py:883 netbox/dcim/forms/bulk_import.py:909 +#: netbox/dcim/forms/bulk_import.py:935 msgid "Port type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:841 netbox/dcim/forms/bulk_import.py:867 +#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:917 msgid "Port speed in bps" msgstr "" -#: netbox/dcim/forms/bulk_import.py:906 +#: netbox/dcim/forms/bulk_import.py:956 msgid "Outlet type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:913 +#: netbox/dcim/forms/bulk_import.py:963 msgid "Local power port which feeds this outlet" msgstr "" -#: netbox/dcim/forms/bulk_import.py:919 +#: netbox/dcim/forms/bulk_import.py:969 msgid "Electrical phase (for three-phase circuits)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:963 netbox/dcim/forms/model_forms.py:1547 +#: netbox/dcim/forms/bulk_import.py:1012 netbox/dcim/forms/bulk_import.py:1093 +#: netbox/dcim/models/device_components.py:717 +#: netbox/dcim/models/device_components.py:758 +msgid "Physical connector type" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:1024 netbox/dcim/forms/bulk_import.py:2378 +msgid "Unit for maximum flow" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:1027 +msgid "Cooling outflow device" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:1031 +msgid "" +"Device bearing the upstream cooling outflow (defaults to this intake's " +"device)" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:1038 +msgid "Upstream cooling outflow which feeds this intake" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:1106 +msgid "Local cooling intake which feeds this outflow" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:1150 netbox/dcim/forms/model_forms.py:2070 #: netbox/virtualization/forms/bulk_import.py:195 -#: netbox/virtualization/forms/model_forms.py:400 +#: netbox/virtualization/forms/model_forms.py:437 msgid "Parent interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:970 netbox/dcim/forms/model_forms.py:1555 +#: netbox/dcim/forms/bulk_import.py:1157 netbox/dcim/forms/model_forms.py:2078 #: netbox/virtualization/forms/bulk_import.py:202 -#: netbox/virtualization/forms/model_forms.py:408 +#: netbox/virtualization/forms/model_forms.py:445 msgid "Bridged interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:973 +#: netbox/dcim/forms/bulk_import.py:1160 msgid "Lag" msgstr "" -#: netbox/dcim/forms/bulk_import.py:977 +#: netbox/dcim/forms/bulk_import.py:1164 msgid "Parent LAG interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:980 +#: netbox/dcim/forms/bulk_import.py:1167 msgid "Vdcs" msgstr "" -#: netbox/dcim/forms/bulk_import.py:985 +#: netbox/dcim/forms/bulk_import.py:1172 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" -#: netbox/dcim/forms/bulk_import.py:991 +#: netbox/dcim/forms/bulk_import.py:1178 msgid "Physical medium" msgstr "" -#: netbox/dcim/forms/bulk_import.py:994 netbox/dcim/forms/filtersets.py:1682 +#: netbox/dcim/forms/bulk_import.py:1181 netbox/dcim/forms/filtersets.py:2058 +#: netbox/dcim/forms/model_forms.py:2025 msgid "Duplex" msgstr "" -#: netbox/dcim/forms/bulk_import.py:999 +#: netbox/dcim/forms/bulk_import.py:1186 msgid "Poe mode" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1005 +#: netbox/dcim/forms/bulk_import.py:1192 msgid "Poe type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1014 +#: netbox/dcim/forms/bulk_import.py:1201 #: netbox/virtualization/forms/bulk_import.py:208 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1021 +#: netbox/dcim/forms/bulk_import.py:1208 #: netbox/virtualization/forms/bulk_import.py:215 msgid "Filter VLANs available for assignment by group" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1028 +#: netbox/dcim/forms/bulk_import.py:1215 #: netbox/virtualization/forms/bulk_import.py:222 msgid "Assigned untagged VLAN ID (filtered by VLAN group)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1037 +#: netbox/dcim/forms/bulk_import.py:1224 #: netbox/virtualization/forms/bulk_import.py:231 msgid "" "Assigned tagged VLAN IDs separated by commas, encased with double quotes " "(filtered by VLAN group). Example:" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1048 +#: netbox/dcim/forms/bulk_import.py:1235 #: netbox/virtualization/forms/bulk_import.py:242 msgid "Assigned Q-in-Q Service VLAN ID (filtered by VLAN group)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1055 netbox/ipam/forms/bulk_import.py:174 -#: netbox/ipam/forms/bulk_import.py:259 netbox/ipam/forms/bulk_import.py:295 +#: netbox/dcim/forms/bulk_import.py:1242 netbox/ipam/forms/bulk_import.py:178 +#: netbox/ipam/forms/bulk_import.py:263 netbox/ipam/forms/bulk_import.py:299 #: netbox/ipam/forms/filtersets.py:230 netbox/ipam/forms/filtersets.py:314 #: netbox/ipam/forms/filtersets.py:383 #: netbox/virtualization/forms/bulk_import.py:249 msgid "Assigned VRF" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1058 +#: netbox/dcim/forms/bulk_import.py:1245 msgid "Rf role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1061 +#: netbox/dcim/forms/bulk_import.py:1248 msgid "Wireless role (AP/station)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1104 +#: netbox/dcim/forms/bulk_import.py:1291 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1120 netbox/dcim/forms/bulk_import.py:1225 -#: netbox/dcim/forms/bulk_import.py:1606 +#: netbox/dcim/forms/bulk_import.py:1307 netbox/dcim/forms/bulk_import.py:1412 +#: netbox/dcim/forms/bulk_import.py:1835 msgid "Physical medium classification" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/model_forms.py:1846 -#: netbox/dcim/forms/object_import.py:145 +#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/model_forms.py:2380 +#: netbox/dcim/forms/object_import.py:207 msgid "Rear port" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1126 +#: netbox/dcim/forms/bulk_import.py:1313 msgid "Corresponding rear port (mapped to the front port's first position)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1129 +#: netbox/dcim/forms/bulk_import.py:1316 msgid "Rear port position" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1131 +#: netbox/dcim/forms/bulk_import.py:1318 msgid "Mapped position on the corresponding rear port (defaults to 1)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1175 netbox/dcim/models/base.py:59 +#: netbox/dcim/forms/bulk_import.py:1362 netbox/dcim/models/base.py:59 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only " "{positions} positions." msgstr "" -#: netbox/dcim/forms/bulk_import.py:1193 +#: netbox/dcim/forms/bulk_import.py:1380 #, python-brace-format msgid "Rear port {name} position {rear_port_position} is already occupied." msgstr "" -#: netbox/dcim/forms/bulk_import.py:1261 +#: netbox/dcim/forms/bulk_import.py:1448 msgid "Installed device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1265 +#: netbox/dcim/forms/bulk_import.py:1452 msgid "Child device installed within this bay" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1267 +#: netbox/dcim/forms/bulk_import.py:1454 msgid "Child device not found." msgstr "" -#: netbox/dcim/forms/bulk_import.py:1331 +#: netbox/dcim/forms/bulk_import.py:1518 msgid "Parent inventory item" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1334 +#: netbox/dcim/forms/bulk_import.py:1521 msgid "Component type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1338 +#: netbox/dcim/forms/bulk_import.py:1525 msgid "Component Type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1341 +#: netbox/dcim/forms/bulk_import.py:1528 msgid "Component name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1343 +#: netbox/dcim/forms/bulk_import.py:1530 msgid "Component Name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1386 netbox/dcim/forms/bulk_import.py:1404 +#: netbox/dcim/forms/bulk_import.py:1573 netbox/dcim/forms/bulk_import.py:1591 msgid "Component name must be specified when component type is specified" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1396 +#: netbox/dcim/forms/bulk_import.py:1583 #, python-brace-format msgid "Component not found: {device} - {component_name}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1409 +#: netbox/dcim/forms/bulk_import.py:1596 msgid "Component type must be specified when component name is specified" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1436 netbox/ipam/forms/bulk_import.py:320 +#: netbox/dcim/forms/bulk_import.py:1623 netbox/ipam/forms/bulk_import.py:324 msgid "Parent device of assigned interface (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1439 netbox/ipam/forms/bulk_import.py:323 +#: netbox/dcim/forms/bulk_import.py:1626 netbox/ipam/forms/bulk_import.py:327 #: netbox/virtualization/filtersets.py:354 #: netbox/virtualization/filtersets.py:412 #: netbox/virtualization/forms/bulk_edit.py:219 @@ -5263,225 +6010,310 @@ msgstr "" #: netbox/virtualization/forms/bulk_import.py:287 #: netbox/virtualization/forms/filtersets.py:290 #: netbox/virtualization/forms/filtersets.py:337 -#: netbox/virtualization/forms/model_forms.py:376 +#: netbox/virtualization/forms/model_forms.py:406 #: netbox/vpn/forms/bulk_import.py:92 netbox/vpn/forms/bulk_import.py:295 msgid "Virtual machine" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1443 netbox/ipam/forms/bulk_import.py:327 +#: netbox/dcim/forms/bulk_import.py:1630 netbox/ipam/forms/bulk_import.py:331 msgid "Parent VM of assigned interface (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1450 netbox/ipam/filtersets.py:1111 -#: netbox/ipam/forms/bulk_import.py:334 +#: netbox/dcim/forms/bulk_import.py:1637 netbox/ipam/filtersets.py:1111 +#: netbox/ipam/forms/bulk_import.py:338 msgid "Assigned interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1454 +#: netbox/dcim/forms/bulk_import.py:1641 msgid "Make this the primary MAC address for the assigned interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1492 +#: netbox/dcim/forms/bulk_import.py:1679 msgid "Must specify the parent device or VM when assigning an interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1525 +#: netbox/dcim/forms/bulk_import.py:1724 msgid "Side A site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1529 -#: netbox/wireless/forms/bulk_import.py:93 -msgid "Site of parent device A (if any)" +#: netbox/dcim/forms/bulk_import.py:1728 +msgid "" +"Site of parent device A (if any). Restricts the devices & power panels which " +"may be matched." msgstr "" -#: netbox/dcim/forms/bulk_import.py:1532 +#: netbox/dcim/forms/bulk_import.py:1731 msgid "Side A device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1536 netbox/dcim/forms/bulk_import.py:1569 -msgid "Device name (for device component terminations)" +#: netbox/dcim/forms/bulk_import.py:1737 netbox/dcim/forms/bulk_import.py:1785 +msgid "" +"Device name(s) for device component terminations. Separate multiple values " +"with commas, encased with double quotes. Example:" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1539 +#: netbox/dcim/forms/bulk_import.py:1743 msgid "Side A power panel" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1543 netbox/dcim/forms/bulk_import.py:1576 -msgid "Power panel name (for power feed terminations)" +#: netbox/dcim/forms/bulk_import.py:1749 netbox/dcim/forms/bulk_import.py:1797 +msgid "" +"Power panel name(s) for power feed terminations. Separate multiple values " +"with commas, encased with double quotes. Example:" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1546 +#: netbox/dcim/forms/bulk_import.py:1755 msgid "Side A type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1552 +#: netbox/dcim/forms/bulk_import.py:1758 netbox/dcim/forms/bulk_import.py:1806 +msgid "Termination type" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:1761 msgid "Side A name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1553 netbox/dcim/forms/bulk_import.py:1586 -msgid "Termination name" +#: netbox/dcim/forms/bulk_import.py:1764 netbox/dcim/forms/bulk_import.py:1812 +msgid "" +"Termination name(s). Separate multiple values with commas, encased with " +"double quotes. Example:" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1558 +#: netbox/dcim/forms/bulk_import.py:1772 msgid "Side B site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1562 -#: netbox/wireless/forms/bulk_import.py:114 -msgid "Site of parent device B (if any)" +#: netbox/dcim/forms/bulk_import.py:1776 +msgid "" +"Site of parent device B (if any). Restricts the devices & power panels which " +"may be matched." msgstr "" -#: netbox/dcim/forms/bulk_import.py:1565 +#: netbox/dcim/forms/bulk_import.py:1779 msgid "Side B device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1572 +#: netbox/dcim/forms/bulk_import.py:1791 msgid "Side B power panel" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1579 +#: netbox/dcim/forms/bulk_import.py:1803 msgid "Side B type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1585 +#: netbox/dcim/forms/bulk_import.py:1809 msgid "Side B name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1594 +#: netbox/dcim/forms/bulk_import.py:1823 #: netbox/templates/dcim/panels/connection.html:60 #: netbox/wireless/forms/bulk_import.py:133 msgid "Connection status" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1600 +#: netbox/dcim/forms/bulk_import.py:1829 msgid "Cable connection profile" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1620 +#: netbox/dcim/forms/bulk_import.py:1849 msgid "Cable bundle name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1632 +#: netbox/dcim/forms/bulk_import.py:1861 msgid "Color name (e.g. \"Red\") or hex code (e.g. \"f44336\")" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1675 +#: netbox/dcim/forms/bulk_import.py:1947 +#, python-brace-format +msgid "" +"Side {side_upper}: The {column} column must be included when modifying " +"terminations" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:1969 +#, python-brace-format +msgid "Object not found: {value}" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:1974 +#: netbox/utilities/forms/fields/csv.py:85 +#, python-brace-format +msgid "" +"\"{value}\" is not a unique value for this field; multiple objects were found" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2003 #, python-brace-format msgid "Invalid side designation: {side}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1694 +#: netbox/dcim/forms/bulk_import.py:2023 +#, python-brace-format +msgid "Side {side_upper}: Empty termination names are not permitted" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2032 netbox/dcim/models/power.py:56 +msgid "power panel" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2035 netbox/dcim/models/devices.py:814 +msgid "device" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2038 +#, python-brace-format +msgid "Bulk import does not support {type} terminations" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2049 #, python-brace-format msgid "" -"Side {side_upper}: {power_panel} {termination_object} is already connected" +"Side {side_upper}: Must specify a {parent} for the selected termination type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1700 +#: netbox/dcim/forms/bulk_import.py:2058 #, python-brace-format -msgid "{side_upper} side termination not found: {power_panel} {name}" +msgid "" +"Side {side_upper}: Must specify either one {parent} for all terminations or " +"one {parent} per termination name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1718 +#: netbox/dcim/forms/bulk_import.py:2072 #, python-brace-format -msgid "Side {side_upper}: {device} {termination_object} is already connected" +msgid "{side_upper} side termination not found: {parent} {name}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1724 +#: netbox/dcim/forms/bulk_import.py:2078 #, python-brace-format -msgid "{side_upper} side termination not found: {device} {name}" +msgid "{side_upper} side termination not unique: {parent} {name}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1746 +#: netbox/dcim/forms/bulk_import.py:2084 +#, python-brace-format +msgid "Side {side_upper}: {parent} {termination_object} is already connected" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2092 +#, python-brace-format +msgid "Side {side_upper}: Duplicate termination specified" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2112 #, python-brace-format msgid "" "{color} did not match any used color name and was longer than six " "characters: invalid hex." msgstr "" -#: netbox/dcim/forms/bulk_import.py:1771 netbox/dcim/forms/model_forms.py:962 -#: netbox/dcim/tables/devices.py:1154 +#: netbox/dcim/forms/bulk_import.py:2132 +#, python-brace-format +msgid "" +"Side {side_upper}: The side_{side}_name column must be included when " +"modifying terminations (found {columns})" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2163 netbox/dcim/forms/model_forms.py:1242 +#: netbox/dcim/tables/devices.py:1174 #: netbox/templates/dcim/panels/virtual_chassis_members.html:10 msgid "Master" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1775 +#: netbox/dcim/forms/bulk_import.py:2167 msgid "Master device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1792 +#: netbox/dcim/forms/bulk_import.py:2184 netbox/dcim/forms/bulk_import.py:2294 msgid "Name of parent site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1826 +#: netbox/dcim/forms/bulk_import.py:2218 msgid "Upstream power panel" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1856 +#: netbox/dcim/forms/bulk_import.py:2248 msgid "Primary or redundant" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1861 +#: netbox/dcim/forms/bulk_import.py:2253 msgid "Supply type (AC/DC)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1866 +#: netbox/dcim/forms/bulk_import.py:2258 msgid "Single or three-phase" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1916 netbox/dcim/forms/model_forms.py:1939 -#: netbox/dcim/ui/panels.py:111 netbox/dcim/ui/panels.py:371 +#: netbox/dcim/forms/bulk_import.py:2305 +msgid "Cooling source type" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2316 +msgid "Coolant fluid type" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2347 +msgid "Upstream cooling source" +msgstr "" + +#: netbox/dcim/forms/bulk_import.py:2429 netbox/dcim/forms/model_forms.py:2477 +#: netbox/dcim/ui/panels.py:140 netbox/dcim/ui/panels.py:464 #: netbox/virtualization/ui/panels.py:55 msgid "Primary IPv4" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1920 +#: netbox/dcim/forms/bulk_import.py:2433 msgid "IPv4 address with mask, e.g. 1.2.3.4/24" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1923 netbox/dcim/forms/model_forms.py:1948 -#: netbox/dcim/ui/panels.py:116 netbox/dcim/ui/panels.py:376 +#: netbox/dcim/forms/bulk_import.py:2436 netbox/dcim/forms/model_forms.py:2486 +#: netbox/dcim/ui/panels.py:145 netbox/dcim/ui/panels.py:469 #: netbox/virtualization/ui/panels.py:60 msgid "Primary IPv6" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1927 +#: netbox/dcim/forms/bulk_import.py:2440 msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "" -#: netbox/dcim/forms/common.py:20 netbox/dcim/models/device_components.py:706 -#: netbox/dcim/ui/panels.py:490 netbox/virtualization/forms/bulk_edit.py:244 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:809 +#: netbox/dcim/ui/panels.py:584 netbox/virtualization/forms/bulk_edit.py:244 #: netbox/virtualization/ui/panels.py:98 msgid "MTU" msgstr "" -#: netbox/dcim/forms/common.py:60 +#: netbox/dcim/forms/common.py:30 +msgid "" +"Enter a MAC address to create and assign it as the primary MAC in one step." +msgstr "" + +#: netbox/dcim/forms/common.py:87 #, 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/connections.py:59 netbox/dcim/forms/model_forms.py:915 +#: netbox/dcim/forms/connections.py:59 netbox/dcim/forms/model_forms.py:1107 #: netbox/dcim/tables/power.py:63 #: netbox/templates/dcim/inc/cable_termination.html:40 #: netbox/templates/dcim/trace/powerpanel.html:4 msgid "Power Panel" msgstr "" -#: netbox/dcim/forms/connections.py:68 netbox/dcim/forms/model_forms.py:942 -#: netbox/dcim/views.py:3221 +#: netbox/dcim/forms/connections.py:68 netbox/dcim/forms/model_forms.py:1154 +#: netbox/dcim/views.py:3629 msgid "Power Feed" msgstr "" -#: netbox/dcim/forms/filtersets.py:163 netbox/dcim/tables/devices.py:312 +#: netbox/dcim/forms/filtersets.py:175 netbox/dcim/tables/devices.py:328 msgid "Device Status" msgstr "" -#: netbox/dcim/forms/filtersets.py:178 +#: netbox/dcim/forms/filtersets.py:190 msgid "Parent region" msgstr "" -#: netbox/dcim/forms/filtersets.py:194 netbox/tenancy/forms/bulk_import.py:35 +#: netbox/dcim/forms/filtersets.py:206 netbox/tenancy/forms/bulk_import.py:35 #: netbox/tenancy/forms/bulk_import.py:68 netbox/tenancy/forms/filtersets.py:46 #: netbox/tenancy/forms/filtersets.py:82 #: netbox/wireless/forms/bulk_import.py:27 @@ -5489,123 +6321,136 @@ msgstr "" msgid "Parent group" msgstr "" -#: netbox/dcim/forms/filtersets.py:358 +#: netbox/dcim/forms/filtersets.py:381 msgid "Rack count" msgstr "" -#: netbox/dcim/forms/filtersets.py:456 +#: netbox/dcim/forms/filtersets.py:480 msgid "Function" msgstr "" -#: netbox/dcim/forms/filtersets.py:478 netbox/dcim/forms/model_forms.py:386 -#: netbox/dcim/tables/racks.py:217 netbox/dcim/views.py:1260 +#: netbox/dcim/forms/filtersets.py:502 netbox/dcim/forms/model_forms.py:478 +#: netbox/dcim/tables/racks.py:230 netbox/dcim/views.py:1293 msgid "Reservation" msgstr "" -#: netbox/dcim/forms/filtersets.py:539 +#: netbox/dcim/forms/filtersets.py:563 msgid "Minimum U's" msgstr "" -#: netbox/dcim/forms/filtersets.py:543 +#: netbox/dcim/forms/filtersets.py:567 msgid "Maximum U's" msgstr "" -#: netbox/dcim/forms/filtersets.py:566 netbox/dcim/forms/model_forms.py:435 +#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/model_forms.py:548 #: netbox/netbox/views/generic/feature_views.py:92 #: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "" -#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:713 -#: netbox/dcim/forms/filtersets.py:868 +#: netbox/dcim/forms/filtersets.py:594 netbox/dcim/forms/filtersets.py:775 +#: netbox/dcim/forms/filtersets.py:953 msgid "Components" msgstr "" -#: netbox/dcim/forms/filtersets.py:590 +#: netbox/dcim/forms/filtersets.py:616 msgid "Device count" msgstr "" -#: netbox/dcim/forms/filtersets.py:595 +#: netbox/dcim/forms/filtersets.py:621 msgid "Subdevice role" msgstr "" -#: netbox/dcim/forms/filtersets.py:735 +#: netbox/dcim/forms/filtersets.py:723 netbox/dcim/forms/filtersets.py:878 +msgid "End of life after" +msgstr "" + +#: netbox/dcim/forms/filtersets.py:728 netbox/dcim/forms/filtersets.py:883 +msgid "End of life before" +msgstr "" + +#: netbox/dcim/forms/filtersets.py:797 netbox/dcim/forms/filtersets.py:2296 +#: netbox/dcim/forms/filtersets.py:2320 +msgid "Module bay type" +msgstr "" + +#: netbox/dcim/forms/filtersets.py:804 msgid "Module count" msgstr "" -#: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/model_forms.py:567 +#: netbox/dcim/forms/filtersets.py:893 netbox/dcim/forms/model_forms.py:724 msgid "Device Role" msgstr "" -#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/tables/racks.py:71 +#: netbox/dcim/forms/filtersets.py:1017 netbox/dcim/tables/racks.py:71 #: netbox/templates/dcim/panels/module_type.html:11 msgid "Model" msgstr "" -#: netbox/dcim/forms/filtersets.py:976 +#: netbox/dcim/forms/filtersets.py:1066 msgid "Has an OOB IP" msgstr "" -#: netbox/dcim/forms/filtersets.py:983 +#: netbox/dcim/forms/filtersets.py:1073 msgid "Virtual chassis member" msgstr "" -#: netbox/dcim/forms/filtersets.py:1032 +#: netbox/dcim/forms/filtersets.py:1122 msgid "Has virtual device contexts" msgstr "" -#: netbox/dcim/forms/filtersets.py:1045 netbox/extras/filtersets.py:794 +#: netbox/dcim/forms/filtersets.py:1135 netbox/extras/filtersets.py:805 #: netbox/ipam/forms/filtersets.py:512 #: netbox/virtualization/forms/filtersets.py:182 msgid "Cluster group" msgstr "" -#: netbox/dcim/forms/filtersets.py:1453 +#: netbox/dcim/forms/filtersets.py:1673 msgid "Cabled" msgstr "" -#: netbox/dcim/forms/filtersets.py:1460 +#: netbox/dcim/forms/filtersets.py:1680 msgid "Occupied" msgstr "" -#: netbox/dcim/forms/filtersets.py:1665 netbox/extras/forms/bulk_edit.py:438 -#: netbox/extras/forms/bulk_import.py:332 netbox/extras/forms/filtersets.py:595 -#: netbox/extras/forms/model_forms.py:896 netbox/extras/tables/tables.py:765 +#: netbox/dcim/forms/filtersets.py:2033 netbox/extras/forms/bulk_edit.py:449 +#: netbox/extras/forms/bulk_import.py:370 netbox/extras/forms/filtersets.py:633 +#: netbox/extras/forms/model_forms.py:922 netbox/extras/tables/tables.py:790 msgid "Kind" msgstr "" -#: netbox/dcim/forms/filtersets.py:1694 +#: netbox/dcim/forms/filtersets.py:2070 msgid "Mgmt only" msgstr "" -#: netbox/dcim/forms/filtersets.py:1706 netbox/dcim/forms/model_forms.py:1631 -#: netbox/dcim/models/device_components.py:883 netbox/dcim/ui/panels.py:520 +#: netbox/dcim/forms/filtersets.py:2082 netbox/dcim/forms/model_forms.py:2147 +#: netbox/dcim/models/device_components.py:1072 netbox/dcim/ui/panels.py:615 msgid "WWN" msgstr "" -#: netbox/dcim/forms/filtersets.py:1721 netbox/dcim/ui/panels.py:496 +#: netbox/dcim/forms/filtersets.py:2097 netbox/dcim/ui/panels.py:590 #: netbox/virtualization/forms/filtersets.py:316 msgid "802.1Q mode" msgstr "" -#: netbox/dcim/forms/filtersets.py:1736 +#: netbox/dcim/forms/filtersets.py:2112 netbox/dcim/forms/model_forms.py:2052 msgid "Wireless channel" msgstr "" -#: netbox/dcim/forms/filtersets.py:1740 +#: netbox/dcim/forms/filtersets.py:2116 msgid "Channel frequency (MHz)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1744 +#: netbox/dcim/forms/filtersets.py:2120 msgid "Channel width (MHz)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1748 +#: netbox/dcim/forms/filtersets.py:2124 msgid "Transmit power (dBm)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1819 netbox/dcim/forms/filtersets.py:1863 -#: netbox/dcim/tables/devices.py:344 netbox/templates/dcim/cable_trace.html:48 +#: netbox/dcim/forms/filtersets.py:2195 netbox/dcim/forms/filtersets.py:2239 +#: netbox/dcim/tables/devices.py:360 netbox/templates/dcim/cable_trace.html:48 #: netbox/templates/dcim/htmx/cable_edit.html:53 #: netbox/templates/dcim/inc/connection_endpoints.html:4 #: netbox/templates/dcim/panels/connection.html:14 @@ -5615,23 +6460,23 @@ msgstr "" msgid "Cable" msgstr "" -#: netbox/dcim/forms/filtersets.py:2006 netbox/dcim/tables/devices.py:1074 +#: netbox/dcim/forms/filtersets.py:2392 netbox/dcim/tables/devices.py:1094 msgid "Discovered" msgstr "" -#: netbox/dcim/forms/filtersets.py:2072 netbox/ipam/forms/filtersets.py:394 +#: netbox/dcim/forms/filtersets.py:2458 netbox/ipam/forms/filtersets.py:394 msgid "Assigned Device" msgstr "" -#: netbox/dcim/forms/filtersets.py:2077 netbox/ipam/forms/filtersets.py:399 +#: netbox/dcim/forms/filtersets.py:2463 netbox/ipam/forms/filtersets.py:399 msgid "Assigned VM" msgstr "" -#: netbox/dcim/forms/filtersets.py:2081 netbox/ipam/forms/filtersets.py:418 +#: netbox/dcim/forms/filtersets.py:2467 netbox/ipam/forms/filtersets.py:418 msgid "Assigned to an interface" msgstr "" -#: netbox/dcim/forms/filtersets.py:2088 +#: netbox/dcim/forms/filtersets.py:2474 msgid "Primary MAC of an interface" msgstr "" @@ -5640,150 +6485,176 @@ msgstr "" msgid "A virtual chassis member already exists in position {vc_position}." msgstr "" -#: netbox/dcim/forms/mixins.py:31 netbox/dcim/forms/mixins.py:93 -#: netbox/ipam/forms/bulk_edit.py:364 netbox/ipam/forms/model_forms.py:640 -msgid "Scope type" -msgstr "" - -#: netbox/dcim/forms/mixins.py:34 netbox/dcim/forms/mixins.py:96 -#: netbox/ipam/forms/bulk_edit.py:231 netbox/ipam/forms/bulk_edit.py:379 -#: netbox/ipam/forms/filtersets.py:200 netbox/ipam/forms/model_forms.py:233 -#: netbox/ipam/forms/model_forms.py:273 netbox/ipam/forms/model_forms.py:646 +#: netbox/dcim/forms/mixins.py:25 netbox/dcim/forms/mixins.py:35 +#: netbox/ipam/forms/bulk_edit.py:232 netbox/ipam/forms/bulk_edit.py:361 +#: netbox/ipam/forms/bulk_edit.py:380 netbox/ipam/forms/filtersets.py:200 +#: netbox/ipam/forms/model_forms.py:239 netbox/ipam/forms/model_forms.py:279 +#: netbox/ipam/forms/model_forms.py:681 netbox/ipam/forms/model_forms.py:691 #: netbox/ipam/tables/ip.py:198 netbox/ipam/tables/vlans.py:40 #: netbox/virtualization/forms/bulk_edit.py:76 #: netbox/virtualization/forms/filtersets.py:57 -#: netbox/virtualization/forms/model_forms.py:77 +#: netbox/virtualization/forms/model_forms.py:95 #: netbox/virtualization/tables/clusters.py:81 #: netbox/wireless/forms/bulk_edit.py:82 netbox/wireless/forms/filtersets.py:42 -#: netbox/wireless/forms/model_forms.py:55 +#: netbox/wireless/forms/model_forms.py:78 #: netbox/wireless/tables/wirelesslan.py:51 msgid "Scope" msgstr "" -#: netbox/dcim/forms/mixins.py:64 netbox/dcim/forms/mixins.py:172 -#: netbox/dcim/models/mixins.py:98 netbox/ipam/models/vlans.py:108 -#, python-brace-format -msgid "Please select a {scope_type}." -msgstr "" - -#: netbox/dcim/forms/mixins.py:122 netbox/ipam/forms/bulk_import.py:489 +#: netbox/dcim/forms/mixins.py:47 netbox/ipam/forms/bulk_import.py:493 msgid "Scope type (app & model)" msgstr "" -#: netbox/dcim/forms/mixins.py:126 +#: netbox/dcim/forms/mixins.py:51 msgid "Scope name" msgstr "" -#: netbox/dcim/forms/mixins.py:127 +#: netbox/dcim/forms/mixins.py:52 msgid "Name of the assigned scope object (if not using ID)" msgstr "" -#: netbox/dcim/forms/mixins.py:139 +#: netbox/dcim/forms/mixins.py:64 msgid "scope_name and scope_id are mutually exclusive." msgstr "" -#: netbox/dcim/forms/mixins.py:143 +#: netbox/dcim/forms/mixins.py:68 msgid "scope_type must be specified when using scope_name" msgstr "" -#: netbox/dcim/forms/mixins.py:145 +#: netbox/dcim/forms/mixins.py:70 msgid "scope_type must be specified when using scope_id" msgstr "" -#: netbox/dcim/forms/mixins.py:154 +#: netbox/dcim/forms/mixins.py:79 #, python-brace-format msgid "{scope_type} \"{name}\" not found." msgstr "" -#: netbox/dcim/forms/mixins.py:162 +#: netbox/dcim/forms/mixins.py:87 #, python-brace-format msgid "" "Multiple {scope_type} objects match \"{name}\". Use scope_id to specify the " "intended object." msgstr "" -#: netbox/dcim/forms/mixins.py:180 netbox/dcim/tables/devices.py:260 +#: netbox/dcim/forms/mixins.py:97 netbox/dcim/models/mixins.py:112 +#: netbox/ipam/models/vlans.py:108 +#, python-brace-format +msgid "Please select a {scope_type}." +msgstr "" + +#: netbox/dcim/forms/mixins.py:105 netbox/dcim/tables/devices.py:272 msgid "Rear ports" msgstr "" -#: netbox/dcim/forms/mixins.py:203 +#: netbox/dcim/forms/mixins.py:128 #, python-brace-format msgid "" "The total number of front port positions ({frontport_count}) must match the " "selected number of rear port positions ({rearport_count})." msgstr "" -#: netbox/dcim/forms/model_forms.py:171 +#: netbox/dcim/forms/model_forms.py:190 msgid "Contact Info" msgstr "" -#: netbox/dcim/forms/model_forms.py:239 netbox/dcim/forms/model_forms.py:307 +#: netbox/dcim/forms/model_forms.py:263 netbox/dcim/forms/model_forms.py:371 msgid "Rack Group" msgstr "" -#: netbox/dcim/forms/model_forms.py:251 +#: netbox/dcim/forms/model_forms.py:275 msgid "Rack Role" msgstr "" -#: netbox/dcim/forms/model_forms.py:268 netbox/dcim/forms/model_forms.py:425 -#: netbox/dcim/forms/model_forms.py:596 +#: netbox/dcim/forms/model_forms.py:306 netbox/dcim/forms/model_forms.py:536 +#: netbox/dcim/forms/model_forms.py:753 #: netbox/utilities/forms/fields/fields.py:81 msgid "Slug" msgstr "" -#: netbox/dcim/forms/model_forms.py:321 +#: netbox/dcim/forms/model_forms.py:385 msgid "Select a pre-defined rack type, or set physical characteristics below." msgstr "" -#: netbox/dcim/forms/model_forms.py:329 +#: netbox/dcim/forms/model_forms.py:394 msgid "Inventory Control" msgstr "" -#: netbox/dcim/forms/model_forms.py:378 +#: netbox/dcim/forms/model_forms.py:427 +msgid "" +"Deprecated and will be removed in NetBox v5.0. Assign a rack type to define " +"this attribute instead." +msgstr "" + +#: netbox/dcim/forms/model_forms.py:470 msgid "" "Comma-separated list of numeric unit IDs. A range may be specified using a " "hyphen." msgstr "" -#: netbox/dcim/forms/model_forms.py:459 netbox/extras/forms/model_forms.py:691 +#: netbox/dcim/forms/model_forms.py:503 +msgid "Parent/child status" +msgstr "" + +#: netbox/dcim/forms/model_forms.py:507 netbox/dcim/models/devices.py:129 +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/forms/model_forms.py:595 netbox/extras/forms/model_forms.py:717 msgid "Enter a valid JSON schema to define supported attributes." msgstr "" -#: netbox/dcim/forms/model_forms.py:490 +#: netbox/dcim/forms/model_forms.py:631 netbox/dcim/forms/model_forms.py:1655 +#: netbox/dcim/forms/model_forms.py:2252 netbox/dcim/forms/object_import.py:237 +msgid "Module bay types" +msgstr "" + +#: netbox/dcim/forms/model_forms.py:642 netbox/dcim/ui/panels.py:230 +#: netbox/dcim/ui/panels.py:335 +msgid "Bay Type Compatibility" +msgstr "" + +#: netbox/dcim/forms/model_forms.py:644 msgid "Profile & Attributes" msgstr "" -#: netbox/dcim/forms/model_forms.py:642 netbox/dcim/models/devices.py:589 +#: netbox/dcim/forms/model_forms.py:809 netbox/dcim/models/devices.py:610 msgid "The lowest-numbered unit occupied by the device" msgstr "" -#: netbox/dcim/forms/model_forms.py:694 -#: netbox/virtualization/forms/model_forms.py:261 +#: netbox/dcim/forms/model_forms.py:861 +#: netbox/virtualization/forms/model_forms.py:291 msgid "Local config context data" msgstr "" -#: netbox/dcim/forms/model_forms.py:708 +#: netbox/dcim/forms/model_forms.py:875 msgid "The position in the virtual chassis this device is identified by" msgstr "" -#: netbox/dcim/forms/model_forms.py:713 +#: netbox/dcim/forms/model_forms.py:880 msgid "The priority of the device in the virtual chassis" msgstr "" -#: netbox/dcim/forms/model_forms.py:822 +#: netbox/dcim/forms/model_forms.py:995 msgid "Automatically populate components associated with this module type" msgstr "" -#: netbox/dcim/forms/model_forms.py:864 -#: netbox/templates/dcim/cablebundle.html:14 +#: netbox/dcim/forms/model_forms.py:1036 +#: netbox/templates/dcim/cablebundle.html:10 msgid "Cable Bundle" msgstr "" -#: netbox/dcim/forms/model_forms.py:944 -msgid "Characteristics" +#: netbox/dcim/forms/model_forms.py:1188 netbox/dcim/tables/cooling.py:85 +msgid "Cooling Source" msgstr "" -#: netbox/dcim/forms/model_forms.py:1100 +#: netbox/dcim/forms/model_forms.py:1217 +msgid "Cooling Feed" +msgstr "" + +#: netbox/dcim/forms/model_forms.py:1378 #, python-brace-format msgid "" "Alphanumeric ranges are supported for bulk creation. Mixed cases and types " @@ -5795,48 +6666,54 @@ msgid "" "(default is 0))" msgstr "" -#: netbox/dcim/forms/model_forms.py:1315 +#: netbox/dcim/forms/model_forms.py:1447 netbox/dcim/forms/model_forms.py:1942 +#: netbox/dcim/models/device_component_templates.py:389 +#: netbox/dcim/models/device_components.py:669 +msgid "Phase (for three-phase feeds)" +msgstr "" + +#: netbox/dcim/forms/model_forms.py:1716 msgid "Console port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1323 +#: netbox/dcim/forms/model_forms.py:1724 msgid "Console server port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1331 +#: netbox/dcim/forms/model_forms.py:1732 msgid "Front port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1339 +#: netbox/dcim/forms/model_forms.py:1740 msgid "Interface template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1347 +#: netbox/dcim/forms/model_forms.py:1748 msgid "Power outlet template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1355 +#: netbox/dcim/forms/model_forms.py:1756 msgid "Power port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1363 +#: netbox/dcim/forms/model_forms.py:1764 msgid "Rear port template" msgstr "" -#: netbox/dcim/forms/model_forms.py:1373 netbox/dcim/forms/model_forms.py:1858 -#: netbox/dcim/tables/connections.py:28 netbox/dcim/views.py:3130 -#: netbox/dcim/views.py:3579 +#: netbox/dcim/forms/model_forms.py:1774 netbox/dcim/forms/model_forms.py:2392 +#: netbox/dcim/tables/connections.py:28 netbox/dcim/views.py:3534 +#: netbox/dcim/views.py:4157 msgid "Console Port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1374 netbox/dcim/forms/model_forms.py:1859 -#: netbox/dcim/views.py:3039 netbox/dcim/views.py:3578 +#: netbox/dcim/forms/model_forms.py:1775 netbox/dcim/forms/model_forms.py:2393 +#: netbox/dcim/views.py:3439 netbox/dcim/views.py:4156 msgid "Console Server Port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1375 netbox/dcim/forms/model_forms.py:1860 -#: netbox/dcim/views.py:3041 netbox/dcim/views.py:3131 -#: netbox/dcim/views.py:3580 netbox/dcim/views.py:3682 +#: netbox/dcim/forms/model_forms.py:1776 netbox/dcim/forms/model_forms.py:2394 +#: netbox/dcim/views.py:3441 netbox/dcim/views.py:3535 +#: netbox/dcim/views.py:4158 netbox/dcim/views.py:4264 #: netbox/templates/circuits/circuit_termination/attrs/connection.html:41 #: netbox/templates/circuits/inc/circuit_termination_fields.html:57 #: netbox/templates/dcim/panels/interface_connection.html:86 @@ -5844,9 +6721,9 @@ msgstr "" msgid "Front Port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1376 netbox/dcim/forms/model_forms.py:1861 -#: netbox/dcim/views.py:3042 netbox/dcim/views.py:3132 -#: netbox/dcim/views.py:3581 netbox/dcim/views.py:3683 +#: netbox/dcim/forms/model_forms.py:1777 netbox/dcim/forms/model_forms.py:2395 +#: netbox/dcim/views.py:3442 netbox/dcim/views.py:3536 +#: netbox/dcim/views.py:4159 netbox/dcim/views.py:4265 #: netbox/templates/circuits/circuit_termination/attrs/connection.html:42 #: netbox/templates/circuits/inc/circuit_termination_fields.html:58 #: netbox/templates/dcim/panels/front_port_mappings.html:10 @@ -5854,125 +6731,140 @@ msgstr "" msgid "Rear Port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1377 netbox/dcim/forms/model_forms.py:1862 -#: netbox/dcim/tables/connections.py:47 netbox/dcim/tables/devices.py:539 -#: netbox/dcim/views.py:3309 netbox/dcim/views.py:4841 +#: netbox/dcim/forms/model_forms.py:1778 netbox/dcim/forms/model_forms.py:2396 +#: netbox/dcim/tables/connections.py:47 netbox/dcim/tables/devices.py:555 +#: netbox/dcim/views.py:3721 netbox/dcim/views.py:5528 msgid "Power Port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1378 netbox/dcim/forms/model_forms.py:1863 -#: netbox/dcim/views.py:3220 +#: netbox/dcim/forms/model_forms.py:1779 netbox/dcim/forms/model_forms.py:2397 +#: netbox/dcim/views.py:3628 msgid "Power Outlet" msgstr "" -#: netbox/dcim/forms/model_forms.py:1380 netbox/dcim/forms/model_forms.py:1865 +#: netbox/dcim/forms/model_forms.py:1781 netbox/dcim/forms/model_forms.py:2399 msgid "Component Assignment" msgstr "" -#: netbox/dcim/forms/model_forms.py:1426 netbox/dcim/forms/model_forms.py:1912 +#: netbox/dcim/forms/model_forms.py:1827 netbox/dcim/forms/model_forms.py:2446 msgid "An InventoryItem can only be assigned to a single component." msgstr "" -#: netbox/dcim/forms/model_forms.py:1563 +#: netbox/dcim/forms/model_forms.py:1869 netbox/dcim/forms/model_forms.py:1889 +#: netbox/dcim/forms/model_forms.py:1909 netbox/dcim/forms/model_forms.py:1931 +#: netbox/dcim/models/device_components.py:454 +#: netbox/dcim/models/device_components.py:481 +#: netbox/dcim/models/device_components.py:512 +#: netbox/dcim/models/device_components.py:654 +msgid "Physical port type" +msgstr "" + +#: netbox/dcim/forms/model_forms.py:2043 +#: netbox/dcim/models/device_components.py:817 +#: netbox/virtualization/forms/model_forms.py:424 +msgid "IEEE 802.1Q tagging strategy" +msgstr "" + +#: netbox/dcim/forms/model_forms.py:2086 msgid "LAG interface" msgstr "" -#: netbox/dcim/forms/model_forms.py:1586 +#: netbox/dcim/forms/model_forms.py:2109 msgid "Filter VLANs available for assignment by group." msgstr "" -#: netbox/dcim/forms/model_forms.py:1755 +#: netbox/dcim/forms/model_forms.py:2284 msgid "Child Device" msgstr "" -#: netbox/dcim/forms/model_forms.py:1756 +#: netbox/dcim/forms/model_forms.py:2285 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:1798 +#: netbox/dcim/forms/model_forms.py:2332 msgid "Console port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1806 +#: netbox/dcim/forms/model_forms.py:2340 msgid "Console server port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1814 netbox/dcim/forms/object_import.py:140 +#: netbox/dcim/forms/model_forms.py:2348 netbox/dcim/forms/object_import.py:202 msgid "Front port" msgstr "" -#: netbox/dcim/forms/model_forms.py:1830 +#: netbox/dcim/forms/model_forms.py:2364 msgid "Power outlet" msgstr "" -#: netbox/dcim/forms/model_forms.py:1852 +#: netbox/dcim/forms/model_forms.py:2386 msgid "Inventory Item" msgstr "" -#: netbox/dcim/forms/model_forms.py:1921 +#: netbox/dcim/forms/model_forms.py:2455 msgid "Inventory Item Role" msgstr "" -#: netbox/dcim/forms/model_forms.py:1991 +#: netbox/dcim/forms/model_forms.py:2529 msgid "VM Interface" msgstr "" -#: netbox/dcim/forms/model_forms.py:2007 netbox/ipam/forms/filtersets.py:675 -#: netbox/ipam/forms/model_forms.py:359 netbox/ipam/tables/vlans.py:190 +#: netbox/dcim/forms/model_forms.py:2545 netbox/ipam/forms/filtersets.py:687 +#: netbox/ipam/forms/model_forms.py:383 netbox/ipam/tables/vlans.py:190 #: netbox/virtualization/forms/filtersets.py:272 #: netbox/virtualization/forms/filtersets.py:330 -#: netbox/virtualization/forms/model_forms.py:272 +#: netbox/virtualization/forms/model_forms.py:302 #: netbox/virtualization/tables/virtualmachines.py:150 #: netbox/virtualization/tables/virtualmachines.py:206 #: netbox/virtualization/ui/panels.py:80 netbox/virtualization/ui/panels.py:92 -#: netbox/vpn/choices.py:53 netbox/vpn/forms/filtersets.py:315 -#: netbox/vpn/forms/model_forms.py:158 netbox/vpn/forms/model_forms.py:169 -#: netbox/vpn/forms/model_forms.py:271 netbox/vpn/forms/model_forms.py:452 +#: netbox/vpn/choices.py:66 netbox/vpn/forms/filtersets.py:315 +#: netbox/vpn/forms/model_forms.py:173 netbox/vpn/forms/model_forms.py:184 +#: netbox/vpn/forms/model_forms.py:294 netbox/vpn/forms/model_forms.py:516 msgid "Virtual Machine" msgstr "" -#: netbox/dcim/forms/model_forms.py:2046 +#: netbox/dcim/forms/model_forms.py:2584 msgid "A MAC address can only be assigned to a single object." msgstr "" -#: netbox/dcim/forms/object_create.py:50 netbox/dcim/forms/object_create.py:159 -#: netbox/dcim/forms/object_create.py:260 +#: netbox/dcim/forms/object_create.py:59 netbox/dcim/forms/object_create.py:185 +#: netbox/dcim/forms/object_create.py:303 msgid "" "Alphanumeric ranges are supported. (Must match the number of objects being " "created.)" msgstr "" -#: netbox/dcim/forms/object_create.py:76 +#: netbox/dcim/forms/object_create.py:85 #, python-brace-format msgid "" "The provided pattern specifies {value_count} values, but {pattern_count} are " "expected." msgstr "" -#: netbox/dcim/forms/object_create.py:314 netbox/dcim/tables/devices.py:1160 +#: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:1180 #: netbox/ipam/tables/fhrp.py:31 netbox/ipam/ui/panels.py:185 -#: netbox/ipam/views.py:1594 netbox/templates/dcim/virtualchassis_edit.html:59 +#: netbox/ipam/views.py:1621 netbox/templates/dcim/virtualchassis_edit.html:59 #: netbox/users/views.py:375 msgid "Members" msgstr "" -#: netbox/dcim/forms/object_create.py:324 +#: netbox/dcim/forms/object_create.py:367 msgid "Initial position" msgstr "" -#: netbox/dcim/forms/object_create.py:327 +#: netbox/dcim/forms/object_create.py:370 msgid "" "Position of the first member device. Increases by one for each additional " "member." msgstr "" -#: netbox/dcim/forms/object_create.py:332 +#: netbox/dcim/forms/object_create.py:375 msgid "Member Devices" msgstr "" -#: netbox/dcim/forms/object_create.py:347 +#: netbox/dcim/forms/object_create.py:390 msgid "A position must be specified for the first VC member." msgstr "" @@ -5989,13 +6881,13 @@ msgid "profile" msgstr "" #: netbox/dcim/models/cables.py:113 -#: netbox/dcim/models/device_component_templates.py:64 -#: netbox/dcim/models/device_components.py:62 -#: netbox/extras/models/customfields.py:140 +#: netbox/dcim/models/device_component_templates.py:69 +#: netbox/dcim/models/device_components.py:70 +#: netbox/extras/models/customfields.py:191 msgid "label" msgstr "" -#: netbox/dcim/models/cables.py:122 +#: netbox/dcim/models/cables.py:122 netbox/utilities/conversion.py:71 msgid "length" msgstr "" @@ -6036,1203 +6928,1633 @@ msgstr "" msgid "A and B terminations cannot connect to the same object." msgstr "" -#: netbox/dcim/models/cables.py:550 netbox/ipam/models/asns.py:38 +#: netbox/dcim/models/cables.py:574 netbox/ipam/models/asns.py:38 msgid "end" msgstr "" -#: netbox/dcim/models/cables.py:621 +#: netbox/dcim/models/cables.py:645 msgid "cable termination" msgstr "" -#: netbox/dcim/models/cables.py:622 +#: netbox/dcim/models/cables.py:646 msgid "cable terminations" msgstr "" -#: netbox/dcim/models/cables.py:635 +#: netbox/dcim/models/cables.py:659 #, python-brace-format msgid "" "Cannot connect a cable to {obj_parent} > {obj} because it is marked as " "connected." msgstr "" -#: netbox/dcim/models/cables.py:652 +#: netbox/dcim/models/cables.py:676 #, python-brace-format msgid "" "Duplicate termination found for {app_label}.{model} {termination_id}: cable " "{cable_pk}" msgstr "" -#: netbox/dcim/models/cables.py:662 +#: netbox/dcim/models/cables.py:688 +msgid "" +"Cables cannot be terminated directly to a channel subinterface; cable the " +"parent interface instead." +msgstr "" + +#: netbox/dcim/models/cables.py:694 #, python-brace-format msgid "Cables cannot be terminated to {type_display} interfaces" msgstr "" -#: netbox/dcim/models/cables.py:669 +#: netbox/dcim/models/cables.py:701 msgid "Circuit terminations attached to a provider network may not be cabled." msgstr "" -#: netbox/dcim/models/cables.py:701 +#: netbox/dcim/models/cables.py:733 msgid "" "Invalid cable termination: the assigned termination object does not exist." msgstr "" -#: netbox/dcim/models/cables.py:769 netbox/extras/models/configs.py:103 +#: netbox/dcim/models/cables.py:801 netbox/extras/models/configs.py:105 msgid "is active" msgstr "" -#: netbox/dcim/models/cables.py:773 +#: netbox/dcim/models/cables.py:805 msgid "is complete" msgstr "" -#: netbox/dcim/models/cables.py:777 +#: netbox/dcim/models/cables.py:809 msgid "is split" msgstr "" -#: netbox/dcim/models/cables.py:790 +#: netbox/dcim/models/cables.py:822 msgid "cable path" msgstr "" -#: netbox/dcim/models/cables.py:791 +#: netbox/dcim/models/cables.py:823 msgid "cable paths" msgstr "" -#: netbox/dcim/models/cables.py:882 +#: netbox/dcim/models/cables.py:914 msgid "All originating terminations must be attached to the same link" msgstr "" -#: netbox/dcim/models/cables.py:900 +#: netbox/dcim/models/cables.py:932 msgid "All mid-span terminations must have the same termination type" msgstr "" -#: netbox/dcim/models/cables.py:908 +#: netbox/dcim/models/cables.py:940 msgid "All mid-span terminations must have the same parent object" msgstr "" -#: netbox/dcim/models/cables.py:938 +#: netbox/dcim/models/cables.py:970 msgid "All links must be cable or wireless" msgstr "" -#: netbox/dcim/models/cables.py:940 +#: netbox/dcim/models/cables.py:972 msgid "All links must match first link type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:59 +#: netbox/dcim/models/cooling.py:52 +msgid "fluid type" +msgstr "" + +#: netbox/dcim/models/cooling.py:59 netbox/dcim/models/cooling.py:136 +#: netbox/dcim/models/racks.py:147 +msgid "cooling capacity" +msgstr "" + +#: netbox/dcim/models/cooling.py:65 +msgid "Total rated cooling capacity (kW)" +msgstr "" + +#: netbox/dcim/models/cooling.py:83 +msgid "cooling source" +msgstr "" + +#: netbox/dcim/models/cooling.py:84 +msgid "cooling sources" +msgstr "" + +#: netbox/dcim/models/cooling.py:98 netbox/dcim/models/power.py:68 +#, python-brace-format +msgid "" +"Location {location} ({location_site}) is in a different site than {site}" +msgstr "" + +#: netbox/dcim/models/cooling.py:142 +msgid "Rated cooling capacity (kW)" +msgstr "" + +#: netbox/dcim/models/cooling.py:168 +msgid "cooling feed" +msgstr "" + +#: netbox/dcim/models/cooling.py:169 +msgid "cooling feeds" +msgstr "" + +#: netbox/dcim/models/cooling.py:180 +#, python-brace-format +msgid "" +"Rack {rack} ({rack_site}) and cooling source {source} ({source_site}) are in " +"different sites." +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:64 #, 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:67 -#: netbox/dcim/models/device_components.py:65 +#: netbox/dcim/models/device_component_templates.py:72 +#: netbox/dcim/models/device_components.py:73 msgid "Physical label" msgstr "" -#: netbox/dcim/models/device_component_templates.py:112 +#: netbox/dcim/models/device_component_templates.py:117 msgid "Component templates cannot be moved to a different device type." msgstr "" -#: netbox/dcim/models/device_component_templates.py:166 +#: netbox/dcim/models/device_component_templates.py:171 msgid "" "A component template cannot be associated with both a device type and a " "module type." msgstr "" -#: netbox/dcim/models/device_component_templates.py:170 +#: netbox/dcim/models/device_component_templates.py:175 msgid "" "A component template must be associated with either a device type or a " "module type." msgstr "" -#: netbox/dcim/models/device_component_templates.py:231 +#: netbox/dcim/models/device_component_templates.py:240 msgid "console port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:232 +#: netbox/dcim/models/device_component_templates.py:241 msgid "console port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:266 +#: netbox/dcim/models/device_component_templates.py:275 msgid "console server port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:267 +#: netbox/dcim/models/device_component_templates.py:276 msgid "console server port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:299 -#: netbox/dcim/models/device_components.py:507 +#: netbox/dcim/models/device_component_templates.py:308 +#: netbox/dcim/models/device_components.py:515 msgid "maximum draw" msgstr "" -#: netbox/dcim/models/device_component_templates.py:306 -#: netbox/dcim/models/device_components.py:514 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:522 msgid "allocated draw" msgstr "" -#: netbox/dcim/models/device_component_templates.py:316 +#: netbox/dcim/models/device_component_templates.py:325 msgid "power port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:317 +#: netbox/dcim/models/device_component_templates.py:326 msgid "power port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:337 -#: netbox/dcim/models/device_components.py:534 +#: netbox/dcim/models/device_component_templates.py:346 +#: netbox/dcim/models/device_components.py:542 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" -#: netbox/dcim/models/device_component_templates.py:375 -#: netbox/dcim/models/device_components.py:656 +#: netbox/dcim/models/device_component_templates.py:384 +#: netbox/dcim/models/device_components.py:664 msgid "feed leg" msgstr "" -#: netbox/dcim/models/device_component_templates.py:380 -#: netbox/dcim/models/device_components.py:661 -msgid "Phase (for three-phase feeds)" -msgstr "" - -#: netbox/dcim/models/device_component_templates.py:386 +#: netbox/dcim/models/device_component_templates.py:395 msgid "power outlet template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:387 +#: netbox/dcim/models/device_component_templates.py:396 msgid "power outlet templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:396 +#: netbox/dcim/models/device_component_templates.py:405 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:402 +#: netbox/dcim/models/device_component_templates.py:411 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:458 -#: netbox/dcim/models/device_components.py:865 +#: netbox/dcim/models/device_component_templates.py:462 +msgid "cooling intake template" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:463 +msgid "cooling intake templates" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:518 +msgid "cooling outflow template" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:519 +msgid "cooling outflow templates" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:528 +#, python-brace-format +msgid "" +"Parent cooling intake ({cooling_intake}) must belong to the same device type" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:534 +#, python-brace-format +msgid "" +"Parent cooling intake ({cooling_intake}) must belong to the same module type" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:588 +#: netbox/dcim/models/device_components.py:1033 +msgid "channels" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:595 +#: netbox/dcim/models/device_components.py:1040 +msgid "The number of channels into which this interface is channelized" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:598 +#: netbox/dcim/models/device_components.py:1043 +msgid "channel ID" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:605 +#: netbox/dcim/models/device_components.py:1050 +msgid "The channel on the parent interface to which this subinterface is bound" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:613 +#: netbox/dcim/models/device_components.py:1054 msgid "management only" msgstr "" -#: netbox/dcim/models/device_component_templates.py:466 -#: netbox/dcim/models/device_components.py:730 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:825 +msgid "parent interface" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:629 +#: netbox/dcim/models/device_components.py:833 msgid "bridge interface" msgstr "" -#: netbox/dcim/models/device_component_templates.py:487 -#: netbox/dcim/models/device_components.py:891 +#: netbox/dcim/models/device_component_templates.py:650 +#: netbox/dcim/models/device_components.py:1080 msgid "wireless role" msgstr "" -#: netbox/dcim/models/device_component_templates.py:493 +#: netbox/dcim/models/device_component_templates.py:663 msgid "interface template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:494 +#: netbox/dcim/models/device_component_templates.py:664 msgid "interface templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:503 +#: netbox/dcim/models/device_component_templates.py:674 +#, python-brace-format +msgid "Parent interface ({parent}) must belong to the same device type" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:680 +#, python-brace-format +msgid "Parent interface ({parent}) must belong to the same module type" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:688 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:509 +#: netbox/dcim/models/device_component_templates.py:694 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:581 +#: netbox/dcim/models/device_component_templates.py:771 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:615 -#: netbox/dcim/models/device_component_templates.py:688 -#: netbox/dcim/models/device_components.py:1255 -#: netbox/dcim/models/device_components.py:1303 +#: netbox/dcim/models/device_component_templates.py:805 +#: netbox/dcim/models/device_component_templates.py:878 +#: netbox/dcim/models/device_components.py:1526 +#: netbox/dcim/models/device_components.py:1574 msgid "positions" msgstr "" -#: netbox/dcim/models/device_component_templates.py:636 +#: netbox/dcim/models/device_component_templates.py:826 msgid "front port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:637 +#: netbox/dcim/models/device_component_templates.py:827 msgid "front port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:648 +#: netbox/dcim/models/device_component_templates.py:838 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped rear port " "templates ({count})" msgstr "" -#: netbox/dcim/models/device_component_templates.py:699 +#: netbox/dcim/models/device_component_templates.py:889 msgid "rear port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:890 msgid "rear port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:711 +#: netbox/dcim/models/device_component_templates.py:901 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front port " "templates ({count})" msgstr "" -#: netbox/dcim/models/device_component_templates.py:743 -#: netbox/dcim/models/device_components.py:1373 +#: netbox/dcim/models/device_component_templates.py:933 +#: netbox/dcim/models/device_components.py:1621 msgid "position" msgstr "" -#: netbox/dcim/models/device_component_templates.py:746 -#: netbox/dcim/models/device_components.py:1376 +#: netbox/dcim/models/device_component_templates.py:936 +#: netbox/dcim/models/device_components.py:1624 msgid "Identifier to reference when renaming installed components" msgstr "" -#: netbox/dcim/models/device_component_templates.py:756 +#: netbox/dcim/models/device_component_templates.py:946 +#: netbox/dcim/models/device_components.py:1634 +#: netbox/dcim/models/modules.py:79 netbox/dcim/models/modules.py:176 +msgid "module bay types" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:947 +#: netbox/dcim/models/device_components.py:1635 +msgid "" +"Types of modules that can be installed in this bay (empty = unconstrained)" +msgstr "" + +#: netbox/dcim/models/device_component_templates.py:953 msgid "module bay template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:757 +#: netbox/dcim/models/device_component_templates.py:954 msgid "module bay templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:791 +#: netbox/dcim/models/device_component_templates.py:1000 msgid "device bay template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:792 +#: netbox/dcim/models/device_component_templates.py:1001 msgid "device bay templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:807 +#: netbox/dcim/models/device_component_templates.py:1016 #, 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:863 -#: netbox/dcim/models/device_components.py:1602 +#: netbox/dcim/models/device_component_templates.py:1072 +#: netbox/dcim/models/device_components.py:1865 msgid "part ID" msgstr "" -#: netbox/dcim/models/device_component_templates.py:865 -#: netbox/dcim/models/device_components.py:1604 +#: netbox/dcim/models/device_component_templates.py:1074 +#: netbox/dcim/models/device_components.py:1867 msgid "Manufacturer-assigned part identifier" msgstr "" -#: netbox/dcim/models/device_component_templates.py:882 +#: netbox/dcim/models/device_component_templates.py:1092 msgid "inventory item template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:883 +#: netbox/dcim/models/device_component_templates.py:1093 msgid "inventory item templates" msgstr "" -#: netbox/dcim/models/device_components.py:128 +#: netbox/dcim/models/device_components.py:136 msgid "Components cannot be moved to a different device." msgstr "" -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:183 msgid "cable end" msgstr "" -#: netbox/dcim/models/device_components.py:200 +#: netbox/dcim/models/device_components.py:208 msgid "mark connected" msgstr "" -#: netbox/dcim/models/device_components.py:202 +#: netbox/dcim/models/device_components.py:210 msgid "Treat as if a cable is connected" msgstr "" -#: netbox/dcim/models/device_components.py:221 +#: netbox/dcim/models/device_components.py:229 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "" -#: netbox/dcim/models/device_components.py:225 +#: netbox/dcim/models/device_components.py:233 msgid "Must specify position(s) when specifying a cable connector." msgstr "" -#: netbox/dcim/models/device_components.py:229 +#: netbox/dcim/models/device_components.py:237 msgid "Cable positions cannot be set without a cable connector." msgstr "" -#: netbox/dcim/models/device_components.py:233 +#: netbox/dcim/models/device_components.py:241 msgid "Cannot mark as connected with a cable attached." msgstr "" -#: netbox/dcim/models/device_components.py:238 +#: netbox/dcim/models/device_components.py:246 msgid "Cable end must not be set without a cable." msgstr "" -#: netbox/dcim/models/device_components.py:242 +#: netbox/dcim/models/device_components.py:250 msgid "Cable connector must not be set without a cable." msgstr "" -#: netbox/dcim/models/device_components.py:246 +#: netbox/dcim/models/device_components.py:254 msgid "Cable termination positions must not be set without a cable." msgstr "" -#: netbox/dcim/models/device_components.py:297 +#: netbox/dcim/models/device_components.py:305 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "" -#: netbox/dcim/models/device_components.py:446 -#: netbox/dcim/models/device_components.py:473 -#: netbox/dcim/models/device_components.py:504 -#: netbox/dcim/models/device_components.py:646 -msgid "Physical port type" -msgstr "" - -#: netbox/dcim/models/device_components.py:449 -#: netbox/dcim/models/device_components.py:476 +#: netbox/dcim/models/device_components.py:457 +#: netbox/dcim/models/device_components.py:484 msgid "speed" msgstr "" -#: netbox/dcim/models/device_components.py:453 -#: netbox/dcim/models/device_components.py:480 +#: netbox/dcim/models/device_components.py:461 +#: netbox/dcim/models/device_components.py:488 msgid "Port speed in bits per second" msgstr "" -#: netbox/dcim/models/device_components.py:459 +#: netbox/dcim/models/device_components.py:467 msgid "console port" msgstr "" -#: netbox/dcim/models/device_components.py:460 +#: netbox/dcim/models/device_components.py:468 msgid "console ports" msgstr "" -#: netbox/dcim/models/device_components.py:486 +#: netbox/dcim/models/device_components.py:494 msgid "console server port" msgstr "" -#: netbox/dcim/models/device_components.py:487 +#: netbox/dcim/models/device_components.py:495 msgid "console server ports" msgstr "" -#: netbox/dcim/models/device_components.py:524 +#: netbox/dcim/models/device_components.py:532 msgid "power port" msgstr "" -#: netbox/dcim/models/device_components.py:525 +#: netbox/dcim/models/device_components.py:533 msgid "power ports" msgstr "" -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_components.py:679 msgid "power outlet" msgstr "" -#: netbox/dcim/models/device_components.py:672 +#: netbox/dcim/models/device_components.py:680 msgid "power outlets" msgstr "" -#: netbox/dcim/models/device_components.py:680 +#: netbox/dcim/models/device_components.py:688 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" -#: netbox/dcim/models/device_components.py:709 netbox/vpn/models/crypto.py:80 +#: netbox/dcim/models/device_components.py:727 +msgid "The upstream cooling outflow supplying this intake" +msgstr "" + +#: netbox/dcim/models/device_components.py:737 +msgid "cooling intake" +msgstr "" + +#: netbox/dcim/models/device_components.py:738 +msgid "cooling intakes" +msgstr "" + +#: netbox/dcim/models/device_components.py:773 +msgid "cooling outflow" +msgstr "" + +#: netbox/dcim/models/device_components.py:774 +msgid "cooling outflows" +msgstr "" + +#: netbox/dcim/models/device_components.py:782 +#, python-brace-format +msgid "Parent cooling intake ({cooling_intake}) must belong to the same device" +msgstr "" + +#: netbox/dcim/models/device_components.py:812 netbox/vpn/models/crypto.py:80 #: netbox/vpn/models/crypto.py:222 msgid "mode" msgstr "" -#: netbox/dcim/models/device_components.py:714 -msgid "IEEE 802.1Q tagging strategy" -msgstr "" - -#: netbox/dcim/models/device_components.py:722 -msgid "parent interface" -msgstr "" - -#: netbox/dcim/models/device_components.py:738 +#: netbox/dcim/models/device_components.py:841 msgid "untagged VLAN" msgstr "" -#: netbox/dcim/models/device_components.py:744 +#: netbox/dcim/models/device_components.py:847 +#: netbox/dcim/models/module_moves.py:384 msgid "tagged VLANs" msgstr "" -#: netbox/dcim/models/device_components.py:752 -#: netbox/dcim/tables/devices.py:636 netbox/dcim/ui/panels.py:497 -#: netbox/ipam/forms/bulk_edit.py:434 netbox/ipam/forms/bulk_import.py:554 -#: netbox/ipam/forms/filtersets.py:629 netbox/ipam/forms/model_forms.py:687 +#: netbox/dcim/models/device_components.py:855 +#: netbox/dcim/tables/devices.py:652 netbox/dcim/ui/panels.py:591 +#: netbox/ipam/forms/bulk_edit.py:435 netbox/ipam/forms/bulk_import.py:558 +#: netbox/ipam/forms/filtersets.py:629 netbox/ipam/forms/model_forms.py:744 #: netbox/ipam/tables/vlans.py:113 netbox/ipam/ui/panels.py:206 #: netbox/virtualization/ui/panels.py:100 msgid "Q-in-Q SVLAN" msgstr "" -#: netbox/dcim/models/device_components.py:767 +#: netbox/dcim/models/device_components.py:870 msgid "primary MAC address" msgstr "" -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:882 msgid "Only Q-in-Q interfaces may specify a service VLAN." msgstr "" -#: netbox/dcim/models/device_components.py:790 +#: netbox/dcim/models/device_components.py:894 +msgid "" +"Only a MAC address assigned to this interface can be its primary MAC address." +msgstr "" + +#: netbox/dcim/models/device_components.py:898 #, python-brace-format msgid "" "MAC address {mac_address} is assigned to a different interface ({interface})." msgstr "" -#: netbox/dcim/models/device_components.py:856 +#: netbox/dcim/models/device_components.py:1025 msgid "parent LAG" msgstr "" -#: netbox/dcim/models/device_components.py:866 +#: netbox/dcim/models/device_components.py:1055 msgid "This interface is used only for out-of-band management" msgstr "" -#: netbox/dcim/models/device_components.py:871 +#: netbox/dcim/models/device_components.py:1060 msgid "speed (Kbps)" msgstr "" -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:1063 msgid "duplex" msgstr "" -#: netbox/dcim/models/device_components.py:884 +#: netbox/dcim/models/device_components.py:1073 msgid "64-bit World Wide Name" msgstr "" -#: netbox/dcim/models/device_components.py:898 +#: netbox/dcim/models/device_components.py:1087 msgid "wireless channel" msgstr "" -#: netbox/dcim/models/device_components.py:905 +#: netbox/dcim/models/device_components.py:1094 msgid "channel frequency (MHz)" msgstr "" -#: netbox/dcim/models/device_components.py:906 -#: netbox/dcim/models/device_components.py:914 +#: netbox/dcim/models/device_components.py:1095 +#: netbox/dcim/models/device_components.py:1103 msgid "Populated by selected channel (if set)" msgstr "" -#: netbox/dcim/models/device_components.py:923 +#: netbox/dcim/models/device_components.py:1112 msgid "transmit power (dBm)" msgstr "" -#: netbox/dcim/models/device_components.py:950 netbox/wireless/models.py:125 +#: netbox/dcim/models/device_components.py:1139 netbox/wireless/models.py:122 msgid "wireless LANs" msgstr "" -#: netbox/dcim/models/device_components.py:998 +#: netbox/dcim/models/device_components.py:1188 #: netbox/virtualization/models/virtualmachines.py:515 msgid "interface" msgstr "" -#: netbox/dcim/models/device_components.py:999 +#: netbox/dcim/models/device_components.py:1189 #: netbox/virtualization/models/virtualmachines.py:516 msgid "interfaces" msgstr "" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1214 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "" -#: netbox/dcim/models/device_components.py:1015 +#: netbox/dcim/models/device_components.py:1222 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "" -#: netbox/dcim/models/device_components.py:1024 -#: netbox/virtualization/models/virtualmachines.py:526 -msgid "An interface cannot be its own parent." +#: netbox/dcim/models/device_components.py:1234 +msgid "" +"A channel ID cannot be assigned to an interface with an existing cable " +"connection. Remove the cable first." msgstr "" -#: netbox/dcim/models/device_components.py:1028 -msgid "Only virtual interfaces may be assigned to a parent interface." -msgstr "" - -#: netbox/dcim/models/device_components.py:1035 +#: netbox/dcim/models/device_components.py:1246 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " "({device})" msgstr "" -#: netbox/dcim/models/device_components.py:1041 +#: netbox/dcim/models/device_components.py:1252 #, 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:1057 +#: netbox/dcim/models/device_components.py:1268 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " "({device})." msgstr "" -#: netbox/dcim/models/device_components.py:1063 +#: netbox/dcim/models/device_components.py:1274 #, 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:1074 +#: netbox/dcim/models/device_components.py:1285 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "" -#: netbox/dcim/models/device_components.py:1078 +#: netbox/dcim/models/device_components.py:1289 msgid "A LAG interface cannot be its own parent." msgstr "" -#: netbox/dcim/models/device_components.py:1085 +#: netbox/dcim/models/device_components.py:1296 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "" -#: netbox/dcim/models/device_components.py:1091 +#: netbox/dcim/models/device_components.py:1302 #, 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:1101 +#: netbox/dcim/models/device_components.py:1312 msgid "Channel may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_components.py:1318 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:1111 +#: netbox/dcim/models/device_components.py:1322 msgid "Cannot specify custom frequency with channel selected." msgstr "" -#: netbox/dcim/models/device_components.py:1117 +#: netbox/dcim/models/device_components.py:1328 msgid "Channel width may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:1119 +#: netbox/dcim/models/device_components.py:1330 msgid "Cannot specify custom width with channel selected." msgstr "" -#: netbox/dcim/models/device_components.py:1123 +#: netbox/dcim/models/device_components.py:1334 msgid "Interface mode does not support an untagged vlan." msgstr "" -#: netbox/dcim/models/device_components.py:1129 +#: netbox/dcim/models/device_components.py:1340 #, 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:1230 +#: netbox/dcim/models/device_components.py:1501 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "" -#: netbox/dcim/models/device_components.py:1272 +#: netbox/dcim/models/device_components.py:1543 msgid "front port" msgstr "" -#: netbox/dcim/models/device_components.py:1273 +#: netbox/dcim/models/device_components.py:1544 msgid "front ports" msgstr "" -#: netbox/dcim/models/device_components.py:1284 +#: netbox/dcim/models/device_components.py:1555 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped rear ports " "({count})" msgstr "" -#: netbox/dcim/models/device_components.py:1314 +#: netbox/dcim/models/device_components.py:1585 msgid "rear port" msgstr "" -#: netbox/dcim/models/device_components.py:1315 +#: netbox/dcim/models/device_components.py:1586 msgid "rear ports" msgstr "" -#: netbox/dcim/models/device_components.py:1326 +#: netbox/dcim/models/device_components.py:1597 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports " "({count})" msgstr "" -#: netbox/dcim/models/device_components.py:1400 +#: netbox/dcim/models/device_components.py:1668 msgid "module bay" msgstr "" -#: netbox/dcim/models/device_components.py:1401 +#: netbox/dcim/models/device_components.py:1669 msgid "module bays" msgstr "" -#: netbox/dcim/models/device_components.py:1418 -#: netbox/dcim/models/modules.py:326 +#: netbox/dcim/models/device_components.py:1680 +#: netbox/dcim/models/module_moves.py:755 netbox/dcim/models/modules.py:502 msgid "A module bay cannot belong to a module installed within it." msgstr "" -#: netbox/dcim/models/device_components.py:1488 +#: netbox/dcim/models/device_components.py:1751 msgid "device bay" msgstr "" -#: netbox/dcim/models/device_components.py:1489 +#: netbox/dcim/models/device_components.py:1752 msgid "device bays" msgstr "" -#: netbox/dcim/models/device_components.py:1496 +#: netbox/dcim/models/device_components.py:1759 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" -#: netbox/dcim/models/device_components.py:1507 +#: netbox/dcim/models/device_components.py:1770 msgid "Cannot install a device in a disabled device bay." msgstr "" -#: netbox/dcim/models/device_components.py:1512 +#: netbox/dcim/models/device_components.py:1775 msgid "Cannot install a device into itself." msgstr "" -#: netbox/dcim/models/device_components.py:1520 +#: netbox/dcim/models/device_components.py:1783 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." msgstr "" -#: netbox/dcim/models/device_components.py:1548 +#: netbox/dcim/models/device_components.py:1811 msgid "inventory item role" msgstr "" -#: netbox/dcim/models/device_components.py:1549 +#: netbox/dcim/models/device_components.py:1812 msgid "inventory item roles" msgstr "" -#: netbox/dcim/models/device_components.py:1608 -#: netbox/dcim/models/devices.py:552 netbox/dcim/models/modules.py:277 -#: netbox/dcim/models/racks.py:345 +#: netbox/dcim/models/device_components.py:1871 +#: netbox/dcim/models/devices.py:573 netbox/dcim/models/modules.py:402 +#: netbox/dcim/models/racks.py:368 #: netbox/virtualization/models/virtualmachines.py:221 msgid "serial number" msgstr "" -#: netbox/dcim/models/device_components.py:1616 -#: netbox/dcim/models/devices.py:560 netbox/dcim/models/modules.py:284 -#: netbox/dcim/models/racks.py:352 +#: netbox/dcim/models/device_components.py:1879 +#: netbox/dcim/models/devices.py:581 netbox/dcim/models/modules.py:409 +#: netbox/dcim/models/racks.py:375 msgid "asset tag" msgstr "" -#: netbox/dcim/models/device_components.py:1617 +#: netbox/dcim/models/device_components.py:1880 msgid "A unique tag used to identify this item" msgstr "" -#: netbox/dcim/models/device_components.py:1620 +#: netbox/dcim/models/device_components.py:1883 msgid "discovered" msgstr "" -#: netbox/dcim/models/device_components.py:1622 +#: netbox/dcim/models/device_components.py:1885 msgid "This item was automatically discovered" msgstr "" -#: netbox/dcim/models/device_components.py:1640 +#: netbox/dcim/models/device_components.py:1908 msgid "inventory item" msgstr "" -#: netbox/dcim/models/device_components.py:1641 +#: netbox/dcim/models/device_components.py:1909 msgid "inventory items" msgstr "" -#: netbox/dcim/models/device_components.py:1649 -msgid "Cannot assign self as parent." -msgstr "" - -#: netbox/dcim/models/device_components.py:1657 +#: netbox/dcim/models/device_components.py:1919 msgid "Parent inventory item does not belong to the same device." msgstr "" -#: netbox/dcim/models/device_components.py:1663 +#: netbox/dcim/models/device_components.py:1925 msgid "Cannot move an inventory item with dependent children" msgstr "" -#: netbox/dcim/models/device_components.py:1671 +#: netbox/dcim/models/device_components.py:1933 msgid "Cannot assign inventory item to component on another device" msgstr "" -#: netbox/dcim/models/devices.py:60 +#: netbox/dcim/models/devices.py:61 msgid "manufacturer" msgstr "" -#: netbox/dcim/models/devices.py:61 +#: netbox/dcim/models/devices.py:62 msgid "manufacturers" msgstr "" -#: netbox/dcim/models/devices.py:85 netbox/dcim/models/modules.py:79 -#: netbox/dcim/models/racks.py:162 +#: netbox/dcim/models/devices.py:86 netbox/dcim/models/modules.py:138 +#: netbox/dcim/models/racks.py:183 msgid "model" msgstr "" -#: netbox/dcim/models/devices.py:98 +#: netbox/dcim/models/devices.py:99 #: netbox/virtualization/models/virtualmachines.py:54 msgid "default platform" msgstr "" -#: netbox/dcim/models/devices.py:101 netbox/dcim/models/modules.py:83 +#: netbox/dcim/models/devices.py:102 netbox/dcim/models/modules.py:142 msgid "part number" msgstr "" -#: netbox/dcim/models/devices.py:104 netbox/dcim/models/modules.py:86 +#: netbox/dcim/models/devices.py:105 netbox/dcim/models/modules.py:145 msgid "Discrete part number (optional)" msgstr "" -#: netbox/dcim/models/devices.py:110 netbox/dcim/models/racks.py:72 +#: netbox/dcim/models/devices.py:111 netbox/dcim/models/racks.py:72 msgid "height (U)" msgstr "" -#: netbox/dcim/models/devices.py:114 +#: netbox/dcim/models/devices.py:115 msgid "exclude from utilization" msgstr "" -#: netbox/dcim/models/devices.py:115 +#: netbox/dcim/models/devices.py:116 msgid "Devices of this type are excluded when calculating rack utilization." msgstr "" -#: netbox/dcim/models/devices.py:119 +#: netbox/dcim/models/devices.py:120 msgid "is full depth" msgstr "" -#: netbox/dcim/models/devices.py:120 +#: netbox/dcim/models/devices.py:121 msgid "Device consumes both front and rear rack faces." msgstr "" -#: netbox/dcim/models/devices.py:127 +#: netbox/dcim/models/devices.py:128 msgid "parent/child status" msgstr "" -#: netbox/dcim/models/devices.py:128 -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:132 netbox/dcim/models/devices.py:605 -#: netbox/dcim/models/modules.py:89 netbox/dcim/models/racks.py:356 +#: netbox/dcim/models/devices.py:133 netbox/dcim/models/devices.py:626 +#: netbox/dcim/models/modules.py:148 netbox/dcim/models/racks.py:379 msgid "airflow" msgstr "" -#: netbox/dcim/models/devices.py:213 +#: netbox/dcim/models/devices.py:140 netbox/dcim/models/devices.py:633 +#: netbox/dcim/models/modules.py:155 +msgid "cooling method" +msgstr "" + +#: netbox/dcim/models/devices.py:147 netbox/dcim/models/modules.py:162 +msgid "end of life" +msgstr "" + +#: netbox/dcim/models/devices.py:150 +msgid "" +"The date after which this device type is no longer supported by the " +"manufacturer" +msgstr "" + +#: netbox/dcim/models/devices.py:235 msgid "device type" msgstr "" -#: netbox/dcim/models/devices.py:214 +#: netbox/dcim/models/devices.py:236 msgid "device types" msgstr "" -#: netbox/dcim/models/devices.py:305 +#: netbox/dcim/models/devices.py:340 msgid "U height must be in increments of 0.5 rack units." msgstr "" -#: netbox/dcim/models/devices.py:322 +#: netbox/dcim/models/devices.py:357 #, 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:337 +#: netbox/dcim/models/devices.py:372 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " "instances already mounted within racks." msgstr "" -#: netbox/dcim/models/devices.py:346 +#: netbox/dcim/models/devices.py:381 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." msgstr "" -#: netbox/dcim/models/devices.py:352 +#: netbox/dcim/models/devices.py:387 msgid "Child device types must be 0U." msgstr "" -#: netbox/dcim/models/devices.py:401 +#: netbox/dcim/models/devices.py:436 msgid "Virtual machines may be assigned to this role" msgstr "" -#: netbox/dcim/models/devices.py:427 -msgid "A top-level device role with this name already exists." +#: netbox/dcim/models/devices.py:459 +msgid "A device role with this name already exists." msgstr "" -#: netbox/dcim/models/devices.py:437 -msgid "A top-level device role with this slug already exists." +#: netbox/dcim/models/devices.py:465 +msgid "A device role with this slug already exists." msgstr "" -#: netbox/dcim/models/devices.py:440 +#: netbox/dcim/models/devices.py:468 msgid "device role" msgstr "" -#: netbox/dcim/models/devices.py:441 +#: netbox/dcim/models/devices.py:469 msgid "device roles" msgstr "" -#: netbox/dcim/models/devices.py:455 +#: netbox/dcim/models/devices.py:483 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" -#: netbox/dcim/models/devices.py:472 +#: netbox/dcim/models/devices.py:501 msgid "platform" msgstr "" -#: netbox/dcim/models/devices.py:473 +#: netbox/dcim/models/devices.py:502 msgid "platforms" msgstr "" -#: netbox/dcim/models/devices.py:483 +#: netbox/dcim/models/devices.py:508 msgid "Platform name must be unique." msgstr "" -#: netbox/dcim/models/devices.py:493 +#: netbox/dcim/models/devices.py:514 msgid "Platform slug must be unique." msgstr "" -#: netbox/dcim/models/devices.py:526 +#: netbox/dcim/models/devices.py:547 msgid "The function this device serves" msgstr "" -#: netbox/dcim/models/devices.py:553 +#: netbox/dcim/models/devices.py:574 msgid "Chassis serial number, assigned by the manufacturer" msgstr "" -#: netbox/dcim/models/devices.py:561 netbox/dcim/models/modules.py:285 +#: netbox/dcim/models/devices.py:582 netbox/dcim/models/modules.py:410 msgid "A unique tag used to identify this device" msgstr "" -#: netbox/dcim/models/devices.py:588 +#: netbox/dcim/models/devices.py:609 msgid "position (U)" msgstr "" -#: netbox/dcim/models/devices.py:596 +#: netbox/dcim/models/devices.py:617 msgid "rack face" msgstr "" -#: netbox/dcim/models/devices.py:617 netbox/dcim/models/devices.py:1281 +#: netbox/dcim/models/devices.py:645 netbox/dcim/models/devices.py:1338 #: netbox/virtualization/models/virtualmachines.py:190 msgid "primary IPv4" msgstr "" -#: netbox/dcim/models/devices.py:625 netbox/dcim/models/devices.py:1289 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1346 #: netbox/virtualization/models/virtualmachines.py:198 msgid "primary IPv6" msgstr "" -#: netbox/dcim/models/devices.py:633 +#: netbox/dcim/models/devices.py:661 msgid "out-of-band IP" msgstr "" -#: netbox/dcim/models/devices.py:650 +#: netbox/dcim/models/devices.py:678 msgid "VC position" msgstr "" -#: netbox/dcim/models/devices.py:653 +#: netbox/dcim/models/devices.py:681 msgid "Virtual chassis position" msgstr "" -#: netbox/dcim/models/devices.py:656 +#: netbox/dcim/models/devices.py:684 msgid "VC priority" msgstr "" -#: netbox/dcim/models/devices.py:660 +#: netbox/dcim/models/devices.py:688 msgid "Virtual chassis master election priority" msgstr "" -#: netbox/dcim/models/devices.py:663 netbox/dcim/models/sites.py:241 +#: netbox/dcim/models/devices.py:691 netbox/dcim/models/sites.py:230 msgid "latitude" msgstr "" -#: netbox/dcim/models/devices.py:672 netbox/dcim/models/devices.py:684 -#: netbox/dcim/models/sites.py:250 netbox/dcim/models/sites.py:262 +#: netbox/dcim/models/devices.py:700 netbox/dcim/models/devices.py:712 +#: netbox/dcim/models/sites.py:239 netbox/dcim/models/sites.py:251 msgid "GPS coordinate in decimal format (xx.yyyyyy)" msgstr "" -#: netbox/dcim/models/devices.py:675 netbox/dcim/models/sites.py:253 +#: netbox/dcim/models/devices.py:703 netbox/dcim/models/sites.py:242 msgid "longitude" msgstr "" -#: netbox/dcim/models/devices.py:761 -msgid "Device name must be unique per site." +#: netbox/dcim/models/devices.py:803 +msgid "Device name must be unique per site and tenant." msgstr "" -#: netbox/dcim/models/devices.py:772 -msgid "device" -msgstr "" - -#: netbox/dcim/models/devices.py:773 +#: netbox/dcim/models/devices.py:815 msgid "devices" msgstr "" -#: netbox/dcim/models/devices.py:795 +#: netbox/dcim/models/devices.py:837 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." msgstr "" -#: netbox/dcim/models/devices.py:800 +#: netbox/dcim/models/devices.py:842 #, python-brace-format msgid "Location {location} does not belong to site {site}." msgstr "" -#: netbox/dcim/models/devices.py:806 +#: netbox/dcim/models/devices.py:848 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." msgstr "" -#: netbox/dcim/models/devices.py:813 +#: netbox/dcim/models/devices.py:855 msgid "Cannot select a rack face without assigning a rack." msgstr "" -#: netbox/dcim/models/devices.py:817 +#: netbox/dcim/models/devices.py:859 msgid "Cannot select a rack position without assigning a rack." msgstr "" -#: netbox/dcim/models/devices.py:823 +#: netbox/dcim/models/devices.py:865 msgid "Position must be in increments of 0.5 rack units." msgstr "" -#: netbox/dcim/models/devices.py:827 +#: netbox/dcim/models/devices.py:869 msgid "Must specify rack face when defining rack position." msgstr "" -#: netbox/dcim/models/devices.py:835 +#: netbox/dcim/models/devices.py:877 #, python-brace-format msgid "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "" -#: netbox/dcim/models/devices.py:846 +#: netbox/dcim/models/devices.py:888 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:853 +#: netbox/dcim/models/devices.py:895 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:867 +#: netbox/dcim/models/devices.py:909 #, 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:882 +#: netbox/dcim/models/devices.py:924 #, python-brace-format msgid "{ip} is not an IPv4 address." msgstr "" -#: netbox/dcim/models/devices.py:894 netbox/dcim/models/devices.py:912 +#: netbox/dcim/models/devices.py:936 netbox/dcim/models/devices.py:954 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." msgstr "" -#: netbox/dcim/models/devices.py:900 +#: netbox/dcim/models/devices.py:942 #, python-brace-format msgid "{ip} is not an IPv6 address." msgstr "" -#: netbox/dcim/models/devices.py:930 +#: netbox/dcim/models/devices.py:972 #, 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:941 +#: netbox/dcim/models/devices.py:983 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" msgstr "" -#: netbox/dcim/models/devices.py:948 +#: netbox/dcim/models/devices.py:990 #, python-brace-format msgid "The assigned cluster belongs to a different location ({location})" msgstr "" -#: netbox/dcim/models/devices.py:956 +#: netbox/dcim/models/devices.py:998 msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" -#: netbox/dcim/models/devices.py:962 +#: netbox/dcim/models/devices.py:1004 #, 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:976 +#: netbox/dcim/models/devices.py:1018 #, python-brace-format msgid "Component name conflict after resolving {{vc_position}}: {names}" msgstr "" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1247 msgid "domain" msgstr "" -#: netbox/dcim/models/devices.py:1206 netbox/dcim/models/devices.py:1207 +#: netbox/dcim/models/devices.py:1263 netbox/dcim/models/devices.py:1264 msgid "virtual chassis" msgstr "" -#: netbox/dcim/models/devices.py:1219 +#: netbox/dcim/models/devices.py:1276 #, python-brace-format msgid "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" -#: netbox/dcim/models/devices.py:1235 +#: netbox/dcim/models/devices.py:1292 #, python-brace-format msgid "" "Unable to delete virtual chassis {virtual_chassis}. One or more member " "interfaces form a cross-chassis LAG." msgstr "" -#: netbox/dcim/models/devices.py:1270 netbox/vpn/models/l2vpn.py:42 +#: netbox/dcim/models/devices.py:1327 netbox/vpn/models/l2vpn.py:42 msgid "identifier" msgstr "" -#: netbox/dcim/models/devices.py:1271 +#: netbox/dcim/models/devices.py:1328 msgid "Numeric identifier unique to the parent device" msgstr "" -#: netbox/dcim/models/devices.py:1299 netbox/extras/models/customfields.py:265 -#: netbox/extras/models/models.py:125 netbox/extras/models/models.py:932 -#: netbox/netbox/models/__init__.py:154 netbox/netbox/models/__init__.py:193 -#: netbox/netbox/models/__init__.py:243 +#: netbox/dcim/models/devices.py:1356 netbox/extras/models/customfields.py:321 +#: netbox/extras/models/models.py:133 netbox/extras/models/models.py:992 +#: netbox/netbox/models/__init__.py:157 netbox/netbox/models/__init__.py:184 +#: netbox/netbox/models/__init__.py:290 msgid "comments" msgstr "" -#: netbox/dcim/models/devices.py:1318 +#: netbox/dcim/models/devices.py:1375 msgid "virtual device context" msgstr "" -#: netbox/dcim/models/devices.py:1319 +#: netbox/dcim/models/devices.py:1376 msgid "virtual device contexts" msgstr "" -#: netbox/dcim/models/devices.py:1347 +#: netbox/dcim/models/devices.py:1404 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "" -#: netbox/dcim/models/devices.py:1353 +#: netbox/dcim/models/devices.py:1410 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" -#: netbox/dcim/models/devices.py:1388 +#: netbox/dcim/models/devices.py:1445 msgid "MAC addresses" msgstr "" -#: netbox/dcim/models/devices.py:1420 +#: netbox/dcim/models/devices.py:1478 msgid "" "Cannot unassign MAC Address while it is designated as the primary MAC for an " "object" msgstr "" -#: netbox/dcim/models/devices.py:1424 +#: netbox/dcim/models/devices.py:1482 msgid "" "Cannot reassign MAC Address while it is designated as the primary MAC for an " "object" msgstr "" -#: netbox/dcim/models/mixins.py:135 +#: netbox/dcim/models/mixins.py:149 +#: netbox/virtualization/models/virtualmachines.py:526 +msgid "An interface cannot be its own parent." +msgstr "" + +#: netbox/dcim/models/mixins.py:165 +msgid "" +"Only virtual interfaces, or a channel subinterface with a channel ID " +"assigned, may be assigned to a parent interface." +msgstr "" + +#: netbox/dcim/models/mixins.py:173 +msgid "" +"An interface cannot be both channelized and bound to a channel on a parent " +"interface." +msgstr "" + +#: netbox/dcim/models/mixins.py:179 +#, python-brace-format +msgid "{display_type} interfaces cannot be channelized." +msgstr "" + +#: netbox/dcim/models/mixins.py:188 +msgid "Channel interfaces must have a channel ID assigned." +msgstr "" + +#: netbox/dcim/models/mixins.py:193 +msgid "" +"A channel ID cannot be assigned to a virtual, LAG, bridge, or wireless " +"interface." +msgstr "" + +#: netbox/dcim/models/mixins.py:202 +msgid "A channel subinterface must be assigned to a parent interface." +msgstr "" + +#: netbox/dcim/models/mixins.py:206 +#, python-brace-format +msgid "The parent interface ({interface}) is not channelized." +msgstr "" + +#: netbox/dcim/models/mixins.py:213 +#, python-brace-format +msgid "" +"Invalid channel ID ({channel_id}): the parent interface provides only " +"{channels} channels." +msgstr "" + +#: netbox/dcim/models/mixins.py:226 +#, python-brace-format +msgid "" +"Cannot set channels to {channels}: a channel subinterface is bound to " +"channel {channel_id}. Delete or reassign the affected subinterface(s) first." +msgstr "" + +#: netbox/dcim/models/mixins.py:231 +#, python-brace-format +msgid "" +"Cannot remove channelization: a channel subinterface is bound to channel " +"{channel_id}. Delete or reassign the affected subinterface(s) first." +msgstr "" + +#: netbox/dcim/models/mixins.py:238 #: netbox/virtualization/models/virtualmachines.py:541 msgid "An interface cannot be bridged to itself." msgstr "" -#: netbox/dcim/models/mixins.py:140 +#: netbox/dcim/models/mixins.py:243 msgid "Virtual interfaces cannot have a PoE mode." msgstr "" -#: netbox/dcim/models/mixins.py:144 +#: netbox/dcim/models/mixins.py:247 msgid "Virtual interfaces cannot have a PoE type." msgstr "" -#: netbox/dcim/models/mixins.py:150 +#: netbox/dcim/models/mixins.py:253 msgid "Must specify PoE mode when designating a PoE type." msgstr "" -#: netbox/dcim/models/mixins.py:155 +#: netbox/dcim/models/mixins.py:258 msgid "Wireless role may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/modules.py:45 netbox/extras/models/configs.py:53 +#: netbox/dcim/models/mixins.py:384 +msgid "Cooling intake and outflow assignments cannot form a loop." +msgstr "" + +#: netbox/dcim/models/mixins.py:395 netbox/utilities/conversion.py:82 +msgid "diameter" +msgstr "" + +#: netbox/dcim/models/mixins.py:403 +msgid "diameter unit" +msgstr "" + +#: netbox/dcim/models/mixins.py:448 +msgid "Must specify a unit when setting a diameter" +msgstr "" + +#: netbox/dcim/models/mixins.py:457 +msgid "max flow" +msgstr "" + +#: netbox/dcim/models/mixins.py:465 +msgid "max flow unit" +msgstr "" + +#: netbox/dcim/models/mixins.py:510 +msgid "Must specify a unit when setting a maximum flow" +msgstr "" + +#: netbox/dcim/models/module_moves.py:159 netbox/dcim/utils.py:37 +msgid "Module bay hierarchy contains a cycle." +msgstr "" + +#: netbox/dcim/models/module_moves.py:357 +msgid "Device was deleted before the move could be saved." +msgstr "" + +#: netbox/dcim/models/module_moves.py:376 +msgid "IP addresses assigned" +msgstr "" + +#: netbox/dcim/models/module_moves.py:377 netbox/ipam/models/fhrp.py:119 +msgid "FHRP group assignments" +msgstr "" + +#: netbox/dcim/models/module_moves.py:378 netbox/vpn/models/tunnels.py:140 +msgid "tunnel terminations" +msgstr "" + +#: netbox/dcim/models/module_moves.py:379 netbox/vpn/models/l2vpn.py:117 +msgid "L2VPN terminations" +msgstr "" + +#: netbox/dcim/models/module_moves.py:381 netbox/wireless/models.py:194 +msgid "wireless links" +msgstr "" + +#: netbox/dcim/models/module_moves.py:382 +msgid "wireless LAN assignments" +msgstr "" + +#: netbox/dcim/models/module_moves.py:383 +msgid "an untagged VLAN" +msgstr "" + +#: netbox/dcim/models/module_moves.py:385 +msgid "a Q-in-Q service VLAN" +msgstr "" + +#: netbox/dcim/models/module_moves.py:386 +msgid "a VLAN translation policy" +msgstr "" + +#: netbox/dcim/models/module_moves.py:387 +msgid "VDC assignments" +msgstr "" + +#: netbox/dcim/models/module_moves.py:388 +msgid "a VRF assignment" +msgstr "" + +#: netbox/dcim/models/module_moves.py:436 +#, python-brace-format +msgid "{description} (e.g. {names})" +msgstr "" + +#: netbox/dcim/models/module_moves.py:463 +#, python-brace-format +msgid "{count} cabled or connection-marked {type}" +msgstr "" + +#: netbox/dcim/models/module_moves.py:474 +#, python-brace-format +msgid "{count} interfaces with {label}" +msgstr "" + +#: netbox/dcim/models/module_moves.py:493 +#, python-brace-format +msgid "" +"{count} parent, bridge, or LAG interface relations crossing the moved " +"module's boundary" +msgstr "" + +#: netbox/dcim/models/module_moves.py:511 +#, python-brace-format +msgid "{count} power outlet relations crossing the moved module's boundary" +msgstr "" + +#: netbox/dcim/models/module_moves.py:532 +#, python-brace-format +msgid "{count} cooling outflow relations crossing the moved module's boundary" +msgstr "" + +#: netbox/dcim/models/module_moves.py:550 +#, python-brace-format +msgid "{count} front/rear port mappings crossing the moved module's boundary" +msgstr "" + +#: netbox/dcim/models/module_moves.py:573 +#, python-brace-format +msgid "{count} components with attached inventory items" +msgstr "" + +#: netbox/dcim/models/module_moves.py:581 +#, python-brace-format +msgid "" +"This module cannot be moved to a different device because the moved " +"components have active related objects: {blockers}." +msgstr "" + +#: netbox/dcim/models/module_moves.py:595 +#, python-brace-format +msgid "Moving this module would create more than one {type} named {name}." +msgstr "" + +#: netbox/dcim/models/module_moves.py:609 +#, python-brace-format +msgid "" +"Moving this module would conflict with {count} existing {type} on device " +"{device} (e.g. {sample})." +msgstr "" + +#: netbox/dcim/models/module_moves.py:622 +#, python-brace-format +msgid "" +"Moving this module would rename {old_name} to {new_name}, which is the " +"current name of another moved {type}. Rename the affected components " +"manually before moving." +msgstr "" + +#: netbox/dcim/models/module_moves.py:639 +#, python-brace-format +msgid "" +"Moving this module would create more than one module bay named {name} within " +"the same module." +msgstr "" + +#: netbox/dcim/models/module_moves.py:652 +#, python-brace-format +msgid "" +"Moving this module would rename module bay {old_name} to {new_name}, which " +"is the current name of another moved module bay in the same module." +msgstr "" + +#: netbox/dcim/models/module_moves.py:681 +#, python-brace-format +msgid "" +"Moving this module would exceed the maximum field length for the following: " +"{offenders}." +msgstr "" + +#: netbox/dcim/models/module_moves.py:698 +#, python-brace-format +msgid "" +"{component}: new {field} {value} ({length} characters) exceeds the {limit}-" +"character limit" +msgstr "" + +#: netbox/dcim/models/module_moves.py:718 +#, python-brace-format +msgid "" +"{component}: the matched template's {field} cannot be resolved for the " +"destination bay hierarchy" +msgstr "" + +#: netbox/dcim/models/module_moves.py:727 +#, python-brace-format +msgid "" +"Moving this module would require template-derived values that cannot be " +"resolved for the destination bay hierarchy: {failures}. Choose a destination " +"at a compatible nesting depth or rename the affected components manually " +"before moving." +msgstr "" + +#: netbox/dcim/models/module_moves.py:736 +msgid "The target module bay no longer exists." +msgstr "" + +#: netbox/dcim/models/module_moves.py:740 +#, python-brace-format +msgid "Module bay {module_bay} does not belong to device {device}." +msgstr "" + +#: netbox/dcim/models/module_moves.py:745 netbox/dcim/models/modules.py:466 +msgid "Cannot install a module in a disabled module bay." +msgstr "" + +#: netbox/dcim/models/module_moves.py:750 netbox/dcim/models/modules.py:475 +#, python-brace-format +msgid "Module bay {module_bay} is already occupied by module {module}." +msgstr "" + +#: netbox/dcim/models/modules.py:78 +msgid "module bay type" +msgstr "" + +#: netbox/dcim/models/modules.py:104 netbox/extras/models/configs.py:55 msgid "schema" msgstr "" -#: netbox/dcim/models/modules.py:52 +#: netbox/dcim/models/modules.py:111 msgid "module type profile" msgstr "" -#: netbox/dcim/models/modules.py:53 +#: netbox/dcim/models/modules.py:112 msgid "module type profiles" msgstr "" -#: netbox/dcim/models/modules.py:98 +#: netbox/dcim/models/modules.py:165 +msgid "" +"The date after which this module type is no longer supported by the " +"manufacturer" +msgstr "" + +#: netbox/dcim/models/modules.py:170 msgid "attributes" msgstr "" -#: netbox/dcim/models/modules.py:155 +#: netbox/dcim/models/modules.py:177 +msgid "" +"Types of module bays this module type can be installed in (empty = " +"unconstrained)" +msgstr "" + +#: netbox/dcim/models/modules.py:242 msgid "module type" msgstr "" -#: netbox/dcim/models/modules.py:156 +#: netbox/dcim/models/modules.py:243 msgid "module types" msgstr "" -#: netbox/dcim/models/modules.py:189 +#: netbox/dcim/models/modules.py:300 #, python-brace-format msgid "Invalid schema: {error}" msgstr "" -#: netbox/dcim/models/modules.py:292 +#: netbox/dcim/models/modules.py:417 msgid "module" msgstr "" -#: netbox/dcim/models/modules.py:293 +#: netbox/dcim/models/modules.py:418 msgid "modules" msgstr "" -#: netbox/dcim/models/modules.py:306 +#: netbox/dcim/models/modules.py:447 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "" -#: netbox/dcim/models/modules.py:316 -msgid "Cannot install a module in a disabled module bay." +#: netbox/dcim/models/modules.py:454 +#, python-brace-format +msgid "" +"Module type {module_type} is not compatible with module bay {module_bay}: " +"their bay type sets have no common members." msgstr "" -#: netbox/dcim/models/power.py:56 -msgid "power panel" +#: netbox/dcim/models/modules.py:680 +msgid "" +"A module move must include every changed placement field in update_fields: " +"'device' (or 'device_id') and/or 'module_bay' (or 'module_bay_id')." +msgstr "" + +#: netbox/dcim/models/modules.py:705 +msgid "" +"This module or its components are being modified by another request. Please " +"try again." msgstr "" #: netbox/dcim/models/power.py:57 msgid "power panels" msgstr "" -#: netbox/dcim/models/power.py:68 -#, python-brace-format -msgid "" -"Location {location} ({location_site}) is in a different site than {site}" -msgstr "" - #: netbox/dcim/models/power.py:107 msgid "supply" msgstr "" @@ -7362,204 +8684,212 @@ msgstr "" msgid "Maximum load capacity for the rack" msgstr "" -#: netbox/dcim/models/racks.py:154 netbox/dcim/models/racks.py:280 +#: netbox/dcim/models/racks.py:140 +msgid "cooling capability" +msgstr "" + +#: netbox/dcim/models/racks.py:153 +msgid "Cooling capacity (kW)" +msgstr "" + +#: netbox/dcim/models/racks.py:175 netbox/dcim/models/racks.py:303 msgid "form factor" msgstr "" -#: netbox/dcim/models/racks.py:195 +#: netbox/dcim/models/racks.py:217 msgid "rack type" msgstr "" -#: netbox/dcim/models/racks.py:196 +#: netbox/dcim/models/racks.py:218 msgid "rack types" msgstr "" -#: netbox/dcim/models/racks.py:210 netbox/dcim/models/racks.py:413 +#: netbox/dcim/models/racks.py:232 netbox/dcim/models/racks.py:436 msgid "Must specify a unit when setting an outer dimension" msgstr "" -#: netbox/dcim/models/racks.py:214 netbox/dcim/models/racks.py:417 +#: netbox/dcim/models/racks.py:236 netbox/dcim/models/racks.py:440 msgid "Must specify a unit when setting a maximum weight" msgstr "" -#: netbox/dcim/models/racks.py:260 +#: netbox/dcim/models/racks.py:282 msgid "rack role" msgstr "" -#: netbox/dcim/models/racks.py:261 +#: netbox/dcim/models/racks.py:283 msgid "rack roles" msgstr "" -#: netbox/dcim/models/racks.py:298 +#: netbox/dcim/models/racks.py:321 msgid "facility ID" msgstr "" -#: netbox/dcim/models/racks.py:299 +#: netbox/dcim/models/racks.py:322 msgid "Locally-assigned identifier" msgstr "" -#: netbox/dcim/models/racks.py:319 +#: netbox/dcim/models/racks.py:342 msgid "physical grouping" msgstr "" -#: netbox/dcim/models/racks.py:340 netbox/ipam/forms/bulk_import.py:146 -#: netbox/ipam/forms/bulk_import.py:214 netbox/ipam/forms/bulk_import.py:278 -#: netbox/ipam/forms/bulk_import.py:313 netbox/ipam/forms/bulk_import.py:545 +#: netbox/dcim/models/racks.py:363 netbox/ipam/forms/bulk_import.py:150 +#: netbox/ipam/forms/bulk_import.py:218 netbox/ipam/forms/bulk_import.py:282 +#: netbox/ipam/forms/bulk_import.py:317 netbox/ipam/forms/bulk_import.py:549 #: netbox/virtualization/forms/bulk_import.py:151 msgid "Functional role" msgstr "" -#: netbox/dcim/models/racks.py:353 +#: netbox/dcim/models/racks.py:376 msgid "A unique tag used to identify this rack" msgstr "" -#: netbox/dcim/models/racks.py:396 +#: netbox/dcim/models/racks.py:419 msgid "rack" msgstr "" -#: netbox/dcim/models/racks.py:397 +#: netbox/dcim/models/racks.py:420 msgid "racks" msgstr "" -#: netbox/dcim/models/racks.py:409 +#: netbox/dcim/models/racks.py:432 #, python-brace-format msgid "Assigned location must belong to parent site ({site})." msgstr "" -#: netbox/dcim/models/racks.py:432 +#: netbox/dcim/models/racks.py:455 #, python-brace-format msgid "" "Rack must be at least {min_height}U tall to house currently installed " "devices." msgstr "" -#: netbox/dcim/models/racks.py:441 +#: netbox/dcim/models/racks.py:464 #, python-brace-format msgid "" "Rack unit numbering must begin at {position} or less to house currently " "installed devices." msgstr "" -#: netbox/dcim/models/racks.py:449 +#: netbox/dcim/models/racks.py:472 #, python-brace-format msgid "Location must be from the same site, {site}." msgstr "" -#: netbox/dcim/models/racks.py:709 +#: netbox/dcim/models/racks.py:732 msgid "units" msgstr "" -#: netbox/dcim/models/racks.py:744 +#: netbox/dcim/models/racks.py:767 msgid "rack reservation" msgstr "" -#: netbox/dcim/models/racks.py:745 +#: netbox/dcim/models/racks.py:768 msgid "rack reservations" msgstr "" -#: netbox/dcim/models/racks.py:759 +#: netbox/dcim/models/racks.py:782 #, python-brace-format msgid "Invalid unit(s) for {height}U rack: {unit_list}" msgstr "" -#: netbox/dcim/models/racks.py:772 +#: netbox/dcim/models/racks.py:795 #, python-brace-format msgid "The following units have already been reserved: {unit_list}" msgstr "" -#: netbox/dcim/models/sites.py:71 -msgid "A top-level region with this name already exists." +#: netbox/dcim/models/sites.py:70 +msgid "A region with this name already exists." msgstr "" -#: netbox/dcim/models/sites.py:81 -msgid "A top-level region with this slug already exists." +#: netbox/dcim/models/sites.py:76 +msgid "A region with this slug already exists." msgstr "" -#: netbox/dcim/models/sites.py:84 +#: netbox/dcim/models/sites.py:79 msgid "region" msgstr "" -#: netbox/dcim/models/sites.py:85 +#: netbox/dcim/models/sites.py:80 msgid "regions" msgstr "" -#: netbox/dcim/models/sites.py:142 -msgid "A top-level site group with this name already exists." +#: netbox/dcim/models/sites.py:135 +msgid "A site group with this name already exists." msgstr "" -#: netbox/dcim/models/sites.py:152 -msgid "A top-level site group with this slug already exists." +#: netbox/dcim/models/sites.py:141 +msgid "A site group with this slug already exists." msgstr "" -#: netbox/dcim/models/sites.py:155 +#: netbox/dcim/models/sites.py:144 msgid "site group" msgstr "" -#: netbox/dcim/models/sites.py:156 +#: netbox/dcim/models/sites.py:145 msgid "site groups" msgstr "" -#: netbox/dcim/models/sites.py:178 +#: netbox/dcim/models/sites.py:167 msgid "Full name of the site" msgstr "" -#: netbox/dcim/models/sites.py:214 netbox/dcim/models/sites.py:324 +#: netbox/dcim/models/sites.py:203 netbox/dcim/models/sites.py:313 msgid "facility" msgstr "" -#: netbox/dcim/models/sites.py:217 netbox/dcim/models/sites.py:327 +#: netbox/dcim/models/sites.py:206 netbox/dcim/models/sites.py:316 msgid "Local facility ID or description" msgstr "" -#: netbox/dcim/models/sites.py:229 +#: netbox/dcim/models/sites.py:218 msgid "physical address" msgstr "" -#: netbox/dcim/models/sites.py:232 +#: netbox/dcim/models/sites.py:221 msgid "Physical location of the building" msgstr "" -#: netbox/dcim/models/sites.py:235 +#: netbox/dcim/models/sites.py:224 msgid "shipping address" msgstr "" -#: netbox/dcim/models/sites.py:238 +#: netbox/dcim/models/sites.py:227 msgid "If different from the physical address" msgstr "" -#: netbox/dcim/models/sites.py:286 +#: netbox/dcim/models/sites.py:275 msgid "site" msgstr "" -#: netbox/dcim/models/sites.py:287 +#: netbox/dcim/models/sites.py:276 msgid "sites" msgstr "" -#: netbox/dcim/models/sites.py:363 +#: netbox/dcim/models/sites.py:354 msgid "A location with this name already exists within the specified site." msgstr "" -#: netbox/dcim/models/sites.py:373 +#: netbox/dcim/models/sites.py:360 msgid "A location with this slug already exists within the specified site." msgstr "" -#: netbox/dcim/models/sites.py:376 +#: netbox/dcim/models/sites.py:363 msgid "location" msgstr "" -#: netbox/dcim/models/sites.py:377 +#: netbox/dcim/models/sites.py:364 msgid "locations" msgstr "" -#: netbox/dcim/models/sites.py:388 +#: netbox/dcim/models/sites.py:375 #, python-brace-format msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "" #: netbox/dcim/object_actions.py:15 netbox/templates/dcim/device/base.html:21 -#: netbox/templates/dcim/devicetype/base.html:18 +#: netbox/templates/dcim/devicetype/base.html:13 #: netbox/templates/dcim/inc/moduletype_buttons.html:9 -#: netbox/templates/dcim/module.html:18 +#: netbox/templates/dcim/module.html:10 #: netbox/templates/virtualization/buttons/bulk_add_components.html:4 #: netbox/templates/virtualization/virtualmachine/base.html:22 #: netbox/virtualization/object_actions.py:14 @@ -7570,54 +8900,54 @@ msgstr "" msgid "Disconnect Selected" msgstr "" -#: netbox/dcim/tables/cables.py:57 netbox/dcim/views.py:4348 +#: netbox/dcim/tables/cables.py:67 netbox/dcim/views.py:5020 msgid "Termination A" msgstr "" -#: netbox/dcim/tables/cables.py:62 netbox/dcim/views.py:4352 +#: netbox/dcim/tables/cables.py:72 netbox/dcim/views.py:5024 msgid "Termination B" msgstr "" -#: netbox/dcim/tables/cables.py:68 netbox/wireless/forms/bulk_import.py:96 +#: netbox/dcim/tables/cables.py:78 netbox/wireless/forms/bulk_import.py:96 #: netbox/wireless/tables/wirelesslink.py:22 msgid "Device A" msgstr "" -#: netbox/dcim/tables/cables.py:74 netbox/wireless/forms/bulk_import.py:117 +#: netbox/dcim/tables/cables.py:84 netbox/wireless/forms/bulk_import.py:117 #: netbox/wireless/tables/wirelesslink.py:31 msgid "Device B" msgstr "" -#: netbox/dcim/tables/cables.py:80 +#: netbox/dcim/tables/cables.py:90 msgid "Location A" msgstr "" -#: netbox/dcim/tables/cables.py:86 +#: netbox/dcim/tables/cables.py:96 msgid "Location B" msgstr "" -#: netbox/dcim/tables/cables.py:92 +#: netbox/dcim/tables/cables.py:102 msgid "Rack A" msgstr "" -#: netbox/dcim/tables/cables.py:98 +#: netbox/dcim/tables/cables.py:108 msgid "Rack B" msgstr "" -#: netbox/dcim/tables/cables.py:104 netbox/wireless/forms/bulk_import.py:89 +#: netbox/dcim/tables/cables.py:114 netbox/wireless/forms/bulk_import.py:89 msgid "Site A" msgstr "" -#: netbox/dcim/tables/cables.py:110 netbox/wireless/forms/bulk_import.py:110 +#: netbox/dcim/tables/cables.py:120 netbox/wireless/forms/bulk_import.py:110 msgid "Site B" msgstr "" -#: netbox/dcim/tables/cables.py:120 +#: netbox/dcim/tables/cables.py:130 msgid "Color Name" msgstr "" -#: netbox/dcim/tables/cables.py:149 netbox/netbox/navigation/menu.py:133 -#: netbox/templates/dcim/cablebundle.html:37 +#: netbox/dcim/tables/cables.py:159 netbox/netbox/navigation/menu.py:136 +#: netbox/templates/dcim/cablebundle.html:33 msgid "Cables" msgstr "" @@ -7629,257 +8959,300 @@ msgstr "" msgid "Reachable" msgstr "" -#: netbox/dcim/tables/devices.py:67 netbox/dcim/tables/devices.py:111 -#: netbox/dcim/tables/racks.py:164 netbox/dcim/tables/sites.py:84 -#: netbox/dcim/tables/sites.py:116 netbox/extras/tables/tables.py:730 +#: netbox/dcim/tables/cooling.py:50 +msgid "Fluid Type" +msgstr "" + +#: netbox/dcim/tables/cooling.py:53 netbox/dcim/tables/cooling.py:96 +#: netbox/dcim/tables/racks.py:113 netbox/dcim/tables/racks.py:209 +msgid "Cooling Capacity (kW)" +msgstr "" + +#: netbox/dcim/tables/cooling.py:58 netbox/netbox/navigation/menu.py:348 +msgid "Cooling Feeds" +msgstr "" + +#: netbox/dcim/tables/cooling.py:99 netbox/dcim/tables/cooling.py:149 +#: netbox/dcim/tables/cooling.py:224 +msgid "Max Flow" +msgstr "" + +#: netbox/dcim/tables/cooling.py:154 +msgid "Cooling Outflow" +msgstr "" + +#: netbox/dcim/tables/cooling.py:194 +msgid "Cooling Intake" +msgstr "" + +#: netbox/dcim/tables/devices.py:73 netbox/dcim/tables/devices.py:117 +#: netbox/dcim/tables/racks.py:170 netbox/dcim/tables/sites.py:84 +#: netbox/dcim/tables/sites.py:116 netbox/extras/tables/tables.py:755 #: netbox/netbox/navigation/menu.py:78 netbox/netbox/navigation/menu.py:82 #: netbox/netbox/navigation/menu.py:84 -#: netbox/virtualization/forms/model_forms.py:120 +#: netbox/virtualization/forms/model_forms.py:138 #: netbox/virtualization/tables/clusters.py:88 -#: netbox/virtualization/views.py:297 +#: netbox/virtualization/views.py:302 msgid "Devices" msgstr "" -#: netbox/dcim/tables/devices.py:72 netbox/dcim/tables/devices.py:116 +#: netbox/dcim/tables/devices.py:78 netbox/dcim/tables/devices.py:122 #: netbox/virtualization/tables/clusters.py:93 msgid "VMs" msgstr "" -#: netbox/dcim/tables/devices.py:105 netbox/dcim/tables/devices.py:225 -#: netbox/extras/forms/model_forms.py:842 netbox/extras/ui/panels.py:460 +#: netbox/dcim/tables/devices.py:111 netbox/dcim/tables/devices.py:231 +#: netbox/extras/forms/model_forms.py:868 netbox/extras/ui/panels.py:475 #: netbox/templates/extras/object_render_config.html:12 #: netbox/templates/extras/object_render_config.html:15 #: netbox/virtualization/tables/virtualmachines.py:118 msgid "Config Template" msgstr "" -#: netbox/dcim/tables/devices.py:186 netbox/dcim/tables/devicetypes.py:102 +#: netbox/dcim/tables/devices.py:192 netbox/dcim/tables/devicetypes.py:102 msgid "U Height" msgstr "" -#: netbox/dcim/tables/devices.py:196 netbox/dcim/tables/devices.py:1191 -#: netbox/ipam/forms/bulk_import.py:627 netbox/ipam/forms/model_forms.py:342 -#: netbox/ipam/forms/model_forms.py:354 netbox/ipam/forms/model_forms.py:503 +#: netbox/dcim/tables/devices.py:202 netbox/dcim/tables/devices.py:1211 +#: netbox/ipam/forms/bulk_import.py:656 netbox/ipam/forms/model_forms.py:366 +#: netbox/ipam/forms/model_forms.py:378 netbox/ipam/forms/model_forms.py:539 #: netbox/ipam/tables/ip.py:312 netbox/ipam/tables/ip.py:376 #: netbox/ipam/tables/ip.py:391 netbox/ipam/tables/ip.py:414 #: netbox/virtualization/tables/virtualmachines.py:106 msgid "IP Address" msgstr "" -#: netbox/dcim/tables/devices.py:200 netbox/dcim/tables/devices.py:1195 +#: netbox/dcim/tables/devices.py:206 netbox/dcim/tables/devices.py:1215 #: netbox/virtualization/tables/virtualmachines.py:97 msgid "IPv4 Address" msgstr "" -#: netbox/dcim/tables/devices.py:204 netbox/dcim/tables/devices.py:1199 +#: netbox/dcim/tables/devices.py:210 netbox/dcim/tables/devices.py:1219 #: netbox/virtualization/tables/virtualmachines.py:101 msgid "IPv6 Address" msgstr "" -#: netbox/dcim/tables/devices.py:219 +#: netbox/dcim/tables/devices.py:225 msgid "VC Position" msgstr "" -#: netbox/dcim/tables/devices.py:222 +#: netbox/dcim/tables/devices.py:228 msgid "VC Priority" msgstr "" -#: netbox/dcim/tables/devices.py:229 netbox/templates/dcim/device_edit.html:40 +#: netbox/dcim/tables/devices.py:235 netbox/templates/dcim/device_edit.html:47 #: netbox/templates/dcim/devicebay_populate.html:16 msgid "Parent Device" msgstr "" -#: netbox/dcim/tables/devices.py:234 +#: netbox/dcim/tables/devices.py:240 msgid "Position (Device Bay)" msgstr "" -#: netbox/dcim/tables/devices.py:242 +#: netbox/dcim/tables/devices.py:248 msgid "Console ports" msgstr "" -#: netbox/dcim/tables/devices.py:245 +#: netbox/dcim/tables/devices.py:251 msgid "Console server ports" msgstr "" -#: netbox/dcim/tables/devices.py:248 +#: netbox/dcim/tables/devices.py:254 msgid "Power ports" msgstr "" -#: netbox/dcim/tables/devices.py:251 +#: netbox/dcim/tables/devices.py:257 msgid "Power outlets" msgstr "" -#: netbox/dcim/tables/devices.py:254 netbox/dcim/tables/devices.py:1204 -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1524 -#: netbox/dcim/views.py:1878 netbox/dcim/views.py:2765 -#: netbox/netbox/navigation/menu.py:104 netbox/netbox/navigation/menu.py:269 -#: netbox/templates/dcim/buttons/bulk_add_components.html:38 -#: netbox/templates/dcim/device/base.html:37 -#: netbox/templates/dcim/devicetype/base.html:34 -#: netbox/templates/dcim/inc/moduletype_buttons.html:25 -#: netbox/templates/dcim/module.html:34 -#: netbox/templates/virtualization/buttons/bulk_add_components.html:10 -#: netbox/templates/virtualization/virtualmachine/base.html:27 -#: netbox/virtualization/tables/virtualmachines.py:112 -#: netbox/virtualization/views.py:532 netbox/wireless/tables/wirelesslan.py:56 -msgid "Interfaces" -msgstr "" - -#: netbox/dcim/tables/devices.py:257 -msgid "Front ports" +#: netbox/dcim/tables/devices.py:260 +msgid "Cooling intakes" msgstr "" #: netbox/dcim/tables/devices.py:263 -msgid "Device bays" +msgid "Cooling outflows" msgstr "" -#: netbox/dcim/tables/devices.py:266 -msgid "Module bays" +#: netbox/dcim/tables/devices.py:266 netbox/dcim/tables/devices.py:1224 +#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1595 +#: netbox/dcim/views.py:2088 netbox/dcim/views.py:3146 +#: netbox/netbox/navigation/menu.py:105 netbox/netbox/navigation/menu.py:272 +#: netbox/templates/dcim/buttons/bulk_add_components.html:52 +#: netbox/templates/dcim/device/base.html:43 +#: netbox/templates/dcim/devicetype/base.html:35 +#: netbox/templates/dcim/inc/moduletype_buttons.html:25 +#: netbox/templates/dcim/module.html:26 +#: netbox/templates/virtualization/buttons/bulk_add_components.html:10 +#: netbox/templates/virtualization/virtualmachine/base.html:27 +#: netbox/virtualization/tables/virtualmachines.py:112 +#: netbox/virtualization/views.py:537 netbox/wireless/tables/wirelesslan.py:56 +msgid "Interfaces" msgstr "" #: netbox/dcim/tables/devices.py:269 +msgid "Front ports" +msgstr "" + +#: netbox/dcim/tables/devices.py:275 +msgid "Device bays" +msgstr "" + +#: netbox/dcim/tables/devices.py:278 +msgid "Module bays" +msgstr "" + +#: netbox/dcim/tables/devices.py:281 msgid "Inventory items" msgstr "" -#: netbox/dcim/tables/devices.py:302 +#: netbox/dcim/tables/devices.py:284 netbox/dcim/tables/devicetypes.py:156 +#: netbox/dcim/tables/modules.py:87 +msgid "Cooling Method" +msgstr "" + +#: netbox/dcim/tables/devices.py:318 msgid "Device Location" msgstr "" -#: netbox/dcim/tables/devices.py:307 +#: netbox/dcim/tables/devices.py:323 msgid "Device Site" msgstr "" -#: netbox/dcim/tables/devices.py:322 netbox/dcim/tables/modules.py:88 +#: netbox/dcim/tables/devices.py:338 netbox/dcim/tables/modules.py:124 msgid "Module Bay" msgstr "" -#: netbox/dcim/tables/devices.py:335 netbox/dcim/tables/devicetypes.py:53 -#: netbox/dcim/tables/devicetypes.py:147 netbox/dcim/ui/panels.py:416 -#: netbox/dcim/views.py:1599 netbox/dcim/views.py:2851 -#: netbox/netbox/navigation/menu.py:113 -#: netbox/templates/dcim/buttons/bulk_add_components.html:66 -#: netbox/templates/dcim/device/base.html:52 -#: netbox/templates/dcim/devicetype/base.html:49 +#: netbox/dcim/tables/devices.py:351 netbox/dcim/tables/devicetypes.py:53 +#: netbox/dcim/tables/devicetypes.py:153 netbox/dcim/ui/panels.py:509 +#: netbox/dcim/views.py:1670 netbox/dcim/views.py:3232 +#: netbox/netbox/navigation/menu.py:116 +#: netbox/templates/dcim/buttons/bulk_add_components.html:80 +#: netbox/templates/dcim/device/base.html:58 +#: netbox/templates/dcim/devicetype/base.html:50 #: netbox/templates/dcim/inc/panels/inventory_items.html:6 msgid "Inventory Items" msgstr "" -#: netbox/dcim/tables/devices.py:350 +#: netbox/dcim/tables/devices.py:366 msgid "Cable Color" msgstr "" -#: netbox/dcim/tables/devices.py:356 netbox/ipam/tables/vlans.py:170 +#: netbox/dcim/tables/devices.py:372 netbox/ipam/tables/vlans.py:170 msgid "Link Peers" msgstr "" -#: netbox/dcim/tables/devices.py:359 +#: netbox/dcim/tables/devices.py:375 msgid "Mark Connected" msgstr "" -#: netbox/dcim/tables/devices.py:489 +#: netbox/dcim/tables/devices.py:505 msgid "Maximum draw (W)" msgstr "" -#: netbox/dcim/tables/devices.py:492 +#: netbox/dcim/tables/devices.py:508 msgid "Allocated draw (W)" msgstr "" -#: netbox/dcim/tables/devices.py:597 netbox/dcim/views.py:3408 -#: netbox/ipam/forms/model_forms.py:798 netbox/ipam/tables/fhrp.py:28 -#: netbox/ipam/ui/panels.py:252 netbox/ipam/views.py:924 -#: netbox/ipam/views.py:1052 netbox/netbox/navigation/menu.py:175 -#: netbox/netbox/navigation/menu.py:177 netbox/vpn/tables/tunnels.py:98 +#: netbox/dcim/tables/devices.py:613 netbox/dcim/views.py:3977 +#: netbox/ipam/forms/model_forms.py:846 netbox/ipam/tables/fhrp.py:28 +#: netbox/ipam/ui/panels.py:250 netbox/ipam/views.py:940 +#: netbox/ipam/views.py:1072 netbox/netbox/navigation/menu.py:178 +#: netbox/netbox/navigation/menu.py:180 netbox/vpn/tables/tunnels.py:98 msgid "IP Addresses" msgstr "" -#: netbox/dcim/tables/devices.py:600 +#: netbox/dcim/tables/devices.py:616 msgid "Primary MAC" msgstr "" -#: netbox/dcim/tables/devices.py:606 netbox/dcim/views.py:3414 -#: netbox/netbox/navigation/menu.py:120 +#: netbox/dcim/tables/devices.py:622 netbox/dcim/views.py:3983 +#: netbox/netbox/navigation/menu.py:123 msgid "MAC Addresses" msgstr "" -#: netbox/dcim/tables/devices.py:612 netbox/ipam/ui/panels.py:15 -#: netbox/netbox/navigation/menu.py:221 +#: netbox/dcim/tables/devices.py:628 netbox/ipam/ui/panels.py:15 +#: netbox/netbox/navigation/menu.py:224 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:6 msgid "FHRP Groups" msgstr "" -#: netbox/dcim/tables/devices.py:624 netbox/dcim/ui/panels.py:500 +#: netbox/dcim/tables/devices.py:640 netbox/dcim/ui/panels.py:594 #: netbox/virtualization/ui/panels.py:101 netbox/vpn/forms/bulk_edit.py:64 #: netbox/vpn/forms/bulk_import.py:75 netbox/vpn/forms/filtersets.py:50 -#: netbox/vpn/forms/filtersets.py:92 netbox/vpn/forms/model_forms.py:58 -#: netbox/vpn/forms/model_forms.py:143 netbox/vpn/tables/tunnels.py:77 +#: netbox/vpn/forms/filtersets.py:92 netbox/vpn/forms/model_forms.py:73 +#: netbox/vpn/forms/model_forms.py:158 netbox/vpn/tables/tunnels.py:77 msgid "Tunnel" msgstr "" -#: netbox/dcim/tables/devices.py:656 netbox/dcim/tables/devicetypes.py:236 +#: netbox/dcim/tables/devices.py:672 netbox/dcim/tables/devicetypes.py:246 msgid "Management Only" msgstr "" -#: netbox/dcim/tables/devices.py:675 +#: netbox/dcim/tables/devices.py:691 msgid "VDCs" msgstr "" -#: netbox/dcim/tables/devices.py:682 netbox/dcim/ui/panels.py:542 +#: netbox/dcim/tables/devices.py:698 netbox/dcim/ui/panels.py:637 msgid "Virtual Circuit" msgstr "" -#: netbox/dcim/tables/devices.py:807 netbox/dcim/tables/devices.py:860 -#: netbox/dcim/tables/devicetypes.py:258 netbox/dcim/tables/devicetypes.py:277 +#: netbox/dcim/tables/devices.py:823 netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devicetypes.py:268 netbox/dcim/tables/devicetypes.py:287 msgid "Mappings" msgstr "" -#: netbox/dcim/tables/devices.py:918 netbox/dcim/ui/panels.py:287 +#: netbox/dcim/tables/devices.py:934 netbox/dcim/ui/panels.py:355 msgid "Installed Device" msgstr "" -#: netbox/dcim/tables/devices.py:923 +#: netbox/dcim/tables/devices.py:939 msgid "Installed Role" msgstr "" -#: netbox/dcim/tables/devices.py:928 +#: netbox/dcim/tables/devices.py:944 msgid "Installed Type" msgstr "" -#: netbox/dcim/tables/devices.py:932 +#: netbox/dcim/tables/devices.py:948 msgid "Installed Description" msgstr "" -#: netbox/dcim/tables/devices.py:936 +#: netbox/dcim/tables/devices.py:952 msgid "Installed Serial" msgstr "" -#: netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devices.py:956 msgid "Installed Asset Tag" msgstr "" -#: netbox/dcim/tables/devices.py:996 netbox/dcim/ui/panels.py:271 +#: netbox/dcim/tables/devices.py:1012 netbox/dcim/ui/panels.py:339 msgid "Installed Module" msgstr "" -#: netbox/dcim/tables/devices.py:999 +#: netbox/dcim/tables/devices.py:1015 msgid "Module Serial" msgstr "" -#: netbox/dcim/tables/devices.py:1003 +#: netbox/dcim/tables/devices.py:1019 msgid "Module Asset Tag" msgstr "" -#: netbox/dcim/tables/devices.py:1012 +#: netbox/dcim/tables/devices.py:1028 msgid "Module Status" msgstr "" -#: netbox/dcim/tables/devices.py:1069 netbox/dcim/tables/devicetypes.py:332 +#: netbox/dcim/tables/devices.py:1089 netbox/dcim/tables/devicetypes.py:346 msgid "Component" msgstr "" -#: netbox/dcim/tables/devices.py:1127 +#: netbox/dcim/tables/devices.py:1147 msgid "Items" msgstr "" +#: netbox/dcim/tables/devices.py:1277 netbox/dcim/tables/devices.py:1287 +msgid "Set as primary" +msgstr "" + #: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:69 #: netbox/netbox/navigation/menu.py:71 msgid "Rack Types" @@ -7890,13 +9263,13 @@ msgstr "" msgid "Device Types" msgstr "" -#: netbox/dcim/tables/devicetypes.py:48 netbox/dcim/views.py:1696 +#: netbox/dcim/tables/devicetypes.py:48 netbox/dcim/views.py:1839 #: netbox/netbox/navigation/menu.py:96 msgid "Module Types" msgstr "" -#: netbox/dcim/tables/devicetypes.py:58 netbox/extras/forms/filtersets.py:466 -#: netbox/extras/forms/model_forms.py:749 netbox/extras/tables/tables.py:725 +#: netbox/dcim/tables/devicetypes.py:58 netbox/extras/forms/filtersets.py:504 +#: netbox/extras/forms/model_forms.py:775 netbox/extras/tables/tables.py:750 #: netbox/netbox/navigation/menu.py:87 msgid "Platforms" msgstr "" @@ -7913,95 +9286,113 @@ msgstr "" msgid "Device Count" msgstr "" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:1464 -#: netbox/dcim/views.py:1818 netbox/dcim/views.py:2700 -#: netbox/netbox/navigation/menu.py:107 +#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:1505 +#: netbox/dcim/views.py:1998 netbox/dcim/views.py:3049 +#: netbox/netbox/navigation/menu.py:108 #: netbox/templates/dcim/buttons/bulk_add_components.html:10 #: netbox/templates/dcim/device/base.html:25 -#: netbox/templates/dcim/devicetype/base.html:22 +#: netbox/templates/dcim/devicetype/base.html:17 #: netbox/templates/dcim/inc/moduletype_buttons.html:13 -#: netbox/templates/dcim/module.html:22 +#: netbox/templates/dcim/module.html:14 msgid "Console Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1479 -#: netbox/dcim/views.py:1833 netbox/dcim/views.py:2716 -#: netbox/netbox/navigation/menu.py:108 +#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1520 +#: netbox/dcim/views.py:2013 netbox/dcim/views.py:3065 +#: netbox/netbox/navigation/menu.py:109 #: netbox/templates/dcim/buttons/bulk_add_components.html:17 #: netbox/templates/dcim/device/base.html:28 -#: netbox/templates/dcim/devicetype/base.html:25 +#: netbox/templates/dcim/devicetype/base.html:20 #: netbox/templates/dcim/inc/moduletype_buttons.html:16 -#: netbox/templates/dcim/module.html:25 +#: netbox/templates/dcim/module.html:17 msgid "Console Server Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1494 -#: netbox/dcim/views.py:1848 netbox/dcim/views.py:2732 -#: netbox/netbox/navigation/menu.py:109 +#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1535 +#: netbox/dcim/views.py:2028 netbox/dcim/views.py:3081 +#: netbox/netbox/navigation/menu.py:110 #: netbox/templates/dcim/buttons/bulk_add_components.html:24 #: netbox/templates/dcim/device/base.html:31 -#: netbox/templates/dcim/devicetype/base.html:28 +#: netbox/templates/dcim/devicetype/base.html:23 #: netbox/templates/dcim/inc/moduletype_buttons.html:19 -#: netbox/templates/dcim/module.html:28 +#: netbox/templates/dcim/module.html:20 msgid "Power Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1509 -#: netbox/dcim/views.py:1863 netbox/dcim/views.py:2748 -#: netbox/netbox/navigation/menu.py:110 +#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1550 +#: netbox/dcim/views.py:2043 netbox/dcim/views.py:3097 +#: netbox/netbox/navigation/menu.py:111 #: netbox/templates/dcim/buttons/bulk_add_components.html:31 #: netbox/templates/dcim/device/base.html:34 -#: netbox/templates/dcim/devicetype/base.html:31 +#: netbox/templates/dcim/devicetype/base.html:26 #: netbox/templates/dcim/inc/moduletype_buttons.html:22 -#: netbox/templates/dcim/module.html:31 +#: netbox/templates/dcim/module.html:23 msgid "Power Outlets" msgstr "" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1539 -#: netbox/dcim/views.py:1893 netbox/dcim/views.py:2787 -#: netbox/netbox/navigation/menu.py:105 +#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1565 +#: netbox/dcim/views.py:2058 netbox/dcim/views.py:3113 +#: netbox/netbox/navigation/menu.py:112 +#: netbox/templates/dcim/buttons/bulk_add_components.html:38 +#: netbox/templates/dcim/device/base.html:37 +#: netbox/templates/dcim/devicetype/base.html:29 +msgid "Cooling Intakes" +msgstr "" + +#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1580 +#: netbox/dcim/views.py:2073 netbox/dcim/views.py:3129 +#: netbox/netbox/navigation/menu.py:113 +#: netbox/templates/dcim/buttons/bulk_add_components.html:45 #: netbox/templates/dcim/device/base.html:40 -#: netbox/templates/dcim/devicetype/base.html:37 +#: netbox/templates/dcim/devicetype/base.html:32 +msgid "Cooling Outflows" +msgstr "" + +#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1610 +#: netbox/dcim/views.py:2103 netbox/dcim/views.py:3168 +#: netbox/netbox/navigation/menu.py:106 +#: netbox/templates/dcim/device/base.html:46 +#: netbox/templates/dcim/devicetype/base.html:38 #: netbox/templates/dcim/inc/moduletype_buttons.html:28 -#: netbox/templates/dcim/module.html:37 +#: netbox/templates/dcim/module.html:29 msgid "Front Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1554 -#: netbox/dcim/views.py:1908 netbox/dcim/views.py:2803 -#: netbox/netbox/navigation/menu.py:106 -#: netbox/templates/dcim/buttons/bulk_add_components.html:45 -#: netbox/templates/dcim/device/base.html:43 -#: netbox/templates/dcim/devicetype/base.html:40 +#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1625 +#: netbox/dcim/views.py:2118 netbox/dcim/views.py:3184 +#: netbox/netbox/navigation/menu.py:107 +#: netbox/templates/dcim/buttons/bulk_add_components.html:59 +#: netbox/templates/dcim/device/base.html:49 +#: netbox/templates/dcim/devicetype/base.html:41 #: netbox/templates/dcim/inc/moduletype_buttons.html:31 -#: netbox/templates/dcim/module.html:40 +#: netbox/templates/dcim/module.html:32 msgid "Rear Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1584 -#: netbox/dcim/views.py:2835 netbox/netbox/navigation/menu.py:112 -#: netbox/templates/dcim/buttons/bulk_add_components.html:52 -#: netbox/templates/dcim/device/base.html:49 -#: netbox/templates/dcim/devicetype/base.html:46 +#: netbox/dcim/tables/devicetypes.py:147 netbox/dcim/views.py:1655 +#: netbox/dcim/views.py:3216 netbox/netbox/navigation/menu.py:115 +#: netbox/templates/dcim/buttons/bulk_add_components.html:66 +#: netbox/templates/dcim/device/base.html:55 +#: netbox/templates/dcim/devicetype/base.html:47 msgid "Device Bays" msgstr "" -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1569 -#: netbox/dcim/views.py:1923 netbox/dcim/views.py:2819 -#: netbox/netbox/navigation/menu.py:111 -#: netbox/templates/dcim/buttons/bulk_add_components.html:59 -#: netbox/templates/dcim/device/base.html:46 -#: netbox/templates/dcim/devicetype/base.html:43 +#: netbox/dcim/tables/devicetypes.py:150 netbox/dcim/views.py:1640 +#: netbox/dcim/views.py:1768 netbox/dcim/views.py:2133 +#: netbox/dcim/views.py:3200 netbox/netbox/navigation/menu.py:114 +#: netbox/templates/dcim/buttons/bulk_add_components.html:73 +#: netbox/templates/dcim/device/base.html:52 +#: netbox/templates/dcim/devicetype/base.html:44 #: netbox/templates/dcim/inc/moduletype_buttons.html:34 -#: netbox/templates/dcim/module.html:43 +#: netbox/templates/dcim/module.html:35 msgid "Module Bays" msgstr "" -#: netbox/dcim/tables/modules.py:65 +#: netbox/dcim/tables/modules.py:100 msgid "Module Count" msgstr "" -#: netbox/dcim/tables/power.py:36 netbox/netbox/navigation/menu.py:330 +#: netbox/dcim/tables/power.py:36 netbox/netbox/navigation/menu.py:333 msgid "Power Feeds" msgstr "" @@ -8019,28 +9410,28 @@ msgstr "" msgid "Racks" msgstr "" -#: netbox/dcim/tables/racks.py:80 netbox/dcim/tables/racks.py:159 -#: netbox/dcim/ui/panels.py:31 +#: netbox/dcim/tables/racks.py:80 netbox/dcim/tables/racks.py:165 +#: netbox/dcim/ui/panels.py:55 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:14 msgid "Height" msgstr "" -#: netbox/dcim/tables/racks.py:84 netbox/dcim/tables/racks.py:179 +#: netbox/dcim/tables/racks.py:84 netbox/dcim/tables/racks.py:185 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:18 msgid "Outer Width" msgstr "" -#: netbox/dcim/tables/racks.py:88 netbox/dcim/tables/racks.py:183 +#: netbox/dcim/tables/racks.py:88 netbox/dcim/tables/racks.py:189 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:28 msgid "Outer Height" msgstr "" -#: netbox/dcim/tables/racks.py:92 netbox/dcim/tables/racks.py:187 +#: netbox/dcim/tables/racks.py:92 netbox/dcim/tables/racks.py:193 #: netbox/templates/dcim/inc/panels/racktype_dimensions.html:38 msgid "Outer Depth" msgstr "" -#: netbox/dcim/tables/racks.py:100 netbox/dcim/tables/racks.py:195 +#: netbox/dcim/tables/racks.py:100 netbox/dcim/tables/racks.py:201 msgid "Max Weight" msgstr "" @@ -8048,249 +9439,319 @@ msgstr "" msgid "Rack Count" msgstr "" -#: netbox/dcim/tables/racks.py:168 +#: netbox/dcim/tables/racks.py:110 netbox/dcim/tables/racks.py:206 +msgid "Cooling Capability" +msgstr "" + +#: netbox/dcim/tables/racks.py:174 msgid "Space" msgstr "" -#: netbox/dcim/tables/racks.py:245 netbox/dcim/ui/panels.py:74 +#: netbox/dcim/tables/racks.py:258 netbox/dcim/ui/panels.py:100 msgid "Total U's" msgstr "" #: netbox/dcim/tables/sites.py:22 netbox/dcim/tables/sites.py:41 -#: netbox/extras/forms/filtersets.py:446 netbox/extras/forms/model_forms.py:729 -#: netbox/ipam/forms/bulk_edit.py:113 netbox/ipam/forms/model_forms.py:165 +#: netbox/extras/forms/filtersets.py:484 netbox/extras/forms/model_forms.py:755 +#: netbox/ipam/forms/bulk_edit.py:114 netbox/ipam/forms/model_forms.py:165 #: netbox/ipam/tables/asn.py:80 netbox/netbox/navigation/menu.py:18 #: netbox/netbox/navigation/menu.py:22 msgid "Sites" msgstr "" -#: netbox/dcim/tables/sites.py:121 netbox/netbox/navigation/menu.py:213 +#: netbox/dcim/tables/sites.py:121 netbox/netbox/navigation/menu.py:216 msgid "VLAN Groups" msgstr "" -#: netbox/dcim/tests/test_api.py:64 +#: netbox/dcim/tests/test_api.py:67 msgid "Test case must set peer_termination_type" msgstr "" -#: netbox/dcim/ui/panels.py:35 +#: netbox/dcim/ui/panels.py:59 #, python-brace-format msgid "{0} millimeters" msgstr "" -#: netbox/dcim/ui/panels.py:55 netbox/dcim/ui/panels.py:98 -#: netbox/dcim/ui/panels.py:171 netbox/dcim/ui/panels.py:275 +#: netbox/dcim/ui/panels.py:79 netbox/dcim/ui/panels.py:127 +#: netbox/dcim/ui/panels.py:202 netbox/dcim/ui/panels.py:343 #: netbox/virtualization/forms/filtersets.py:258 #: netbox/virtualization/ui/panels.py:50 msgid "Serial number" msgstr "" -#: netbox/dcim/ui/panels.py:64 +#: netbox/dcim/ui/panels.py:83 netbox/dcim/ui/panels.py:112 +#: netbox/dcim/ui/panels.py:438 netbox/dcim/ui/panels.py:453 +msgid "{} kW" +msgstr "" + +#: netbox/dcim/ui/panels.py:90 msgid "Maximum weight" msgstr "" -#: netbox/dcim/ui/panels.py:104 netbox/templates/dcim/device_edit.html:66 -#: netbox/virtualization/forms/model_forms.py:276 +#: netbox/dcim/ui/panels.py:133 netbox/templates/dcim/device_edit.html:73 +#: netbox/virtualization/forms/model_forms.py:306 msgid "Management" msgstr "" -#: netbox/dcim/ui/panels.py:121 +#: netbox/dcim/ui/panels.py:150 msgid "Out-of-band IP" msgstr "" -#: netbox/dcim/ui/panels.py:159 +#: netbox/dcim/ui/panels.py:188 msgid "Parent/child" msgstr "" -#: netbox/dcim/ui/panels.py:183 +#: netbox/dcim/ui/panels.py:211 +msgid "Compatible Module Types" +msgstr "" + +#: netbox/dcim/ui/panels.py:222 msgid "Model name" msgstr "" -#: netbox/dcim/ui/panels.py:294 +#: netbox/dcim/ui/panels.py:362 msgid "Parent item" msgstr "" -#: netbox/dcim/ui/panels.py:344 +#: netbox/dcim/ui/panels.py:412 msgid "Connected device" msgstr "" -#: netbox/dcim/ui/panels.py:349 +#: netbox/dcim/ui/panels.py:417 msgid "Utilization (allocated)" msgstr "" -#: netbox/dcim/ui/panels.py:355 +#: netbox/dcim/ui/panels.py:423 msgid "Electrical Characteristics" msgstr "" -#: netbox/dcim/ui/panels.py:386 +#: netbox/dcim/ui/panels.py:451 +msgid "Cooling Characteristics" +msgstr "" + +#: netbox/dcim/ui/panels.py:479 msgid "Primary for interface" msgstr "" -#: netbox/dcim/ui/panels.py:434 +#: netbox/dcim/ui/panels.py:527 msgid "Virtual Chassis Members" msgstr "" -#: netbox/dcim/ui/panels.py:469 +#: netbox/dcim/ui/panels.py:562 msgid "Power Utilization" msgstr "" -#: netbox/dcim/ui/panels.py:499 +#: netbox/dcim/ui/panels.py:593 msgid "Transmit power" msgstr "" -#: netbox/dcim/ui/panels.py:522 +#: netbox/dcim/ui/panels.py:617 msgid "VLAN translation" msgstr "" -#: netbox/dcim/utils.py:54 +#: netbox/dcim/utils.py:93 #, python-brace-format msgid "" "Cannot install module with placeholder values in a module bay tree {level} " "levels deep but {tokens} placeholders given." msgstr "" -#: netbox/dcim/views.py:150 +#: netbox/dcim/views.py:154 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "" -#: netbox/dcim/views.py:264 +#: netbox/dcim/views.py:274 msgid "Child Regions" msgstr "" -#: netbox/dcim/views.py:397 netbox/tenancy/views.py:59 -#: netbox/tenancy/views.py:232 netbox/wireless/views.py:54 +#: netbox/dcim/views.py:413 netbox/tenancy/views.py:66 +#: netbox/tenancy/views.py:253 netbox/wireless/views.py:61 msgid "Child Groups" msgstr "" -#: netbox/dcim/views.py:557 netbox/dcim/views.py:699 netbox/dcim/views.py:1186 +#: netbox/dcim/views.py:573 netbox/dcim/views.py:719 netbox/dcim/views.py:1214 msgid "Non-Racked Devices" msgstr "" -#: netbox/dcim/views.py:684 +#: netbox/dcim/views.py:704 msgid "Child Locations" msgstr "" -#: netbox/dcim/views.py:1167 netbox/netbox/navigation/menu.py:53 +#: netbox/dcim/views.py:1195 netbox/netbox/navigation/menu.py:53 msgid "Reservations" msgstr "" -#: netbox/dcim/views.py:2450 +#: netbox/dcim/views.py:1974 +#, python-format +msgid "" +"%(count)d installed module of this type is now incompatible with its module " +"bay due to conflicting bay type constraints." +msgid_plural "" +"%(count)d installed modules of this type are now incompatible with their " +"module bays due to conflicting bay type constraints." +msgstr[0] "" +msgstr[1] "" + +#: netbox/dcim/views.py:2206 +#, python-format +msgid "" +"%(count)d installed module is now incompatible with its module bay due to " +"conflicting bay type constraints." +msgid_plural "" +"%(count)d installed modules are now incompatible with their module bays due " +"to conflicting bay type constraints." +msgstr[0] "" +msgstr[1] "" + +#: netbox/dcim/views.py:2792 msgid "Child Device Roles" msgstr "" -#: netbox/dcim/views.py:2551 +#: netbox/dcim/views.py:2900 msgid "Child Platforms" msgstr "" -#: netbox/dcim/views.py:2643 netbox/netbox/navigation/menu.py:223 -#: netbox/virtualization/views.py:493 +#: netbox/dcim/views.py:2992 netbox/netbox/navigation/menu.py:226 +#: netbox/virtualization/views.py:498 msgid "Application Services" msgstr "" -#: netbox/dcim/views.py:2864 netbox/extras/forms/filtersets.py:407 -#: netbox/extras/forms/model_forms.py:789 netbox/extras/ui/panels.py:435 -#: netbox/virtualization/forms/model_forms.py:278 -#: netbox/virtualization/views.py:569 +#: netbox/dcim/views.py:3253 netbox/extras/forms/filtersets.py:445 +#: netbox/extras/forms/model_forms.py:815 netbox/extras/ui/panels.py:450 +#: netbox/virtualization/forms/model_forms.py:308 +#: netbox/virtualization/views.py:574 msgid "Config Context" msgstr "" -#: netbox/dcim/views.py:2875 netbox/virtualization/views.py:580 +#: netbox/dcim/views.py:3264 netbox/virtualization/views.py:585 msgid "Render Config" msgstr "" -#: netbox/dcim/views.py:2888 netbox/extras/tables/tables.py:735 -#: netbox/netbox/navigation/menu.py:266 netbox/netbox/navigation/menu.py:268 -#: netbox/virtualization/views.py:278 +#: netbox/dcim/views.py:3277 netbox/extras/tables/tables.py:760 +#: netbox/netbox/navigation/menu.py:269 netbox/netbox/navigation/menu.py:271 +#: netbox/virtualization/views.py:283 msgid "Virtual Machines" msgstr "" -#: netbox/dcim/views.py:3395 netbox/netbox/navigation/menu.py:89 +#: netbox/dcim/views.py:3964 netbox/netbox/navigation/menu.py:89 msgid "Virtual Device Contexts" msgstr "" -#: netbox/dcim/views.py:3420 netbox/ipam/forms/filtersets.py:469 +#: netbox/dcim/views.py:3994 netbox/ipam/forms/filtersets.py:469 #: netbox/ipam/models/vlans.py:312 netbox/ipam/tables/ip.py:121 -#: netbox/ipam/tables/vlans.py:52 netbox/ipam/views.py:1386 -#: netbox/netbox/navigation/menu.py:210 netbox/netbox/navigation/menu.py:212 +#: netbox/ipam/tables/vlans.py:52 netbox/ipam/views.py:1413 +#: netbox/netbox/navigation/menu.py:213 netbox/netbox/navigation/menu.py:215 msgid "VLANs" msgstr "" -#: netbox/dcim/views.py:3422 +#: netbox/dcim/views.py:3996 msgid "LAG Members" msgstr "" -#: netbox/dcim/views.py:3423 netbox/virtualization/ui/panels.py:112 -#: netbox/virtualization/views.py:680 +#: netbox/dcim/views.py:3997 netbox/virtualization/ui/panels.py:112 +#: netbox/virtualization/views.py:692 msgid "VLAN Translation" msgstr "" -#: netbox/dcim/views.py:3424 +#: netbox/dcim/views.py:3998 msgid "Bridged Interfaces" msgstr "" -#: netbox/dcim/views.py:3425 netbox/virtualization/views.py:681 +#: netbox/dcim/views.py:3999 netbox/virtualization/views.py:693 msgid "Child Interfaces" msgstr "" -#: netbox/dcim/views.py:3898 +#: netbox/dcim/views.py:4401 +msgid "" +"The module currently installed in this bay is incompatible with the new bay " +"type constraints. Consider removing or replacing it." +msgstr "" + +#: netbox/dcim/views.py:4447 +#, python-format +msgid "" +"%(count)d module bay now has an incompatible module installed due to " +"conflicting bay type constraints." +msgid_plural "" +"%(count)d module bays now have incompatible modules installed due to " +"conflicting bay type constraints." +msgstr[0] "" +msgstr[1] "" + +#: netbox/dcim/views.py:4544 #, python-brace-format msgid "Installed device {device} in bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:3939 +#: netbox/dcim/views.py:4585 #, python-brace-format msgid "Removed device {device} from bay {device_bay}." msgstr "" -#: netbox/dcim/views.py:4061 netbox/ipam/tables/ip.py:184 +#: netbox/dcim/views.py:4711 netbox/ipam/tables/ip.py:184 msgid "Children" msgstr "" -#: netbox/dcim/views.py:4631 +#: netbox/dcim/views.py:5303 #, python-brace-format msgid "Added member {device}" msgstr "" -#: netbox/dcim/views.py:4676 +#: netbox/dcim/views.py:5348 #, python-brace-format msgid "Unable to remove master device {device} from the virtual chassis." msgstr "" -#: netbox/dcim/views.py:4687 +#: netbox/dcim/views.py:5359 #, python-brace-format msgid "Removed {device} from virtual chassis {chassis}" msgstr "" -#: netbox/extras/api/customfields.py:94 +#: netbox/dcim/views.py:5896 +msgid "This MAC address is not assigned to an interface." +msgstr "" + +#: netbox/dcim/views.py:5906 +#, python-brace-format +msgid "You do not have permission to modify {object}." +msgstr "" + +#: netbox/dcim/views.py:5918 +#, python-brace-format +msgid "Set {mac} as primary MAC address for {interface}." +msgstr "" + +#: netbox/extras/api/customfields.py:98 #, python-brace-format msgid "Custom field '{name}' does not exist for this object type." msgstr "" -#: netbox/extras/api/customfields.py:110 +#: netbox/extras/api/customfields.py:114 #, python-brace-format msgid "Unknown related object(s): {name}" msgstr "" -#: netbox/extras/api/mixins.py:94 netbox/extras/api/views.py:257 +#: netbox/extras/api/mixins.py:92 netbox/extras/api/views.py:257 msgid "" "The rendered config template. When the client requests `text/plain`, the raw " "rendered content is returned in place of the JSON object." msgstr "" -#: netbox/extras/api/mixins.py:100 +#: netbox/extras/api/mixins.py:98 msgid "No config template could be resolved for this object." msgstr "" -#: netbox/extras/api/mixins.py:104 netbox/extras/api/views.py:263 +#: netbox/extras/api/mixins.py:102 netbox/extras/api/views.py:263 msgid "An error occurred while rendering the config template." msgstr "" -#: netbox/extras/api/mixins.py:127 netbox/extras/views.py:1316 +#: netbox/extras/api/mixins.py:125 netbox/extras/views.py:1316 #, python-brace-format msgid "Config template with ID {id} not found." msgstr "" -#: netbox/extras/api/mixins.py:133 +#: netbox/extras/api/mixins.py:131 #, python-brace-format msgid "No config template found for this {object_type}." msgstr "" @@ -8305,7 +9766,7 @@ msgstr "" msgid "The rendered template output." msgstr "" -#: netbox/extras/api/serializers_/customfields.py:80 +#: netbox/extras/api/serializers_/customfields.py:83 msgid "Changing the type of custom fields is not supported." msgstr "" @@ -8365,209 +9826,326 @@ msgstr "" msgid "Text" msgstr "" +#: netbox/extras/choices.py:30 +msgid "A single line of text" +msgstr "" + #: netbox/extras/choices.py:31 msgid "Text (long)" msgstr "" +#: netbox/extras/choices.py:31 +msgid "Multi-line text with Markdown support" +msgstr "" + #: netbox/extras/choices.py:32 msgid "Integer" msgstr "" +#: netbox/extras/choices.py:32 +msgid "A whole number (positive or negative)" +msgstr "" + #: netbox/extras/choices.py:33 msgid "Decimal" msgstr "" +#: netbox/extras/choices.py:33 +msgid "A fixed-precision decimal number" +msgstr "" + #: netbox/extras/choices.py:34 -msgid "Boolean (true/false)" +msgid "Boolean" +msgstr "" + +#: netbox/extras/choices.py:34 +msgid "A true or false value" msgstr "" #: netbox/extras/choices.py:35 msgid "Date" msgstr "" +#: netbox/extras/choices.py:35 +msgid "A calendar date" +msgstr "" + #: netbox/extras/choices.py:36 msgid "Date & time" msgstr "" +#: netbox/extras/choices.py:36 +msgid "A calendar date and time" +msgstr "" + +#: netbox/extras/choices.py:37 +msgid "A hyperlink to an external resource" +msgstr "" + #: netbox/extras/choices.py:38 msgid "JSON" msgstr "" +#: netbox/extras/choices.py:38 +msgid "Arbitrary data encoded as JSON" +msgstr "" + #: netbox/extras/choices.py:39 msgid "Selection" msgstr "" -#: netbox/extras/choices.py:40 -msgid "Multiple selection" +#: netbox/extras/choices.py:39 +msgid "A single value chosen from a predefined list" msgstr "" #: netbox/extras/choices.py:42 +msgid "Multiple selection" +msgstr "" + +#: netbox/extras/choices.py:43 +msgid "One or more values chosen from a predefined list" +msgstr "" + +#: netbox/extras/choices.py:45 +msgid "A reference to a single NetBox object" +msgstr "" + +#: netbox/extras/choices.py:46 msgid "Multiple objects" msgstr "" -#: netbox/extras/choices.py:54 +#: netbox/extras/choices.py:46 +msgid "References to one or more NetBox objects" +msgstr "" + +#: netbox/extras/choices.py:65 +msgid "Deleting" +msgstr "" + +#: netbox/extras/choices.py:83 +msgid "The field cannot be used for filtering" +msgstr "" + +#: netbox/extras/choices.py:84 msgid "Loose" msgstr "" -#: netbox/extras/choices.py:55 +#: netbox/extras/choices.py:84 +msgid "Match on a partial value (case-insensitive substring)" +msgstr "" + +#: netbox/extras/choices.py:85 msgid "Exact" msgstr "" -#: netbox/extras/choices.py:67 +#: netbox/extras/choices.py:85 +msgid "Match on the exact value" +msgstr "" + +#: netbox/extras/choices.py:96 +msgid "Always display the field" +msgstr "" + +#: netbox/extras/choices.py:97 msgid "If set" msgstr "" -#: netbox/extras/choices.py:68 netbox/extras/choices.py:81 +#: netbox/extras/choices.py:97 +msgid "Display the field only if it has a value" +msgstr "" + +#: netbox/extras/choices.py:98 netbox/extras/choices.py:111 msgid "Hidden" msgstr "" -#: netbox/extras/choices.py:79 +#: netbox/extras/choices.py:98 +msgid "Never display the field" +msgstr "" + +#: netbox/extras/choices.py:109 msgid "Yes" msgstr "" -#: netbox/extras/choices.py:80 +#: netbox/extras/choices.py:109 +msgid "The field value can be edited by users" +msgstr "" + +#: netbox/extras/choices.py:110 msgid "No" msgstr "" -#: netbox/extras/choices.py:115 netbox/extras/choices.py:255 -#: netbox/netbox/choices.py:59 netbox/netbox/choices.py:104 +#: netbox/extras/choices.py:110 +msgid "The field is displayed but cannot be edited" +msgstr "" + +#: netbox/extras/choices.py:111 +msgid "The field is neither displayed nor editable" +msgstr "" + +#: netbox/extras/choices.py:145 netbox/extras/choices.py:285 +#: netbox/netbox/choices.py:61 netbox/netbox/choices.py:106 msgid "Blue" msgstr "" -#: netbox/extras/choices.py:116 netbox/extras/choices.py:256 -#: netbox/netbox/choices.py:58 netbox/netbox/choices.py:105 +#: netbox/extras/choices.py:146 netbox/extras/choices.py:286 +#: netbox/netbox/choices.py:60 netbox/netbox/choices.py:107 msgid "Indigo" msgstr "" -#: netbox/extras/choices.py:117 netbox/extras/choices.py:257 -#: netbox/netbox/choices.py:56 netbox/netbox/choices.py:106 +#: netbox/extras/choices.py:147 netbox/extras/choices.py:287 +#: netbox/netbox/choices.py:58 netbox/netbox/choices.py:108 msgid "Purple" msgstr "" -#: netbox/extras/choices.py:118 netbox/extras/choices.py:258 -#: netbox/netbox/choices.py:53 netbox/netbox/choices.py:107 +#: netbox/extras/choices.py:148 netbox/extras/choices.py:288 +#: netbox/netbox/choices.py:55 netbox/netbox/choices.py:109 msgid "Pink" msgstr "" -#: netbox/extras/choices.py:119 netbox/extras/choices.py:259 -#: netbox/netbox/choices.py:52 netbox/netbox/choices.py:108 +#: netbox/extras/choices.py:149 netbox/extras/choices.py:289 +#: netbox/netbox/choices.py:54 netbox/netbox/choices.py:110 msgid "Red" msgstr "" -#: netbox/extras/choices.py:120 netbox/extras/choices.py:260 -#: netbox/netbox/choices.py:70 netbox/netbox/choices.py:109 +#: netbox/extras/choices.py:150 netbox/extras/choices.py:290 +#: netbox/netbox/choices.py:72 netbox/netbox/choices.py:111 msgid "Orange" msgstr "" -#: netbox/extras/choices.py:121 netbox/extras/choices.py:261 -#: netbox/netbox/choices.py:68 netbox/netbox/choices.py:110 +#: netbox/extras/choices.py:151 netbox/extras/choices.py:291 +#: netbox/netbox/choices.py:70 netbox/netbox/choices.py:112 msgid "Yellow" msgstr "" -#: netbox/extras/choices.py:122 netbox/extras/choices.py:262 -#: netbox/netbox/choices.py:65 netbox/netbox/choices.py:111 +#: netbox/extras/choices.py:152 netbox/extras/choices.py:292 +#: netbox/netbox/choices.py:67 netbox/netbox/choices.py:113 msgid "Green" msgstr "" -#: netbox/extras/choices.py:123 netbox/extras/choices.py:263 -#: netbox/netbox/choices.py:62 netbox/netbox/choices.py:112 +#: netbox/extras/choices.py:153 netbox/extras/choices.py:293 +#: netbox/netbox/choices.py:64 netbox/netbox/choices.py:114 msgid "Teal" msgstr "" -#: netbox/extras/choices.py:124 netbox/extras/choices.py:264 -#: netbox/netbox/choices.py:61 netbox/netbox/choices.py:113 +#: netbox/extras/choices.py:154 netbox/extras/choices.py:294 +#: netbox/netbox/choices.py:63 netbox/netbox/choices.py:115 msgid "Cyan" msgstr "" -#: netbox/extras/choices.py:125 netbox/extras/choices.py:265 -#: netbox/netbox/choices.py:114 +#: netbox/extras/choices.py:155 netbox/extras/choices.py:295 +#: netbox/netbox/choices.py:116 msgid "Gray" msgstr "" -#: netbox/extras/choices.py:126 netbox/extras/choices.py:266 -#: netbox/netbox/choices.py:76 netbox/netbox/choices.py:115 +#: netbox/extras/choices.py:156 netbox/extras/choices.py:296 +#: netbox/netbox/choices.py:78 netbox/netbox/choices.py:117 msgid "Black" msgstr "" -#: netbox/extras/choices.py:127 netbox/extras/choices.py:267 -#: netbox/netbox/choices.py:77 netbox/netbox/choices.py:116 +#: netbox/extras/choices.py:157 netbox/extras/choices.py:297 +#: netbox/netbox/choices.py:79 netbox/netbox/choices.py:118 msgid "White" msgstr "" -#: netbox/extras/choices.py:141 netbox/tenancy/forms/bulk_edit.py:113 +#: netbox/extras/choices.py:171 netbox/tenancy/forms/bulk_edit.py:113 #: netbox/tenancy/forms/bulk_import.py:91 -#: netbox/tenancy/forms/model_forms.py:98 netbox/tenancy/ui/panels.py:18 -#: netbox/wireless/forms/model_forms.py:169 +#: netbox/tenancy/forms/model_forms.py:105 netbox/tenancy/ui/panels.py:18 +#: netbox/wireless/forms/model_forms.py:212 msgid "Link" msgstr "" -#: netbox/extras/choices.py:157 +#: netbox/extras/choices.py:171 +msgid "Render the button as a borderless text link" +msgstr "" + +#: netbox/extras/choices.py:187 msgid "Newest" msgstr "" -#: netbox/extras/choices.py:158 +#: netbox/extras/choices.py:188 msgid "Oldest" msgstr "" -#: netbox/extras/choices.py:159 +#: netbox/extras/choices.py:189 msgid "Alphabetical (A-Z)" msgstr "" -#: netbox/extras/choices.py:160 +#: netbox/extras/choices.py:190 msgid "Alphabetical (Z-A)" msgstr "" -#: netbox/extras/choices.py:178 netbox/extras/choices.py:199 +#: netbox/extras/choices.py:207 +msgid "An informational entry" +msgstr "" + +#: netbox/extras/choices.py:208 netbox/extras/choices.py:229 msgid "Success" msgstr "" -#: netbox/extras/choices.py:180 +#: netbox/extras/choices.py:208 +msgid "A record of a successful outcome" +msgstr "" + +#: netbox/extras/choices.py:209 +msgid "A cautionary note requiring attention" +msgstr "" + +#: netbox/extras/choices.py:210 msgid "Danger" msgstr "" -#: netbox/extras/choices.py:201 +#: netbox/extras/choices.py:210 +msgid "A record of a critical issue or failure" +msgstr "" + +#: netbox/extras/choices.py:231 msgid "Failure" msgstr "" -#: netbox/extras/choices.py:282 netbox/extras/forms/model_forms.py:535 -#: netbox/extras/forms/model_forms.py:612 netbox/extras/ui/panels.py:329 -msgid "Webhook" -msgstr "" - -#: netbox/extras/choices.py:283 netbox/extras/forms/model_forms.py:600 -#: netbox/templates/extras/script/base.html:29 -msgid "Script" -msgstr "" - -#: netbox/extras/choices.py:284 -msgid "Notification" -msgstr "" - -#: netbox/extras/conditions.py:60 +#: netbox/extras/conditions.py:123 #, python-brace-format msgid "Unknown operator: {op}. Must be one of: {operators}" msgstr "" -#: netbox/extras/conditions.py:64 +#: netbox/extras/conditions.py:130 +#, python-brace-format +msgid "The '{op}' operator compares snapshots and does not accept a value." +msgstr "" + +#: netbox/extras/conditions.py:134 +#, python-brace-format +msgid "" +"The '{op}' operator resolves '{attr}' within each snapshot dict, not the top-" +"level condition context. Use the bare attribute name (e.g. 'status') rather " +"than a snapshot path (e.g. 'snapshots.prechange.status'), which is only " +"valid with standard operators." +msgstr "" + +#: netbox/extras/conditions.py:142 +#, python-brace-format +msgid "A value is required for the '{op}' operator." +msgstr "" + +#: netbox/extras/conditions.py:144 #, python-brace-format msgid "Unsupported value type: {value}" msgstr "" -#: netbox/extras/conditions.py:66 +#: netbox/extras/conditions.py:146 #, python-brace-format msgid "Invalid type for {op} operation: {value}" msgstr "" -#: netbox/extras/conditions.py:145 +#: netbox/extras/conditions.py:370 #, python-brace-format msgid "Ruleset must be a dictionary, not {ruleset}." msgstr "" -#: netbox/extras/conditions.py:150 +#: netbox/extras/conditions.py:375 msgid "Invalid logic type: must be 'AND' or 'OR'. Please check documentation." msgstr "" -#: netbox/extras/conditions.py:162 +#: netbox/extras/conditions.py:387 msgid "Incorrect key(s) informed. Please check documentation." msgstr "" @@ -8580,447 +10158,514 @@ msgstr "" msgid "Unregistered widget class: {name}" msgstr "" -#: netbox/extras/dashboard/widgets.py:152 +#: netbox/extras/dashboard/widgets.py:153 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "" -#: netbox/extras/dashboard/widgets.py:171 +#: netbox/extras/dashboard/widgets.py:172 msgid "Note" msgstr "" -#: netbox/extras/dashboard/widgets.py:172 +#: netbox/extras/dashboard/widgets.py:173 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" -#: netbox/extras/dashboard/widgets.py:185 netbox/templates/core/system.html:35 +#: netbox/extras/dashboard/widgets.py:186 netbox/templates/core/system.html:35 #: netbox/templates/core/system.html:168 msgid "Object Counts" msgstr "" -#: netbox/extras/dashboard/widgets.py:186 +#: netbox/extras/dashboard/widgets.py:187 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." msgstr "" -#: netbox/extras/dashboard/widgets.py:196 +#: netbox/extras/dashboard/widgets.py:197 msgid "Filters to apply when counting the number of objects" msgstr "" -#: netbox/extras/dashboard/widgets.py:204 +#: netbox/extras/dashboard/widgets.py:205 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" -#: netbox/extras/dashboard/widgets.py:238 +#: netbox/extras/dashboard/widgets.py:239 msgid "Object List" msgstr "" -#: netbox/extras/dashboard/widgets.py:239 +#: netbox/extras/dashboard/widgets.py:240 msgid "Display an arbitrary list of objects." msgstr "" -#: netbox/extras/dashboard/widgets.py:252 +#: netbox/extras/dashboard/widgets.py:253 msgid "The default number of objects to display" msgstr "" -#: netbox/extras/dashboard/widgets.py:264 +#: netbox/extras/dashboard/widgets.py:265 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" -#: netbox/extras/dashboard/widgets.py:273 +#: netbox/extras/dashboard/widgets.py:274 msgid "Invalid model selection: {self['model'].data} is not supported." msgstr "" -#: netbox/extras/dashboard/widgets.py:313 +#: netbox/extras/dashboard/widgets.py:314 msgid "RSS Feed" msgstr "" -#: netbox/extras/dashboard/widgets.py:320 +#: netbox/extras/dashboard/widgets.py:321 msgid "Embed an RSS feed from an external website." msgstr "" -#: netbox/extras/dashboard/widgets.py:327 +#: netbox/extras/dashboard/widgets.py:328 msgid "Feed URL" msgstr "" -#: netbox/extras/dashboard/widgets.py:331 +#: netbox/extras/dashboard/widgets.py:332 msgid "Requires external connection" msgstr "" -#: netbox/extras/dashboard/widgets.py:337 +#: netbox/extras/dashboard/widgets.py:338 msgid "The maximum number of objects to display" msgstr "" -#: netbox/extras/dashboard/widgets.py:342 +#: netbox/extras/dashboard/widgets.py:343 msgid "How long to stored the cached content (in seconds)" msgstr "" -#: netbox/extras/dashboard/widgets.py:348 +#: netbox/extras/dashboard/widgets.py:349 msgid "Timeout value for fetching the feed (in seconds)" msgstr "" -#: netbox/extras/dashboard/widgets.py:431 netbox/templates/account/base.html:10 +#: netbox/extras/dashboard/widgets.py:432 netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:41 msgid "Bookmarks" msgstr "" -#: netbox/extras/dashboard/widgets.py:435 +#: netbox/extras/dashboard/widgets.py:436 msgid "Show your personal bookmarks" msgstr "" -#: netbox/extras/events.py:131 +#: netbox/extras/event_rules.py:28 netbox/extras/forms/model_forms.py:581 +#: netbox/extras/ui/panels.py:332 +msgid "Webhook" +msgstr "" + +#: netbox/extras/event_rules.py:29 +msgid "Send an outgoing HTTP request to a remote endpoint" +msgstr "" + +#: netbox/extras/event_rules.py:62 netbox/templates/extras/script/base.html:29 +msgid "Script" +msgstr "" + +#: netbox/extras/event_rules.py:63 +msgid "Execute a custom script" +msgstr "" + +#: netbox/extras/event_rules.py:108 +msgid "Notification" +msgstr "" + +#: netbox/extras/event_rules.py:109 +msgid "Generate a notification for one or more users or groups" +msgstr "" + +#: netbox/extras/events.py:124 #, python-brace-format msgid "Cannot enqueue an event for an unsaved {app_label}.{model} instance." msgstr "" -#: netbox/extras/events.py:201 +#: netbox/extras/events.py:184 +#, python-brace-format +msgid "Ignoring invalid data payload on {event_type} event (got {data_type})" +msgstr "" + +#: netbox/extras/events.py:209 #, python-brace-format msgid "Ignoring invalid action_data on event rule \"{rule}\" (got {data_type})" msgstr "" -#: netbox/extras/events.py:289 +#: netbox/extras/events.py:226 #, python-brace-format -msgid "Unknown action type for an event rule: {action_type}" +msgid "" +"Skipping event rule \"{rule}\": action type \"{action_type}\" is not " +"registered (the providing plugin may not be installed)." msgstr "" -#: netbox/extras/events.py:332 +#: netbox/extras/events.py:245 +#, python-brace-format +msgid "Error processing event rule \"{rule}\" (action: {action_type})" +msgstr "" + +#: netbox/extras/events.py:289 #, python-brace-format msgid "Cannot import events pipeline {name} error: {error}" msgstr "" -#: netbox/extras/filtersets.py:52 +#: netbox/extras/filtersets.py:53 msgid "Script module (ID)" msgstr "" -#: netbox/extras/filtersets.py:206 netbox/extras/forms/filtersets.py:144 +#: netbox/extras/filtersets.py:121 netbox/extras/forms/filtersets.py:384 +msgid "Action available" +msgstr "" + +#: netbox/extras/filtersets.py:217 netbox/extras/forms/filtersets.py:159 msgid "Choice colors" msgstr "" -#: netbox/extras/filtersets.py:300 netbox/extras/filtersets.py:672 -#: netbox/extras/filtersets.py:848 netbox/extras/filtersets.py:879 +#: netbox/extras/filtersets.py:311 netbox/extras/filtersets.py:683 +#: netbox/extras/filtersets.py:859 netbox/extras/filtersets.py:890 msgid "Data file (ID)" msgstr "" -#: netbox/extras/filtersets.py:481 netbox/users/filtersets.py:83 +#: netbox/extras/filtersets.py:492 netbox/users/filtersets.py:83 #: netbox/users/filtersets.py:234 netbox/users/filtersets.py:292 msgid "Group (name)" msgstr "" -#: netbox/extras/filtersets.py:783 +#: netbox/extras/filtersets.py:794 #: netbox/virtualization/forms/filtersets.py:188 msgid "Cluster type" msgstr "" -#: netbox/extras/filtersets.py:789 netbox/virtualization/filtersets.py:73 +#: netbox/extras/filtersets.py:800 netbox/virtualization/filtersets.py:73 #: netbox/virtualization/filtersets.py:188 msgid "Cluster type (slug)" msgstr "" -#: netbox/extras/filtersets.py:810 netbox/tenancy/forms/forms.py:17 +#: netbox/extras/filtersets.py:821 netbox/tenancy/forms/forms.py:17 #: netbox/tenancy/forms/forms.py:41 msgid "Tenant group" msgstr "" -#: netbox/extras/filtersets.py:816 netbox/tenancy/filtersets.py:212 +#: netbox/extras/filtersets.py:827 netbox/tenancy/filtersets.py:212 #: netbox/tenancy/filtersets.py:233 msgid "Tenant group (slug)" msgstr "" -#: netbox/extras/filtersets.py:832 netbox/extras/forms/model_forms.py:677 -#: netbox/extras/ui/panels.py:391 +#: netbox/extras/filtersets.py:843 netbox/extras/forms/model_forms.py:703 +#: netbox/extras/ui/panels.py:406 msgid "Tag" msgstr "" -#: netbox/extras/filtersets.py:838 +#: netbox/extras/filtersets.py:849 msgid "Tag (slug)" msgstr "" -#: netbox/extras/filtersets.py:907 netbox/extras/forms/filtersets.py:560 +#: netbox/extras/filtersets.py:918 netbox/extras/forms/filtersets.py:598 msgid "Has local config context data" msgstr "" -#: netbox/extras/forms/bulk_edit.py:39 netbox/extras/forms/filtersets.py:70 -#: netbox/extras/ui/panels.py:130 +#: netbox/extras/forms/bulk_edit.py:39 netbox/extras/forms/filtersets.py:78 +#: netbox/extras/ui/panels.py:132 msgid "Group name" msgstr "" -#: netbox/extras/forms/bulk_edit.py:47 netbox/extras/forms/filtersets.py:78 +#: netbox/extras/forms/bulk_edit.py:47 netbox/extras/forms/filtersets.py:86 #: netbox/extras/tables/tables.py:83 #: netbox/templates/generic/bulk_import.html:149 msgid "Required" msgstr "" -#: netbox/extras/forms/bulk_edit.py:52 netbox/extras/forms/filtersets.py:85 -#: netbox/extras/ui/panels.py:133 +#: netbox/extras/forms/bulk_edit.py:52 netbox/extras/forms/filtersets.py:93 +#: netbox/extras/ui/panels.py:135 msgid "Must be unique" msgstr "" -#: netbox/extras/forms/bulk_edit.py:65 netbox/extras/forms/bulk_import.py:66 -#: netbox/extras/forms/filtersets.py:99 -#: netbox/extras/models/customfields.py:249 netbox/extras/ui/panels.py:155 +#: netbox/extras/forms/bulk_edit.py:65 netbox/extras/forms/bulk_import.py:67 +#: netbox/extras/forms/filtersets.py:107 netbox/extras/forms/model_forms.py:77 +#: netbox/extras/models/customfields.py:300 netbox/extras/ui/panels.py:157 msgid "UI visible" msgstr "" -#: netbox/extras/forms/bulk_edit.py:70 netbox/extras/forms/bulk_import.py:72 -#: netbox/extras/forms/filtersets.py:104 -#: netbox/extras/models/customfields.py:256 netbox/extras/ui/panels.py:156 +#: netbox/extras/forms/bulk_edit.py:70 netbox/extras/forms/bulk_import.py:73 +#: netbox/extras/forms/filtersets.py:112 netbox/extras/forms/model_forms.py:83 +#: netbox/extras/models/customfields.py:307 netbox/extras/ui/panels.py:158 msgid "UI editable" msgstr "" -#: netbox/extras/forms/bulk_edit.py:75 netbox/extras/forms/filtersets.py:107 +#: netbox/extras/forms/bulk_edit.py:75 netbox/extras/forms/filtersets.py:115 msgid "Is cloneable" msgstr "" -#: netbox/extras/forms/bulk_edit.py:80 netbox/extras/forms/filtersets.py:114 -#: netbox/extras/ui/panels.py:162 +#: netbox/extras/forms/bulk_edit.py:80 netbox/extras/forms/filtersets.py:122 +#: netbox/extras/ui/panels.py:159 +msgid "Nulls first" +msgstr "" + +#: netbox/extras/forms/bulk_edit.py:85 netbox/extras/forms/filtersets.py:129 +#: netbox/extras/ui/panels.py:165 msgid "Minimum value" msgstr "" -#: netbox/extras/forms/bulk_edit.py:84 netbox/extras/forms/filtersets.py:118 -#: netbox/extras/ui/panels.py:163 +#: netbox/extras/forms/bulk_edit.py:89 netbox/extras/forms/filtersets.py:133 +#: netbox/extras/ui/panels.py:166 msgid "Maximum value" msgstr "" -#: netbox/extras/forms/bulk_edit.py:88 netbox/extras/forms/filtersets.py:122 +#: netbox/extras/forms/bulk_edit.py:93 netbox/extras/forms/filtersets.py:137 msgid "Validation regex" msgstr "" -#: netbox/extras/forms/bulk_edit.py:92 netbox/extras/forms/model_forms.py:80 +#: netbox/extras/forms/bulk_edit.py:97 netbox/extras/forms/model_forms.py:111 msgid "Validation schema" msgstr "" -#: netbox/extras/forms/bulk_edit.py:99 netbox/extras/forms/filtersets.py:50 -#: netbox/extras/forms/model_forms.py:92 netbox/extras/ui/panels.py:147 +#: netbox/extras/forms/bulk_edit.py:104 netbox/extras/forms/filtersets.py:53 +#: netbox/extras/forms/model_forms.py:124 netbox/extras/ui/panels.py:149 msgid "Behavior" msgstr "" -#: netbox/extras/forms/bulk_edit.py:139 netbox/extras/forms/filtersets.py:168 +#: netbox/extras/forms/bulk_edit.py:144 netbox/extras/forms/filtersets.py:183 msgid "New window" msgstr "" -#: netbox/extras/forms/bulk_edit.py:148 +#: netbox/extras/forms/bulk_edit.py:153 netbox/extras/forms/model_forms.py:341 msgid "Button class" msgstr "" -#: netbox/extras/forms/bulk_edit.py:165 netbox/extras/forms/bulk_edit.py:389 -#: netbox/extras/forms/filtersets.py:208 netbox/extras/forms/filtersets.py:531 -#: netbox/extras/models/mixins.py:107 netbox/extras/ui/panels.py:238 -#: netbox/extras/ui/panels.py:464 +#: netbox/extras/forms/bulk_edit.py:170 netbox/extras/forms/bulk_edit.py:400 +#: netbox/extras/forms/filtersets.py:223 netbox/extras/forms/filtersets.py:569 +#: netbox/extras/models/mixins.py:110 netbox/extras/ui/panels.py:241 +#: netbox/extras/ui/panels.py:479 msgid "MIME type" msgstr "" -#: netbox/extras/forms/bulk_edit.py:170 netbox/extras/forms/bulk_edit.py:394 -#: netbox/extras/forms/filtersets.py:211 netbox/extras/forms/filtersets.py:534 +#: netbox/extras/forms/bulk_edit.py:175 netbox/extras/forms/bulk_edit.py:405 +#: netbox/extras/forms/filtersets.py:226 netbox/extras/forms/filtersets.py:572 msgid "File name" msgstr "" -#: netbox/extras/forms/bulk_edit.py:174 netbox/extras/forms/bulk_edit.py:398 -#: netbox/extras/forms/filtersets.py:215 netbox/extras/forms/filtersets.py:538 +#: netbox/extras/forms/bulk_edit.py:179 netbox/extras/forms/bulk_edit.py:409 +#: netbox/extras/forms/filtersets.py:230 netbox/extras/forms/filtersets.py:576 msgid "File extension" msgstr "" -#: netbox/extras/forms/bulk_edit.py:179 netbox/extras/forms/bulk_edit.py:403 -#: netbox/extras/forms/filtersets.py:219 netbox/extras/forms/filtersets.py:542 +#: netbox/extras/forms/bulk_edit.py:184 netbox/extras/forms/bulk_edit.py:414 +#: netbox/extras/forms/filtersets.py:234 netbox/extras/forms/filtersets.py:580 msgid "As attachment" msgstr "" -#: netbox/extras/forms/bulk_edit.py:207 netbox/extras/forms/bulk_edit.py:235 -#: netbox/extras/forms/filtersets.py:264 netbox/extras/forms/filtersets.py:295 -#: netbox/extras/tables/tables.py:326 netbox/extras/tables/tables.py:363 +#: netbox/extras/forms/bulk_edit.py:212 netbox/extras/forms/bulk_edit.py:240 +#: netbox/extras/forms/filtersets.py:279 netbox/extras/forms/filtersets.py:310 +#: netbox/extras/tables/tables.py:335 netbox/extras/tables/tables.py:372 msgid "Shared" msgstr "" -#: netbox/extras/forms/bulk_edit.py:258 netbox/extras/forms/filtersets.py:325 -#: netbox/extras/models/models.py:205 netbox/extras/ui/panels.py:338 +#: netbox/extras/forms/bulk_edit.py:263 netbox/extras/forms/filtersets.py:342 +#: netbox/extras/forms/model_forms.py:575 netbox/extras/models/models.py:238 +#: netbox/extras/ui/panels.py:352 msgid "HTTP method" msgstr "" -#: netbox/extras/forms/bulk_edit.py:262 netbox/extras/forms/filtersets.py:319 -#: netbox/extras/ui/panels.py:339 +#: netbox/extras/forms/bulk_edit.py:267 netbox/extras/forms/filtersets.py:336 +#: netbox/extras/ui/panels.py:353 msgid "Payload URL" msgstr "" -#: netbox/extras/forms/bulk_edit.py:267 netbox/extras/models/models.py:247 -#: netbox/extras/ui/panels.py:347 +#: netbox/extras/forms/bulk_edit.py:272 netbox/extras/models/models.py:280 +#: netbox/extras/ui/panels.py:362 msgid "SSL verification" msgstr "" -#: netbox/extras/forms/bulk_edit.py:270 +#: netbox/extras/forms/bulk_edit.py:275 msgid "Secret" msgstr "" -#: netbox/extras/forms/bulk_edit.py:275 netbox/extras/ui/panels.py:348 +#: netbox/extras/forms/bulk_edit.py:280 netbox/extras/ui/panels.py:363 msgid "CA file path" msgstr "" -#: netbox/extras/forms/bulk_edit.py:296 netbox/extras/forms/bulk_import.py:269 -#: netbox/extras/forms/model_forms.py:559 +#: netbox/extras/forms/bulk_edit.py:286 netbox/templates/core/rq_task.html:65 +msgid "Timeout" +msgstr "" + +#: netbox/extras/forms/bulk_edit.py:307 netbox/extras/forms/bulk_import.py:270 +#: netbox/extras/forms/model_forms.py:611 msgid "Event types" msgstr "" -#: netbox/extras/forms/bulk_edit.py:304 netbox/extras/views.py:847 +#: netbox/extras/forms/bulk_edit.py:315 netbox/extras/views.py:847 msgid "Conditions" msgstr "" -#: netbox/extras/forms/bulk_edit.py:306 netbox/extras/forms/model_forms.py:567 +#: netbox/extras/forms/bulk_edit.py:317 netbox/extras/forms/model_forms.py:619 msgid "Enter conditions in JSON format." msgstr "" -#: netbox/extras/forms/bulk_edit.py:362 +#: netbox/extras/forms/bulk_edit.py:373 msgid "Is active" msgstr "" -#: netbox/extras/forms/bulk_edit.py:413 netbox/extras/forms/bulk_import.py:216 -#: netbox/extras/forms/filtersets.py:522 +#: netbox/extras/forms/bulk_edit.py:424 netbox/extras/forms/bulk_import.py:217 +#: netbox/extras/forms/filtersets.py:560 msgid "Auto sync enabled" msgstr "" -#: netbox/extras/forms/bulk_import.py:43 netbox/extras/forms/bulk_import.py:156 -#: netbox/extras/forms/bulk_import.py:177 -#: netbox/extras/forms/bulk_import.py:239 -#: netbox/extras/forms/bulk_import.py:263 -#: netbox/extras/forms/bulk_import.py:313 netbox/extras/forms/filtersets.py:57 -#: netbox/extras/forms/filtersets.py:156 netbox/extras/forms/filtersets.py:252 -#: netbox/extras/forms/filtersets.py:283 netbox/extras/forms/model_forms.py:58 -#: netbox/extras/forms/model_forms.py:306 -#: netbox/extras/forms/model_forms.py:338 -#: netbox/extras/forms/model_forms.py:381 -#: netbox/extras/forms/model_forms.py:554 -#: netbox/extras/forms/model_forms.py:671 netbox/users/forms/model_forms.py:336 +#: netbox/extras/forms/bulk_import.py:44 netbox/extras/forms/bulk_import.py:157 +#: netbox/extras/forms/bulk_import.py:178 +#: netbox/extras/forms/bulk_import.py:240 +#: netbox/extras/forms/bulk_import.py:264 +#: netbox/extras/forms/bulk_import.py:351 netbox/extras/forms/filtersets.py:60 +#: netbox/extras/forms/filtersets.py:171 netbox/extras/forms/filtersets.py:267 +#: netbox/extras/forms/filtersets.py:298 netbox/extras/forms/model_forms.py:89 +#: netbox/extras/forms/model_forms.py:347 +#: netbox/extras/forms/model_forms.py:379 +#: netbox/extras/forms/model_forms.py:422 +#: netbox/extras/forms/model_forms.py:606 +#: netbox/extras/forms/model_forms.py:697 netbox/users/forms/model_forms.py:337 msgid "Object types" msgstr "" -#: netbox/extras/forms/bulk_import.py:45 netbox/extras/forms/bulk_import.py:158 -#: netbox/extras/forms/bulk_import.py:179 -#: netbox/extras/forms/bulk_import.py:241 -#: netbox/extras/forms/bulk_import.py:265 -#: netbox/extras/forms/bulk_import.py:315 +#: netbox/extras/forms/bulk_import.py:46 netbox/extras/forms/bulk_import.py:159 +#: netbox/extras/forms/bulk_import.py:180 +#: netbox/extras/forms/bulk_import.py:242 +#: netbox/extras/forms/bulk_import.py:266 +#: netbox/extras/forms/bulk_import.py:353 #: netbox/tenancy/forms/bulk_import.py:106 msgid "One or more assigned object types" msgstr "" -#: netbox/extras/forms/bulk_import.py:50 +#: netbox/extras/forms/bulk_import.py:51 msgid "Field data type (e.g. text, integer, etc.)" msgstr "" -#: netbox/extras/forms/bulk_import.py:56 +#: netbox/extras/forms/bulk_import.py:57 msgid "Object type (for object or multi-object fields)" msgstr "" -#: netbox/extras/forms/bulk_import.py:59 netbox/extras/forms/filtersets.py:94 +#: netbox/extras/forms/bulk_import.py:60 netbox/extras/forms/filtersets.py:102 msgid "Choice set" msgstr "" -#: netbox/extras/forms/bulk_import.py:63 +#: netbox/extras/forms/bulk_import.py:64 msgid "Choice set (for selection fields)" msgstr "" -#: netbox/extras/forms/bulk_import.py:69 +#: netbox/extras/forms/bulk_import.py:70 msgid "Whether the custom field is displayed in the UI" msgstr "" -#: netbox/extras/forms/bulk_import.py:75 +#: netbox/extras/forms/bulk_import.py:76 msgid "Whether the custom field is editable in the UI" msgstr "" -#: netbox/extras/forms/bulk_import.py:92 +#: netbox/extras/forms/bulk_import.py:93 msgid "The base set of predefined choices to use (if any)" msgstr "" -#: netbox/extras/forms/bulk_import.py:98 +#: netbox/extras/forms/bulk_import.py:99 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:106 +#: netbox/extras/forms/bulk_import.py:107 #, python-brace-format msgid "" "Quoted string of comma-separated color mappings in the format \"choice1:red," "choice2:green\". Supported colors: {colors}" msgstr "" -#: netbox/extras/forms/bulk_import.py:140 -#: netbox/extras/forms/model_forms.py:291 +#: netbox/extras/forms/bulk_import.py:141 +#: netbox/extras/forms/model_forms.py:326 #, python-brace-format msgid "Invalid color mapping '{line}'. Use the format value:color." msgstr "" -#: netbox/extras/forms/bulk_import.py:147 -#: netbox/extras/forms/model_forms.py:298 +#: netbox/extras/forms/bulk_import.py:148 +#: netbox/extras/forms/model_forms.py:333 #, python-brace-format msgid "Duplicate color mapping defined for choice '{value}'." msgstr "" -#: netbox/extras/forms/bulk_import.py:161 netbox/extras/models/models.py:388 +#: netbox/extras/forms/bulk_import.py:162 netbox/extras/models/models.py:448 msgid "button class" msgstr "" -#: netbox/extras/forms/bulk_import.py:164 netbox/extras/models/models.py:392 +#: netbox/extras/forms/bulk_import.py:165 +#: netbox/extras/forms/model_forms.py:344 netbox/extras/models/models.py:452 msgid "" "The class of the first link in a group will be used for the dropdown button" msgstr "" -#: netbox/extras/forms/bulk_import.py:205 +#: netbox/extras/forms/bulk_import.py:206 msgid "Data source which provides the data file" msgstr "" -#: netbox/extras/forms/bulk_import.py:208 netbox/extras/forms/filtersets.py:196 -#: netbox/extras/forms/filtersets.py:396 netbox/extras/forms/filtersets.py:428 -#: netbox/extras/forms/filtersets.py:516 netbox/netbox/choices.py:132 +#: netbox/extras/forms/bulk_import.py:209 netbox/extras/forms/filtersets.py:211 +#: netbox/extras/forms/filtersets.py:434 netbox/extras/forms/filtersets.py:466 +#: netbox/extras/forms/filtersets.py:554 netbox/netbox/choices.py:134 #: netbox/utilities/forms/bulk_import.py:28 msgid "Data file" msgstr "" -#: netbox/extras/forms/bulk_import.py:212 +#: netbox/extras/forms/bulk_import.py:213 msgid "Data file containing the template code" msgstr "" -#: netbox/extras/forms/bulk_import.py:217 +#: netbox/extras/forms/bulk_import.py:218 msgid "" "Enable automatic synchronization of template content when the data file is " "updated" msgstr "" -#: netbox/extras/forms/bulk_import.py:233 -#: netbox/extras/forms/model_forms.py:373 -#: netbox/extras/forms/model_forms.py:871 +#: netbox/extras/forms/bulk_import.py:234 +#: netbox/extras/forms/model_forms.py:414 +#: netbox/extras/forms/model_forms.py:897 msgid "Must specify either local content or a data file" msgstr "" -#: netbox/extras/forms/bulk_import.py:270 +#: netbox/extras/forms/bulk_import.py:271 msgid "The event type(s) which will trigger this rule" msgstr "" -#: netbox/extras/forms/bulk_import.py:273 +#: netbox/extras/forms/bulk_import.py:274 msgid "Action object" msgstr "" -#: netbox/extras/forms/bulk_import.py:275 -msgid "Webhook name or script as dotted path module.Class" +#: netbox/extras/forms/bulk_import.py:277 +msgid "" +"The target object for the action, if it requires one. The expected format " +"depends on the action type (e.g. a webhook or notification group name, or a " +"script as dotted path module.Class)." msgstr "" -#: netbox/extras/forms/bulk_import.py:296 +#: netbox/extras/forms/bulk_import.py:300 #, python-brace-format -msgid "Webhook {name} not found" +msgid "\"{action_type}\" is not a registered action type." msgstr "" -#: netbox/extras/forms/bulk_import.py:305 +#: netbox/extras/forms/bulk_import.py:306 +msgid "This action type requires a target object." +msgstr "" + +#: netbox/extras/forms/bulk_import.py:316 +msgid "This action type does not operate against a target object." +msgstr "" + +#: netbox/extras/forms/bulk_import.py:323 #, python-brace-format -msgid "Script {name} not found" +msgid "{name} not found" msgstr "" -#: netbox/extras/forms/bulk_import.py:329 +#: netbox/extras/forms/bulk_import.py:327 +msgid "This action type does not support bulk import." +msgstr "" + +#: netbox/extras/forms/bulk_import.py:367 msgid "Assigned object type" msgstr "" -#: netbox/extras/forms/bulk_import.py:334 +#: netbox/extras/forms/bulk_import.py:372 msgid "The classification of entry" msgstr "" -#: netbox/extras/forms/bulk_import.py:337 netbox/extras/tables/tables.py:768 +#: netbox/extras/forms/bulk_import.py:375 netbox/extras/tables/tables.py:793 #: netbox/netbox/tables/tables.py:409 netbox/netbox/tables/tables.py:424 #: netbox/netbox/tables/tables.py:447 netbox/netbox/ui/panels.py:243 #: netbox/templates/dcim/htmx/cable_edit.html:110 @@ -9030,300 +10675,337 @@ msgstr "" msgid "Comments" msgstr "" -#: netbox/extras/forms/bulk_import.py:356 -#: netbox/extras/forms/model_forms.py:502 netbox/extras/ui/panels.py:321 -#: netbox/netbox/navigation/menu.py:423 netbox/users/forms/filtersets.py:181 -#: netbox/users/forms/model_forms.py:275 netbox/users/forms/model_forms.py:287 -#: netbox/users/forms/model_forms.py:362 netbox/users/forms/model_forms.py:558 -#: netbox/users/forms/model_forms.py:573 netbox/users/tables.py:136 +#: netbox/extras/forms/bulk_import.py:394 +#: netbox/extras/forms/model_forms.py:543 netbox/extras/ui/panels.py:324 +#: netbox/netbox/navigation/menu.py:440 netbox/users/forms/filtersets.py:181 +#: netbox/users/forms/model_forms.py:276 netbox/users/forms/model_forms.py:288 +#: netbox/users/forms/model_forms.py:363 netbox/users/forms/model_forms.py:559 +#: netbox/users/forms/model_forms.py:574 netbox/users/tables.py:136 #: netbox/users/tables.py:194 msgid "Users" msgstr "" -#: netbox/extras/forms/bulk_import.py:360 +#: netbox/extras/forms/bulk_import.py:398 msgid "User names separated by commas, encased with double quotes" msgstr "" -#: netbox/extras/forms/bulk_import.py:363 -#: netbox/extras/forms/model_forms.py:497 netbox/extras/ui/panels.py:316 -#: netbox/netbox/navigation/menu.py:306 netbox/netbox/navigation/menu.py:424 +#: netbox/extras/forms/bulk_import.py:401 +#: netbox/extras/forms/model_forms.py:538 netbox/extras/ui/panels.py:319 +#: netbox/netbox/navigation/menu.py:309 netbox/netbox/navigation/menu.py:441 #: netbox/tenancy/forms/bulk_edit.py:121 netbox/tenancy/forms/filtersets.py:107 -#: netbox/tenancy/forms/model_forms.py:93 netbox/tenancy/tables/contacts.py:57 +#: netbox/tenancy/forms/model_forms.py:100 netbox/tenancy/tables/contacts.py:57 #: netbox/tenancy/tables/contacts.py:101 netbox/tenancy/ui/panels.py:12 -#: netbox/users/forms/filtersets.py:176 netbox/users/forms/model_forms.py:220 -#: netbox/users/forms/model_forms.py:232 netbox/users/forms/model_forms.py:367 -#: netbox/users/forms/model_forms.py:557 netbox/users/tables.py:68 +#: netbox/users/forms/filtersets.py:176 netbox/users/forms/model_forms.py:221 +#: netbox/users/forms/model_forms.py:233 netbox/users/forms/model_forms.py:368 +#: netbox/users/forms/model_forms.py:558 netbox/users/tables.py:68 #: netbox/users/tables.py:140 netbox/users/tables.py:190 msgid "Groups" msgstr "" -#: netbox/extras/forms/bulk_import.py:367 +#: netbox/extras/forms/bulk_import.py:405 msgid "Group names separated by commas, encased with double quotes" msgstr "" -#: netbox/extras/forms/filtersets.py:49 +#: netbox/extras/forms/filtersets.py:52 msgid "Type Options" msgstr "" -#: netbox/extras/forms/filtersets.py:62 netbox/extras/forms/model_forms.py:67 +#: netbox/extras/forms/filtersets.py:65 netbox/extras/forms/model_forms.py:98 msgid "Related object type" msgstr "" -#: netbox/extras/forms/filtersets.py:67 +#: netbox/extras/forms/filtersets.py:70 msgid "Field type" msgstr "" -#: netbox/extras/forms/filtersets.py:131 netbox/extras/forms/model_forms.py:183 -#: netbox/extras/tables/tables.py:109 +#: netbox/extras/forms/filtersets.py:146 netbox/extras/forms/model_forms.py:212 +#: netbox/extras/tables/tables.py:112 #: netbox/templates/generic/bulk_import.html:185 msgid "Choices" msgstr "" -#: netbox/extras/forms/filtersets.py:185 netbox/extras/forms/filtersets.py:505 -#: netbox/extras/forms/model_forms.py:351 -#: netbox/extras/forms/model_forms.py:846 +#: netbox/extras/forms/filtersets.py:200 netbox/extras/forms/filtersets.py:543 +#: netbox/extras/forms/model_forms.py:392 +#: netbox/extras/forms/model_forms.py:872 msgid "Rendering" msgstr "" -#: netbox/extras/forms/filtersets.py:204 +#: netbox/extras/forms/filtersets.py:219 msgid "Content types" msgstr "" -#: netbox/extras/forms/filtersets.py:315 netbox/extras/models/models.py:210 -#: netbox/extras/ui/panels.py:340 +#: netbox/extras/forms/filtersets.py:332 netbox/extras/models/models.py:243 +#: netbox/extras/ui/panels.py:354 msgid "HTTP content type" msgstr "" -#: netbox/extras/forms/filtersets.py:345 +#: netbox/extras/forms/filtersets.py:347 +msgid "Minimum timeout (seconds)" +msgstr "" + +#: netbox/extras/forms/filtersets.py:352 +msgid "Maximum timeout (seconds)" +msgstr "" + +#: netbox/extras/forms/filtersets.py:374 msgid "Event type" msgstr "" -#: netbox/extras/forms/filtersets.py:350 +#: netbox/extras/forms/filtersets.py:381 netbox/extras/forms/model_forms.py:600 msgid "Action type" msgstr "" -#: netbox/extras/forms/filtersets.py:372 +#: netbox/extras/forms/filtersets.py:410 msgid "Tagged object type" msgstr "" -#: netbox/extras/forms/filtersets.py:377 +#: netbox/extras/forms/filtersets.py:415 msgid "Allowed object type" msgstr "" -#: netbox/extras/forms/filtersets.py:436 netbox/extras/forms/model_forms.py:719 +#: netbox/extras/forms/filtersets.py:474 netbox/extras/forms/model_forms.py:745 #: netbox/netbox/navigation/menu.py:20 msgid "Regions" msgstr "" -#: netbox/extras/forms/filtersets.py:441 netbox/extras/forms/model_forms.py:724 +#: netbox/extras/forms/filtersets.py:479 netbox/extras/forms/model_forms.py:750 msgid "Site groups" msgstr "" -#: netbox/extras/forms/filtersets.py:451 netbox/extras/forms/model_forms.py:734 +#: netbox/extras/forms/filtersets.py:489 netbox/extras/forms/model_forms.py:760 #: netbox/netbox/navigation/menu.py:23 msgid "Locations" msgstr "" -#: netbox/extras/forms/filtersets.py:456 netbox/extras/forms/model_forms.py:739 +#: netbox/extras/forms/filtersets.py:494 netbox/extras/forms/model_forms.py:765 msgid "Device types" msgstr "" -#: netbox/extras/forms/filtersets.py:461 netbox/extras/forms/model_forms.py:744 +#: netbox/extras/forms/filtersets.py:499 netbox/extras/forms/model_forms.py:770 msgid "Roles" msgstr "" -#: netbox/extras/forms/filtersets.py:471 netbox/extras/forms/model_forms.py:754 +#: netbox/extras/forms/filtersets.py:509 netbox/extras/forms/model_forms.py:780 msgid "Cluster types" msgstr "" -#: netbox/extras/forms/filtersets.py:476 netbox/extras/forms/model_forms.py:759 +#: netbox/extras/forms/filtersets.py:514 netbox/extras/forms/model_forms.py:785 msgid "Cluster groups" msgstr "" -#: netbox/extras/forms/filtersets.py:481 netbox/extras/forms/model_forms.py:764 -#: netbox/netbox/navigation/menu.py:275 netbox/netbox/navigation/menu.py:277 +#: netbox/extras/forms/filtersets.py:519 netbox/extras/forms/model_forms.py:790 +#: netbox/netbox/navigation/menu.py:278 netbox/netbox/navigation/menu.py:280 #: netbox/virtualization/tables/clusters.py:23 #: netbox/virtualization/tables/clusters.py:46 msgid "Clusters" msgstr "" -#: netbox/extras/forms/filtersets.py:486 netbox/extras/forms/model_forms.py:769 +#: netbox/extras/forms/filtersets.py:524 netbox/extras/forms/model_forms.py:795 msgid "Tenant groups" msgstr "" -#: netbox/extras/forms/model_forms.py:60 -msgid "The type(s) of object that have this custom field" +#: netbox/extras/forms/filtersets.py:609 +msgid "Creation" msgstr "" -#: netbox/extras/forms/model_forms.py:63 netbox/extras/ui/panels.py:139 -msgid "Default value" -msgstr "" - -#: netbox/extras/forms/model_forms.py:69 -msgid "Type of the related object (for object/multi-object fields only)" -msgstr "" - -#: netbox/extras/forms/model_forms.py:72 -msgid "Related object filter" -msgstr "" - -#: netbox/extras/forms/model_forms.py:74 -msgid "Specify query parameters as a JSON object." -msgstr "" - -#: netbox/extras/forms/model_forms.py:82 -#: netbox/extras/models/customfields.py:235 -msgid "A JSON schema definition for validating the custom field value" -msgstr "" - -#: netbox/extras/forms/model_forms.py:89 netbox/extras/ui/panels.py:125 -msgid "Custom Field" -msgstr "" - -#: netbox/extras/forms/model_forms.py:101 +#: netbox/extras/forms/model_forms.py:66 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:104 +#: netbox/extras/forms/model_forms.py:71 +msgid "Filter logic" +msgstr "" + +#: netbox/extras/forms/model_forms.py:74 +#: netbox/extras/models/customfields.py:232 +msgid "" +"Loose matches any instance of a given string; exact matches the entire field." +msgstr "" + +#: netbox/extras/forms/model_forms.py:80 +#: netbox/extras/models/customfields.py:301 +msgid "Specifies whether the custom field is displayed in the UI" +msgstr "" + +#: netbox/extras/forms/model_forms.py:86 +#: netbox/extras/models/customfields.py:308 +msgid "Specifies whether the custom field value can be edited in the UI" +msgstr "" + +#: netbox/extras/forms/model_forms.py:91 +msgid "The type(s) of object that have this custom field" +msgstr "" + +#: netbox/extras/forms/model_forms.py:94 netbox/extras/ui/panels.py:141 +msgid "Default value" +msgstr "" + +#: netbox/extras/forms/model_forms.py:100 +msgid "Type of the related object (for object/multi-object fields only)" +msgstr "" + +#: netbox/extras/forms/model_forms.py:103 +msgid "Related object filter" +msgstr "" + +#: netbox/extras/forms/model_forms.py:105 +msgid "Specify query parameters as a JSON object." +msgstr "" + +#: netbox/extras/forms/model_forms.py:113 +#: netbox/extras/models/customfields.py:286 +msgid "A JSON schema definition for validating the custom field value" +msgstr "" + +#: netbox/extras/forms/model_forms.py:120 netbox/extras/ui/panels.py:126 +msgid "Custom Field" +msgstr "" + +#: netbox/extras/forms/model_forms.py:132 msgid "" "This will be displayed as help text for the form field. Markdown is " "supported." msgstr "" -#: netbox/extras/forms/model_forms.py:169 +#: netbox/extras/forms/model_forms.py:198 msgid "Related Object" msgstr "" -#: netbox/extras/forms/model_forms.py:196 +#: netbox/extras/forms/model_forms.py:221 +msgid "Base choices" +msgstr "" + +#: netbox/extras/forms/model_forms.py:224 +#: netbox/extras/models/customfields.py:1265 +msgid "Base set of predefined choices (optional)" +msgstr "" + +#: netbox/extras/forms/model_forms.py:231 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:205 +#: netbox/extras/forms/model_forms.py:240 msgid "" "Bind an optional color to a choice by its value. Enter one mapping per line " "as value:color. Example:" msgstr "" -#: netbox/extras/forms/model_forms.py:209 +#: netbox/extras/forms/model_forms.py:244 #, python-brace-format msgid "Supported colors: {colors}" msgstr "" -#: netbox/extras/forms/model_forms.py:218 netbox/extras/ui/panels.py:192 +#: netbox/extras/forms/model_forms.py:253 netbox/extras/ui/panels.py:195 msgid "Custom Field Choice Set" msgstr "" -#: netbox/extras/forms/model_forms.py:313 netbox/extras/ui/panels.py:219 +#: netbox/extras/forms/model_forms.py:354 netbox/extras/ui/panels.py:222 msgid "Custom Link" msgstr "" -#: netbox/extras/forms/model_forms.py:315 +#: netbox/extras/forms/model_forms.py:356 msgid "Templates" msgstr "" -#: netbox/extras/forms/model_forms.py:327 +#: netbox/extras/forms/model_forms.py:368 #, 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:331 +#: netbox/extras/forms/model_forms.py:372 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." msgstr "" -#: netbox/extras/forms/model_forms.py:342 -#: netbox/extras/forms/model_forms.py:836 +#: netbox/extras/forms/model_forms.py:383 +#: netbox/extras/forms/model_forms.py:862 msgid "Template code" msgstr "" -#: netbox/extras/forms/model_forms.py:348 netbox/extras/ui/panels.py:234 +#: netbox/extras/forms/model_forms.py:389 netbox/extras/ui/panels.py:237 msgid "Export Template" msgstr "" -#: netbox/extras/forms/model_forms.py:366 -#: netbox/extras/forms/model_forms.py:864 +#: netbox/extras/forms/model_forms.py:407 +#: netbox/extras/forms/model_forms.py:890 msgid "Template content is populated from the remote source selected below." msgstr "" -#: netbox/extras/forms/model_forms.py:387 netbox/extras/ui/panels.py:249 +#: netbox/extras/forms/model_forms.py:428 netbox/extras/ui/panels.py:252 #: netbox/netbox/forms/mixins.py:103 msgid "Saved Filter" msgstr "" -#: netbox/extras/forms/model_forms.py:413 netbox/extras/ui/panels.py:294 +#: netbox/extras/forms/model_forms.py:454 netbox/extras/ui/panels.py:297 #: netbox/templates/account/preferences.html:50 msgid "Ordering" msgstr "" -#: netbox/extras/forms/model_forms.py:415 +#: netbox/extras/forms/model_forms.py:456 msgid "" "Enter a comma-separated list of column names. Prepend a name with a hyphen " "to reverse the order." msgstr "" -#: netbox/extras/forms/model_forms.py:424 netbox/utilities/forms/forms.py:164 +#: netbox/extras/forms/model_forms.py:465 netbox/utilities/forms/forms.py:164 msgid "Available Columns" msgstr "" -#: netbox/extras/forms/model_forms.py:431 netbox/utilities/forms/forms.py:172 +#: netbox/extras/forms/model_forms.py:472 netbox/utilities/forms/forms.py:172 msgid "Selected Columns" msgstr "" -#: netbox/extras/forms/model_forms.py:516 +#: netbox/extras/forms/model_forms.py:557 msgid "A notification group specify at least one user or group." msgstr "" -#: netbox/extras/forms/model_forms.py:538 netbox/extras/ui/panels.py:336 +#: netbox/extras/forms/model_forms.py:584 netbox/extras/ui/panels.py:350 msgid "HTTP Request" msgstr "" -#: netbox/extras/forms/model_forms.py:540 netbox/extras/ui/panels.py:345 +#: netbox/extras/forms/model_forms.py:586 netbox/extras/ui/panels.py:360 msgid "SSL" msgstr "" -#: netbox/extras/forms/model_forms.py:562 +#: netbox/extras/forms/model_forms.py:614 msgid "Action choice" msgstr "" -#: netbox/extras/forms/model_forms.py:571 +#: netbox/extras/forms/model_forms.py:623 msgid "" "Enter parameters to pass to the action in JSON format." msgstr "" -#: netbox/extras/forms/model_forms.py:576 netbox/extras/ui/panels.py:356 +#: netbox/extras/forms/model_forms.py:628 netbox/extras/ui/panels.py:371 msgid "Event Rule" msgstr "" -#: netbox/extras/forms/model_forms.py:577 +#: netbox/extras/forms/model_forms.py:629 msgid "Triggers" msgstr "" -#: netbox/extras/forms/model_forms.py:624 -msgid "Notification group" -msgstr "" - -#: netbox/extras/forms/model_forms.py:700 netbox/extras/ui/panels.py:424 +#: netbox/extras/forms/model_forms.py:726 netbox/extras/ui/panels.py:439 msgid "Config Context Profile" msgstr "" -#: netbox/extras/forms/model_forms.py:774 netbox/netbox/navigation/menu.py:29 +#: netbox/extras/forms/model_forms.py:800 netbox/netbox/navigation/menu.py:29 #: netbox/tenancy/tables/tenants.py:18 msgid "Tenants" msgstr "" -#: netbox/extras/forms/model_forms.py:818 +#: netbox/extras/forms/model_forms.py:844 msgid "Data is populated from the remote source selected below." msgstr "" -#: netbox/extras/forms/model_forms.py:824 +#: netbox/extras/forms/model_forms.py:850 msgid "Must specify either local data or a data file" msgstr "" @@ -9374,19 +11056,19 @@ msgstr "" msgid "When to notify the user of job completion" msgstr "" -#: netbox/extras/jobs.py:89 +#: netbox/extras/jobs.py:332 msgid "Database changes have been reverted automatically." msgstr "" -#: netbox/extras/jobs.py:95 +#: netbox/extras/jobs.py:338 msgid "Script aborted with error: " msgstr "" -#: netbox/extras/jobs.py:106 +#: netbox/extras/jobs.py:349 msgid "An exception occurred: " msgstr "" -#: netbox/extras/jobs.py:112 +#: netbox/extras/jobs.py:355 msgid "Database changes have been reverted due to error." msgstr "" @@ -9394,197 +11076,197 @@ msgstr "" msgid "No indexers found!" msgstr "" -#: netbox/extras/models/configs.py:54 +#: netbox/extras/models/configs.py:56 msgid "" "A JSON schema specifying the structure of the context data for this profile" msgstr "" -#: netbox/extras/models/configs.py:61 +#: netbox/extras/models/configs.py:63 msgid "config context profile" msgstr "" -#: netbox/extras/models/configs.py:62 +#: netbox/extras/models/configs.py:64 msgid "config context profiles" msgstr "" -#: netbox/extras/models/configs.py:94 netbox/extras/models/models.py:378 -#: netbox/extras/models/models.py:550 netbox/extras/models/models.py:634 +#: netbox/extras/models/configs.py:96 netbox/extras/models/models.py:438 +#: netbox/extras/models/models.py:610 netbox/extras/models/models.py:694 #: netbox/extras/models/search.py:49 netbox/extras/models/tags.py:45 -#: netbox/ipam/models/ip.py:200 netbox/netbox/models/mixins.py:32 +#: netbox/ipam/models/ip.py:200 netbox/netbox/models/mixins.py:33 +#: netbox/utilities/conversion.py:57 msgid "weight" msgstr "" -#: netbox/extras/models/configs.py:185 +#: netbox/extras/models/configs.py:187 msgid "config context" msgstr "" -#: netbox/extras/models/configs.py:186 +#: netbox/extras/models/configs.py:188 msgid "config contexts" msgstr "" -#: netbox/extras/models/configs.py:204 netbox/extras/models/configs.py:267 +#: netbox/extras/models/configs.py:206 netbox/extras/models/configs.py:410 msgid "JSON data must be in object form. Example:" msgstr "" -#: netbox/extras/models/configs.py:212 +#: netbox/extras/models/configs.py:214 #, python-brace-format msgid "Data does not conform to profile schema: {error}" msgstr "" -#: netbox/extras/models/configs.py:231 +#: netbox/extras/models/configs.py:358 msgid "" "Local config context data takes precedence over source contexts in the final " "rendered config context" msgstr "" -#: netbox/extras/models/configs.py:294 +#: netbox/extras/models/configs.py:446 msgid "debug" msgstr "" -#: netbox/extras/models/configs.py:297 +#: netbox/extras/models/configs.py:449 msgid "" "Enable verbose error output when rendering this template. Not recommended " "for production use." msgstr "" -#: netbox/extras/models/configs.py:306 +#: netbox/extras/models/configs.py:458 msgid "config template" msgstr "" -#: netbox/extras/models/configs.py:307 +#: netbox/extras/models/configs.py:459 msgid "config templates" msgstr "" -#: netbox/extras/models/configs.py:359 +#: netbox/extras/models/configs.py:511 #, python-brace-format msgid "Template: {name}" msgstr "" -#: netbox/extras/models/configs.py:361 +#: netbox/extras/models/configs.py:513 #, python-brace-format msgid "Line: {lineno}" msgstr "" -#: netbox/extras/models/customfields.py:104 +#: netbox/extras/models/customfields.py:147 msgid "The object(s) to which this field applies." msgstr "" -#: netbox/extras/models/customfields.py:111 +#: netbox/extras/models/customfields.py:154 msgid "The type of data this custom field holds" msgstr "" -#: netbox/extras/models/customfields.py:118 +#: netbox/extras/models/customfields.py:161 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" -#: netbox/extras/models/customfields.py:124 +#: netbox/extras/models/customfields.py:167 msgid "Internal field name" msgstr "" -#: netbox/extras/models/customfields.py:128 +#: netbox/extras/models/customfields.py:171 msgid "Only alphanumeric characters and underscores are allowed." msgstr "" -#: netbox/extras/models/customfields.py:133 +#: netbox/extras/models/customfields.py:176 msgid "Double underscores are not permitted in custom field names." msgstr "" -#: netbox/extras/models/customfields.py:144 +#: netbox/extras/models/customfields.py:187 +msgid "Operational state of the field" +msgstr "" + +#: netbox/extras/models/customfields.py:195 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:148 netbox/extras/models/models.py:382 +#: netbox/extras/models/customfields.py:199 netbox/extras/models/models.py:442 msgid "group name" msgstr "" -#: netbox/extras/models/customfields.py:151 +#: netbox/extras/models/customfields.py:202 msgid "Custom fields within the same group will be displayed together" msgstr "" -#: netbox/extras/models/customfields.py:159 +#: netbox/extras/models/customfields.py:210 msgid "required" msgstr "" -#: netbox/extras/models/customfields.py:161 +#: netbox/extras/models/customfields.py:212 msgid "" "This field is required when creating new objects or editing an existing " "object." msgstr "" -#: netbox/extras/models/customfields.py:164 +#: netbox/extras/models/customfields.py:215 msgid "must be unique" msgstr "" -#: netbox/extras/models/customfields.py:166 +#: netbox/extras/models/customfields.py:217 msgid "The value of this field must be unique for the assigned object" msgstr "" -#: netbox/extras/models/customfields.py:169 +#: netbox/extras/models/customfields.py:220 msgid "search weight" msgstr "" -#: netbox/extras/models/customfields.py:172 +#: netbox/extras/models/customfields.py:223 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:177 +#: netbox/extras/models/customfields.py:228 msgid "filter logic" msgstr "" -#: netbox/extras/models/customfields.py:181 -msgid "" -"Loose matches any instance of a given string; exact matches the entire field." -msgstr "" - -#: netbox/extras/models/customfields.py:184 +#: netbox/extras/models/customfields.py:235 msgid "default" msgstr "" -#: netbox/extras/models/customfields.py:188 +#: netbox/extras/models/customfields.py:239 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:195 +#: netbox/extras/models/customfields.py:246 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:201 +#: netbox/extras/models/customfields.py:252 msgid "display weight" msgstr "" -#: netbox/extras/models/customfields.py:202 +#: netbox/extras/models/customfields.py:253 msgid "Fields with higher weights appear lower in a form." msgstr "" -#: netbox/extras/models/customfields.py:209 +#: netbox/extras/models/customfields.py:260 msgid "minimum value" msgstr "" -#: netbox/extras/models/customfields.py:210 +#: netbox/extras/models/customfields.py:261 msgid "Minimum allowed value (for numeric fields)" msgstr "" -#: netbox/extras/models/customfields.py:217 +#: netbox/extras/models/customfields.py:268 msgid "maximum value" msgstr "" -#: netbox/extras/models/customfields.py:218 +#: netbox/extras/models/customfields.py:269 msgid "Maximum allowed value (for numeric fields)" msgstr "" -#: netbox/extras/models/customfields.py:224 +#: netbox/extras/models/customfields.py:275 msgid "validation regex" msgstr "" -#: netbox/extras/models/customfields.py:226 +#: netbox/extras/models/customfields.py:277 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -9592,221 +11274,255 @@ msgid "" "values to exactly three uppercase letters." msgstr "" -#: netbox/extras/models/customfields.py:234 +#: netbox/extras/models/customfields.py:285 msgid "validation schema" msgstr "" -#: netbox/extras/models/customfields.py:241 +#: netbox/extras/models/customfields.py:292 msgid "choice set" msgstr "" -#: netbox/extras/models/customfields.py:250 -msgid "Specifies whether the custom field is displayed in the UI" -msgstr "" - -#: netbox/extras/models/customfields.py:257 -msgid "Specifies whether the custom field value can be edited in the UI" -msgstr "" - -#: netbox/extras/models/customfields.py:261 +#: netbox/extras/models/customfields.py:312 msgid "is cloneable" msgstr "" -#: netbox/extras/models/customfields.py:262 +#: netbox/extras/models/customfields.py:313 msgid "Replicate this value when cloning objects" msgstr "" -#: netbox/extras/models/customfields.py:282 +#: netbox/extras/models/customfields.py:317 +msgid "nulls first" +msgstr "" + +#: netbox/extras/models/customfields.py:318 +msgid "Sort null values before non-null values when ordering by this field" +msgstr "" + +#: netbox/extras/models/customfields.py:339 msgid "custom field" msgstr "" -#: netbox/extras/models/customfields.py:283 +#: netbox/extras/models/customfields.py:340 msgid "custom fields" msgstr "" -#: netbox/extras/models/customfields.py:440 +#: netbox/extras/models/customfields.py:513 +#: netbox/extras/models/customfields.py:575 +#, python-brace-format +msgid "Custom field '{name}' no longer exists." +msgstr "" + +#: netbox/extras/models/customfields.py:518 +#, python-brace-format +msgid "" +"Custom field '{name}' cannot be assigned to additional object types while " +"its stored data is being updated (status: {status})." +msgstr "" + +#: netbox/extras/models/customfields.py:580 +#, python-brace-format +msgid "" +"Custom field '{name}' cannot be unassigned from object types while its " +"stored data is being updated (status: {status})." +msgstr "" + +#: netbox/extras/models/customfields.py:685 +#, python-brace-format +msgid "" +"Custom field '{name}' is being updated by a background job and cannot be " +"deleted until that job has completed." +msgstr "" + +#: netbox/extras/models/customfields.py:740 +#, python-brace-format +msgid "" +"Custom field '{name}' cannot be modified while its stored data is being " +"updated (status: {status})." +msgstr "" + +#: netbox/extras/models/customfields.py:755 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "" -#: netbox/extras/models/customfields.py:447 +#: netbox/extras/models/customfields.py:762 msgid "A minimum value may be set only for numeric fields" msgstr "" -#: netbox/extras/models/customfields.py:449 +#: netbox/extras/models/customfields.py:764 msgid "A maximum value may be set only for numeric fields" msgstr "" -#: netbox/extras/models/customfields.py:459 +#: netbox/extras/models/customfields.py:774 msgid "Regular expression validation is supported only for text and URL fields" msgstr "" -#: netbox/extras/models/customfields.py:465 +#: netbox/extras/models/customfields.py:780 msgid "JSON schema validation is supported only for JSON fields" msgstr "" -#: netbox/extras/models/customfields.py:471 +#: netbox/extras/models/customfields.py:786 msgid "Uniqueness cannot be enforced for boolean fields" msgstr "" -#: netbox/extras/models/customfields.py:481 +#: netbox/extras/models/customfields.py:796 msgid "Selection fields must specify a set of choices." msgstr "" -#: netbox/extras/models/customfields.py:485 +#: netbox/extras/models/customfields.py:800 msgid "Choices may be set only on selection fields." msgstr "" -#: netbox/extras/models/customfields.py:492 +#: netbox/extras/models/customfields.py:807 msgid "Object fields must define an object type." msgstr "" -#: netbox/extras/models/customfields.py:496 +#: netbox/extras/models/customfields.py:811 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "" -#: netbox/extras/models/customfields.py:503 +#: netbox/extras/models/customfields.py:818 msgid "A related object filter can be defined only for object fields." msgstr "" -#: netbox/extras/models/customfields.py:507 +#: netbox/extras/models/customfields.py:822 msgid "Filter must be defined as a dictionary mapping attributes to values." msgstr "" -#: netbox/extras/models/customfields.py:596 +#: netbox/extras/models/customfields.py:911 msgid "True" msgstr "" -#: netbox/extras/models/customfields.py:597 +#: netbox/extras/models/customfields.py:912 msgid "False" msgstr "" -#: netbox/extras/models/customfields.py:650 -#: netbox/extras/models/customfields.py:703 +#: netbox/extras/models/customfields.py:965 +#: netbox/extras/models/customfields.py:1018 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" -#: netbox/extras/models/customfields.py:813 -#: netbox/extras/models/customfields.py:820 +#: netbox/extras/models/customfields.py:1128 +#: netbox/extras/models/customfields.py:1135 msgid "Value must be a string." msgstr "" -#: netbox/extras/models/customfields.py:815 -#: netbox/extras/models/customfields.py:822 +#: netbox/extras/models/customfields.py:1130 +#: netbox/extras/models/customfields.py:1143 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "" -#: netbox/extras/models/customfields.py:827 +#: netbox/extras/models/customfields.py:1140 +msgid "URLs must use a scheme permitted by ALLOWED_URL_SCHEMES." +msgstr "" + +#: netbox/extras/models/customfields.py:1148 msgid "Value must be an integer." msgstr "" -#: netbox/extras/models/customfields.py:830 -#: netbox/extras/models/customfields.py:845 +#: netbox/extras/models/customfields.py:1151 +#: netbox/extras/models/customfields.py:1166 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "" -#: netbox/extras/models/customfields.py:834 -#: netbox/extras/models/customfields.py:849 +#: netbox/extras/models/customfields.py:1155 +#: netbox/extras/models/customfields.py:1170 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "" -#: netbox/extras/models/customfields.py:842 +#: netbox/extras/models/customfields.py:1163 msgid "Value must be a decimal." msgstr "" -#: netbox/extras/models/customfields.py:854 +#: netbox/extras/models/customfields.py:1175 msgid "Value must be true or false." msgstr "" -#: netbox/extras/models/customfields.py:862 +#: netbox/extras/models/customfields.py:1183 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." msgstr "" -#: netbox/extras/models/customfields.py:871 +#: netbox/extras/models/customfields.py:1192 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" -#: netbox/extras/models/customfields.py:878 +#: netbox/extras/models/customfields.py:1199 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "" -#: netbox/extras/models/customfields.py:888 +#: netbox/extras/models/customfields.py:1213 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "" -#: netbox/extras/models/customfields.py:897 +#: netbox/extras/models/customfields.py:1222 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "" -#: netbox/extras/models/customfields.py:903 +#: netbox/extras/models/customfields.py:1228 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "" -#: netbox/extras/models/customfields.py:907 +#: netbox/extras/models/customfields.py:1232 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "" -#: netbox/extras/models/customfields.py:916 +#: netbox/extras/models/customfields.py:1241 #, python-brace-format msgid "Value does not conform to the assigned schema: {error}" msgstr "" -#: netbox/extras/models/customfields.py:920 +#: netbox/extras/models/customfields.py:1245 msgid "Required field cannot be empty." msgstr "" -#: netbox/extras/models/customfields.py:940 -msgid "Base set of predefined choices (optional)" -msgstr "" - -#: netbox/extras/models/customfields.py:952 +#: netbox/extras/models/customfields.py:1277 msgid "Choices are automatically ordered alphabetically" msgstr "" -#: netbox/extras/models/customfields.py:959 +#: netbox/extras/models/customfields.py:1284 msgid "custom field choice set" msgstr "" -#: netbox/extras/models/customfields.py:960 +#: netbox/extras/models/customfields.py:1285 msgid "custom field choice sets" msgstr "" -#: netbox/extras/models/customfields.py:1020 +#: netbox/extras/models/customfields.py:1345 msgid "Must define base or extra choices." msgstr "" -#: netbox/extras/models/customfields.py:1026 +#: netbox/extras/models/customfields.py:1351 msgid "Color mappings must be defined as a JSON object." msgstr "" -#: netbox/extras/models/customfields.py:1038 +#: netbox/extras/models/customfields.py:1363 #, python-brace-format msgid "Duplicate value '{value}' found in extra choices." msgstr "" -#: netbox/extras/models/customfields.py:1055 +#: netbox/extras/models/customfields.py:1380 #, python-brace-format msgid "" "Color mappings must reference an existing choice value. Invalid value(s): " "{values}." msgstr "" -#: netbox/extras/models/customfields.py:1062 +#: netbox/extras/models/customfields.py:1387 #, python-brace-format msgid "Invalid color value(s): {colors}. Use a supported named color." msgstr "" -#: netbox/extras/models/customfields.py:1085 +#: netbox/extras/models/customfields.py:1410 #, python-brace-format msgid "" "Cannot remove choice {choice} as there are {model} objects which reference " @@ -9829,124 +11545,129 @@ msgstr "" msgid "dashboards" msgstr "" -#: netbox/extras/models/mixins.py:92 +#: netbox/extras/models/mixins.py:95 msgid "template code" msgstr "" -#: netbox/extras/models/mixins.py:93 +#: netbox/extras/models/mixins.py:96 msgid "Jinja template code." msgstr "" -#: netbox/extras/models/mixins.py:96 +#: netbox/extras/models/mixins.py:99 msgid "environment parameters" msgstr "" -#: netbox/extras/models/mixins.py:101 +#: netbox/extras/models/mixins.py:104 #, python-brace-format msgid "" "Any additional parameters to pass when constructing " "the Jinja environment" msgstr "" -#: netbox/extras/models/mixins.py:108 +#: netbox/extras/models/mixins.py:111 #, python-brace-format msgid "Defaults to {default}" msgstr "" -#: netbox/extras/models/mixins.py:113 +#: netbox/extras/models/mixins.py:116 msgid "Filename to give to the rendered export file" msgstr "" -#: netbox/extras/models/mixins.py:116 +#: netbox/extras/models/mixins.py:119 msgid "file extension" msgstr "" -#: netbox/extras/models/mixins.py:119 +#: netbox/extras/models/mixins.py:122 msgid "Extension to append to the rendered filename" msgstr "" -#: netbox/extras/models/mixins.py:122 +#: netbox/extras/models/mixins.py:125 msgid "as attachment" msgstr "" -#: netbox/extras/models/mixins.py:124 +#: netbox/extras/models/mixins.py:127 msgid "Download file as attachment" msgstr "" -#: netbox/extras/models/mixins.py:152 +#: netbox/extras/models/mixins.py:167 #, python-brace-format msgid "" "The \"{key}\" parameter is deprecated and may not be set on new or modified " "templates." msgstr "" -#: netbox/extras/models/mixins.py:158 +#: netbox/extras/models/mixins.py:173 #, python-brace-format msgid "\"{key}\" is not a permitted Jinja2 environment parameter." msgstr "" -#: netbox/extras/models/mixins.py:166 +#: netbox/extras/models/mixins.py:181 #, python-brace-format msgid "" "Invalid value \"{value}\" for parameter \"{key}\". Allowed values are: " "{allowed}" msgstr "" -#: netbox/extras/models/models.py:71 +#: netbox/extras/models/models.py:75 msgid "The object(s) to which this rule applies." msgstr "" -#: netbox/extras/models/models.py:85 +#: netbox/extras/models/models.py:89 msgid "The types of event which will trigger this rule." msgstr "" -#: netbox/extras/models/models.py:92 +#: netbox/extras/models/models.py:96 msgid "conditions" msgstr "" -#: netbox/extras/models/models.py:95 +#: netbox/extras/models/models.py:99 msgid "" "A set of conditions which determine whether the event will be generated." msgstr "" -#: netbox/extras/models/models.py:103 +#: netbox/extras/models/models.py:109 msgid "action type" msgstr "" -#: netbox/extras/models/models.py:122 +#: netbox/extras/models/models.py:130 msgid "Additional data to pass to the action object" msgstr "" -#: netbox/extras/models/models.py:134 +#: netbox/extras/models/models.py:142 msgid "event rule" msgstr "" -#: netbox/extras/models/models.py:135 +#: netbox/extras/models/models.py:143 msgid "event rules" msgstr "" -#: netbox/extras/models/models.py:155 +#: netbox/extras/models/models.py:166 +#, python-brace-format +msgid "{slug} (unavailable)" +msgstr "" + +#: netbox/extras/models/models.py:183 msgid "Action data must be a JSON object or null." msgstr "" -#: netbox/extras/models/models.py:196 +#: netbox/extras/models/models.py:229 msgid "" "This URL will be called using the HTTP method defined when the webhook is " "called. Must be http:// or https://. Jinja2 template processing is supported " "(with the same context as the request body) for part or all of the URL." msgstr "" -#: netbox/extras/models/models.py:212 +#: netbox/extras/models/models.py:245 msgid "" "The complete list of official content types is available here." msgstr "" -#: netbox/extras/models/models.py:217 +#: netbox/extras/models/models.py:250 msgid "additional headers" msgstr "" -#: netbox/extras/models/models.py:220 +#: netbox/extras/models/models.py:253 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: " @@ -9957,258 +11678,275 @@ msgid "" "name | header_safe }}." msgstr "" -#: netbox/extras/models/models.py:228 +#: netbox/extras/models/models.py:261 msgid "body template" msgstr "" -#: netbox/extras/models/models.py:231 +#: netbox/extras/models/models.py:264 msgid "" "Jinja2 template for a custom request body. If blank, a JSON object " "representing the change will be included. Available context data includes: " "event, model, timestamp, " -"username, request_id, and data." +"request, and data." msgstr "" -#: netbox/extras/models/models.py:237 +#: netbox/extras/models/models.py:270 msgid "secret" msgstr "" -#: netbox/extras/models/models.py:241 +#: netbox/extras/models/models.py:274 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:248 +#: netbox/extras/models/models.py:281 msgid "Enable SSL certificate verification. Disable with caution!" msgstr "" -#: netbox/extras/models/models.py:254 +#: netbox/extras/models/models.py:287 msgid "CA File Path" msgstr "" -#: netbox/extras/models/models.py:256 +#: netbox/extras/models/models.py:289 msgid "" "The specific CA certificate file to use for SSL verification. Leave blank to " "use the system defaults." msgstr "" -#: netbox/extras/models/models.py:267 +#: netbox/extras/models/models.py:293 +msgid "timeout" +msgstr "" + +#: netbox/extras/models/models.py:302 +#, python-brace-format +msgid "" +"The maximum time (in seconds) to wait for a response before failing the " +"request. Leave blank to use the system default ({default_timeout} seconds)." +msgstr "" + +#: netbox/extras/models/models.py:316 msgid "webhook" msgstr "" -#: netbox/extras/models/models.py:268 +#: netbox/extras/models/models.py:317 msgid "webhooks" msgstr "" -#: netbox/extras/models/models.py:287 +#: netbox/extras/models/models.py:336 msgid "Do not specify a CA certificate file if SSL verification is disabled." msgstr "" -#: netbox/extras/models/models.py:298 netbox/extras/models/models.py:313 +#: netbox/extras/models/models.py:347 netbox/extras/models/models.py:362 msgid "Enter a valid URL, beginning with http:// or https://." msgstr "" -#: netbox/extras/models/models.py:358 +#: netbox/extras/models/models.py:374 +#, python-brace-format +msgid "" +"Timeout must be less than the background job timeout ({timeout} seconds)." +msgstr "" + +#: netbox/extras/models/models.py:418 msgid "The object type(s) to which this link applies." msgstr "" -#: netbox/extras/models/models.py:370 +#: netbox/extras/models/models.py:430 msgid "link text" msgstr "" -#: netbox/extras/models/models.py:371 +#: netbox/extras/models/models.py:431 msgid "Jinja2 template code for link text" msgstr "" -#: netbox/extras/models/models.py:374 +#: netbox/extras/models/models.py:434 msgid "link URL" msgstr "" -#: netbox/extras/models/models.py:375 +#: netbox/extras/models/models.py:435 msgid "Jinja2 template code for link URL" msgstr "" -#: netbox/extras/models/models.py:385 +#: netbox/extras/models/models.py:445 msgid "Links with the same group will appear as a dropdown menu" msgstr "" -#: netbox/extras/models/models.py:395 +#: netbox/extras/models/models.py:455 msgid "new window" msgstr "" -#: netbox/extras/models/models.py:397 +#: netbox/extras/models/models.py:457 msgid "Force link to open in a new window" msgstr "" -#: netbox/extras/models/models.py:409 +#: netbox/extras/models/models.py:469 msgid "custom link" msgstr "" -#: netbox/extras/models/models.py:410 +#: netbox/extras/models/models.py:470 msgid "custom links" msgstr "" -#: netbox/extras/models/models.py:464 +#: netbox/extras/models/models.py:524 msgid "The object type(s) to which this template applies." msgstr "" -#: netbox/extras/models/models.py:485 +#: netbox/extras/models/models.py:545 msgid "export template" msgstr "" -#: netbox/extras/models/models.py:486 +#: netbox/extras/models/models.py:546 msgid "export templates" msgstr "" -#: netbox/extras/models/models.py:503 +#: netbox/extras/models/models.py:563 #, python-brace-format msgid "\"{name}\" is a reserved name. Please choose a different name." msgstr "" -#: netbox/extras/models/models.py:526 +#: netbox/extras/models/models.py:586 msgid "The object type(s) to which this filter applies." msgstr "" -#: netbox/extras/models/models.py:558 netbox/extras/models/models.py:642 +#: netbox/extras/models/models.py:618 netbox/extras/models/models.py:702 msgid "shared" msgstr "" -#: netbox/extras/models/models.py:576 +#: netbox/extras/models/models.py:636 msgid "saved filter" msgstr "" -#: netbox/extras/models/models.py:577 +#: netbox/extras/models/models.py:637 msgid "saved filters" msgstr "" -#: netbox/extras/models/models.py:595 +#: netbox/extras/models/models.py:655 msgid "Filter parameters must be stored as a dictionary of keyword arguments." msgstr "" -#: netbox/extras/models/models.py:612 +#: netbox/extras/models/models.py:672 msgid "The table's object type" msgstr "" -#: netbox/extras/models/models.py:615 +#: netbox/extras/models/models.py:675 msgid "table" msgstr "" -#: netbox/extras/models/models.py:663 +#: netbox/extras/models/models.py:723 msgid "table config" msgstr "" -#: netbox/extras/models/models.py:664 +#: netbox/extras/models/models.py:724 msgid "table configs" msgstr "" -#: netbox/extras/models/models.py:706 +#: netbox/extras/models/models.py:766 #, python-brace-format msgid "Unknown table: {name}" msgstr "" -#: netbox/extras/models/models.py:717 netbox/extras/models/models.py:724 +#: netbox/extras/models/models.py:777 netbox/extras/models/models.py:784 #, python-brace-format msgid "Unknown column: {name}" msgstr "" -#: netbox/extras/models/models.py:747 +#: netbox/extras/models/models.py:807 msgid "image height" msgstr "" -#: netbox/extras/models/models.py:750 +#: netbox/extras/models/models.py:810 msgid "image width" msgstr "" -#: netbox/extras/models/models.py:756 +#: netbox/extras/models/models.py:816 msgid "image size" msgstr "" -#: netbox/extras/models/models.py:800 +#: netbox/extras/models/models.py:860 msgid "image attachment" msgstr "" -#: netbox/extras/models/models.py:801 +#: netbox/extras/models/models.py:861 msgid "image attachments" msgstr "" -#: netbox/extras/models/models.py:815 +#: netbox/extras/models/models.py:875 #, python-brace-format msgid "Image attachments cannot be assigned to this object type ({type})." msgstr "" -#: netbox/extras/models/models.py:926 +#: netbox/extras/models/models.py:986 msgid "kind" msgstr "" -#: netbox/extras/models/models.py:941 +#: netbox/extras/models/models.py:1001 msgid "journal entry" msgstr "" -#: netbox/extras/models/models.py:942 +#: netbox/extras/models/models.py:1002 msgid "journal entries" msgstr "" -#: netbox/extras/models/models.py:960 -#, python-brace-format -msgid "Journaling is not supported for this object type ({type})." -msgstr "" - -#: netbox/extras/models/models.py:1003 -msgid "bookmark" -msgstr "" - -#: netbox/extras/models/models.py:1004 -msgid "bookmarks" -msgstr "" - #: netbox/extras/models/models.py:1020 #, python-brace-format +msgid "Journaling is not supported for this object type ({type})." +msgstr "" + +#: netbox/extras/models/models.py:1063 +msgid "bookmark" +msgstr "" + +#: netbox/extras/models/models.py:1064 +msgid "bookmarks" +msgstr "" + +#: netbox/extras/models/models.py:1080 +#, python-brace-format msgid "Bookmarks cannot be assigned to this object type ({type})." msgstr "" -#: netbox/extras/models/notifications.py:43 +#: netbox/extras/models/notifications.py:44 msgid "read" msgstr "" -#: netbox/extras/models/notifications.py:66 +#: netbox/extras/models/notifications.py:67 msgid "event" msgstr "" -#: netbox/extras/models/notifications.py:85 +#: netbox/extras/models/notifications.py:86 msgid "notification" msgstr "" -#: netbox/extras/models/notifications.py:100 -#: netbox/extras/models/notifications.py:245 +#: netbox/extras/models/notifications.py:101 +#: netbox/extras/models/notifications.py:246 #, python-brace-format msgid "Objects of this type ({type}) do not support notifications." msgstr "" -#: netbox/extras/models/notifications.py:138 netbox/users/models/owners.py:52 +#: netbox/extras/models/notifications.py:139 netbox/users/models/owners.py:52 #: netbox/users/models/users.py:66 netbox/users/models/users.py:151 msgid "groups" msgstr "" -#: netbox/extras/models/notifications.py:144 netbox/users/models/owners.py:59 +#: netbox/extras/models/notifications.py:145 netbox/users/models/owners.py:59 #: netbox/users/models/users.py:172 msgid "users" msgstr "" -#: netbox/extras/models/notifications.py:159 +#: netbox/extras/models/notifications.py:160 msgid "notification group" msgstr "" -#: netbox/extras/models/notifications.py:160 +#: netbox/extras/models/notifications.py:161 msgid "notification groups" msgstr "" -#: netbox/extras/models/notifications.py:228 +#: netbox/extras/models/notifications.py:229 msgid "subscription" msgstr "" -#: netbox/extras/models/notifications.py:229 +#: netbox/extras/models/notifications.py:230 msgid "subscriptions" msgstr "" @@ -10297,15 +12035,15 @@ msgstr "" msgid "Script Execution Parameters" msgstr "" -#: netbox/extras/tables/columns.py:12 +#: netbox/extras/tables/columns.py:40 #: netbox/templates/htmx/notifications.html:29 msgid "Dismiss" msgstr "" -#: netbox/extras/tables/tables.py:80 netbox/extras/tables/tables.py:189 -#: netbox/extras/tables/tables.py:218 netbox/extras/tables/tables.py:320 -#: netbox/extras/tables/tables.py:523 netbox/extras/tables/tables.py:561 -#: netbox/extras/ui/panels.py:117 netbox/extras/ui/panels.py:173 +#: netbox/extras/tables/tables.py:80 netbox/extras/tables/tables.py:198 +#: netbox/extras/tables/tables.py:227 netbox/extras/tables/tables.py:329 +#: netbox/extras/tables/tables.py:535 netbox/extras/tables/tables.py:586 +#: netbox/extras/ui/panels.py:118 netbox/extras/ui/panels.py:176 #: netbox/templates/users/panels/object_types.html:3 netbox/users/tables.py:110 msgid "Object Types" msgstr "" @@ -10314,97 +12052,101 @@ msgstr "" msgid "Validate Uniqueness" msgstr "" -#: netbox/extras/tables/tables.py:91 +#: netbox/extras/tables/tables.py:94 msgid "Visible" msgstr "" -#: netbox/extras/tables/tables.py:94 +#: netbox/extras/tables/tables.py:97 msgid "Editable" msgstr "" -#: netbox/extras/tables/tables.py:100 +#: netbox/extras/tables/tables.py:103 msgid "Related Object Type" msgstr "" -#: netbox/extras/tables/tables.py:104 +#: netbox/extras/tables/tables.py:107 msgid "Choice Set" msgstr "" -#: netbox/extras/tables/tables.py:112 +#: netbox/extras/tables/tables.py:115 msgid "Is Cloneable" msgstr "" -#: netbox/extras/tables/tables.py:116 +#: netbox/extras/tables/tables.py:119 +msgid "Nulls First" +msgstr "" + +#: netbox/extras/tables/tables.py:123 msgid "Minimum Value" msgstr "" -#: netbox/extras/tables/tables.py:119 +#: netbox/extras/tables/tables.py:126 msgid "Maximum Value" msgstr "" -#: netbox/extras/tables/tables.py:122 +#: netbox/extras/tables/tables.py:129 msgid "Validation Regex" msgstr "" -#: netbox/extras/tables/tables.py:125 +#: netbox/extras/tables/tables.py:132 msgid "Validation Schema" msgstr "" -#: netbox/extras/tables/tables.py:130 netbox/extras/tables/tables.py:171 -#: netbox/extras/tables/tables.py:200 netbox/extras/tables/tables.py:247 -#: netbox/extras/tables/tables.py:331 netbox/extras/tables/tables.py:492 -#: netbox/extras/tables/tables.py:535 netbox/extras/tables/tables.py:565 -#: netbox/extras/tables/tables.py:656 netbox/extras/tables/tables.py:712 +#: netbox/extras/tables/tables.py:137 netbox/extras/tables/tables.py:180 +#: netbox/extras/tables/tables.py:209 netbox/extras/tables/tables.py:256 +#: netbox/extras/tables/tables.py:340 netbox/extras/tables/tables.py:504 +#: netbox/extras/tables/tables.py:547 netbox/extras/tables/tables.py:590 +#: netbox/extras/tables/tables.py:681 netbox/extras/tables/tables.py:737 #: netbox/netbox/forms/mixins.py:166 netbox/netbox/forms/mixins.py:191 #: netbox/netbox/tables/tables.py:406 netbox/netbox/tables/tables.py:421 -#: netbox/netbox/tables/tables.py:436 netbox/templates/generic/object.html:61 -#: netbox/users/forms/model_forms.py:556 +#: netbox/netbox/tables/tables.py:436 netbox/templates/generic/object.html:57 +#: netbox/users/forms/model_forms.py:557 msgid "Owner" msgstr "" -#: netbox/extras/tables/tables.py:163 +#: netbox/extras/tables/tables.py:172 msgid "Count" msgstr "" -#: netbox/extras/tables/tables.py:166 +#: netbox/extras/tables/tables.py:175 msgid "Order Alphabetically" msgstr "" -#: netbox/extras/tables/tables.py:195 +#: netbox/extras/tables/tables.py:204 msgid "New Window" msgstr "" -#: netbox/extras/tables/tables.py:221 netbox/extras/tables/tables.py:694 +#: netbox/extras/tables/tables.py:230 netbox/extras/tables/tables.py:719 msgid "MIME Type" msgstr "" -#: netbox/extras/tables/tables.py:224 netbox/extras/tables/tables.py:697 +#: netbox/extras/tables/tables.py:233 netbox/extras/tables/tables.py:722 msgid "File Name" msgstr "" -#: netbox/extras/tables/tables.py:227 netbox/extras/tables/tables.py:700 +#: netbox/extras/tables/tables.py:236 netbox/extras/tables/tables.py:725 msgid "File Extension" msgstr "" -#: netbox/extras/tables/tables.py:230 netbox/extras/tables/tables.py:703 +#: netbox/extras/tables/tables.py:239 netbox/extras/tables/tables.py:728 msgid "As Attachment" msgstr "" -#: netbox/extras/tables/tables.py:243 netbox/extras/tables/tables.py:615 -#: netbox/extras/tables/tables.py:652 netbox/extras/tables/tables.py:687 +#: netbox/extras/tables/tables.py:252 netbox/extras/tables/tables.py:640 +#: netbox/extras/tables/tables.py:677 netbox/extras/tables/tables.py:712 msgid "Synced" msgstr "" -#: netbox/extras/tables/tables.py:268 netbox/extras/ui/panels.py:497 +#: netbox/extras/tables/tables.py:277 netbox/extras/ui/panels.py:512 msgid "Image" msgstr "" -#: netbox/extras/tables/tables.py:277 +#: netbox/extras/tables/tables.py:286 #: netbox/templates/extras/panels/imageattachment_file.html:7 msgid "Filename" msgstr "" -#: netbox/extras/tables/tables.py:296 +#: netbox/extras/tables/tables.py:305 #: netbox/templates/extras/panels/imageattachment_file.html:18 #: netbox/virtualization/forms/bulk_edit.py:362 #: netbox/virtualization/forms/filtersets.py:340 @@ -10412,39 +12154,43 @@ msgstr "" msgid "Size" msgstr "" -#: netbox/extras/tables/tables.py:357 +#: netbox/extras/tables/tables.py:366 msgid "Table Name" msgstr "" -#: netbox/extras/tables/tables.py:445 +#: netbox/extras/tables/tables.py:454 msgid "Read" msgstr "" -#: netbox/extras/tables/tables.py:488 +#: netbox/extras/tables/tables.py:497 msgid "SSL Verification" msgstr "" -#: netbox/extras/tables/tables.py:529 netbox/extras/ui/panels.py:365 +#: netbox/extras/tables/tables.py:500 +msgid "Timeout (sec)" +msgstr "" + +#: netbox/extras/tables/tables.py:541 netbox/extras/ui/panels.py:380 msgid "Event Types" msgstr "" -#: netbox/extras/tables/tables.py:690 +#: netbox/extras/tables/tables.py:715 msgid "Auto Sync Enabled" msgstr "" -#: netbox/extras/tables/tables.py:720 netbox/netbox/navigation/menu.py:86 +#: netbox/extras/tables/tables.py:745 netbox/netbox/navigation/menu.py:86 msgid "Device Roles" msgstr "" -#: netbox/extras/tables/tables.py:773 +#: netbox/extras/tables/tables.py:798 msgid "Comments (Short)" msgstr "" -#: netbox/extras/tables/tables.py:792 netbox/extras/tables/tables.py:844 +#: netbox/extras/tables/tables.py:817 netbox/extras/tables/tables.py:869 msgid "Line" msgstr "" -#: netbox/extras/tables/tables.py:847 +#: netbox/extras/tables/tables.py:872 msgid "Method" msgstr "" @@ -10456,9 +12202,9 @@ msgstr "" msgid "Please try reconfiguring the widget, or remove it from your dashboard." msgstr "" -#: netbox/extras/ui/panels.py:58 netbox/netbox/navigation/menu.py:359 +#: netbox/extras/ui/panels.py:59 netbox/netbox/navigation/menu.py:376 #: netbox/templates/circuits/panels/circuit_circuit_termination.html:41 -#: netbox/templates/dcim/device_edit.html:113 +#: netbox/templates/dcim/device_edit.html:120 #: netbox/templates/dcim/htmx/cable_edit.html:103 #: netbox/templates/dcim/virtualchassis_edit.html:48 #: netbox/templates/generic/bulk_edit.html:89 @@ -10468,75 +12214,85 @@ msgstr "" msgid "Custom Fields" msgstr "" -#: netbox/extras/ui/panels.py:83 +#: netbox/extras/ui/panels.py:84 #: netbox/templates/inc/panels/image_attachments.html:10 msgid "Attach an image" msgstr "" -#: netbox/extras/ui/panels.py:134 +#: netbox/extras/ui/panels.py:136 msgid "Cloneable" msgstr "" -#: netbox/extras/ui/panels.py:154 +#: netbox/extras/ui/panels.py:156 msgid "Display weight" msgstr "" -#: netbox/extras/ui/panels.py:160 +#: netbox/extras/ui/panels.py:163 msgid "Validation Rules" msgstr "" -#: netbox/extras/ui/panels.py:166 +#: netbox/extras/ui/panels.py:169 msgid "Regular expression" msgstr "" -#: netbox/extras/ui/panels.py:178 netbox/netbox/ui/panels.py:292 +#: netbox/extras/ui/panels.py:181 netbox/netbox/ui/panels.py:292 #: netbox/templates/inc/panels/related_objects.html:5 msgid "Related Objects" msgstr "" -#: netbox/extras/ui/panels.py:198 +#: netbox/extras/ui/panels.py:201 msgid "Used by" msgstr "" -#: netbox/extras/ui/panels.py:241 netbox/extras/ui/panels.py:467 +#: netbox/extras/ui/panels.py:244 netbox/extras/ui/panels.py:482 #: netbox/templates/dcim/trace/attachment.html:5 msgid "Attachment" msgstr "" -#: netbox/extras/ui/panels.py:261 netbox/extras/views.py:252 +#: netbox/extras/ui/panels.py:264 netbox/extras/views.py:252 #: netbox/extras/views.py:324 msgid "Assigned Models" msgstr "" -#: netbox/extras/ui/panels.py:269 +#: netbox/extras/ui/panels.py:272 msgid "Table Config" msgstr "" -#: netbox/extras/ui/panels.py:283 +#: netbox/extras/ui/panels.py:286 msgid "Columns Displayed" msgstr "" -#: netbox/extras/ui/panels.py:308 +#: netbox/extras/ui/panels.py:311 msgid "Notification Group" msgstr "" -#: netbox/extras/ui/panels.py:405 +#: netbox/extras/ui/panels.py:345 +#, python-brace-format +msgid "{timeout} seconds" +msgstr "" + +#: netbox/extras/ui/panels.py:346 +#, python-brace-format +msgid "{timeout} seconds (default)" +msgstr "" + +#: netbox/extras/ui/panels.py:420 msgid "Allowed Object Types" msgstr "" -#: netbox/extras/ui/panels.py:410 +#: netbox/extras/ui/panels.py:425 msgid "Tagged Item Types" msgstr "" -#: netbox/extras/ui/panels.py:483 +#: netbox/extras/ui/panels.py:498 msgid "Image Attachment" msgstr "" -#: netbox/extras/ui/panels.py:485 +#: netbox/extras/ui/panels.py:500 msgid "Parent object" msgstr "" -#: netbox/extras/ui/panels.py:505 +#: netbox/extras/ui/panels.py:520 msgid "Journal Entry" msgstr "" @@ -10660,7 +12416,30 @@ msgstr "" msgid "Invalid IP prefix format: {data}" msgstr "" -#: netbox/ipam/api/views.py:385 +#: netbox/ipam/api/serializers_/services.py:67 +#: netbox/ipam/api/serializers_/services.py:74 +msgid "" +"Deprecated; use port_mappings. Reported only for single-protocol services." +msgstr "" + +#: netbox/ipam/api/serializers_/services.py:97 +msgid "" +"Specify either 'port_mappings' or the deprecated 'protocol'/'ports' fields, " +"not both." +msgstr "" + +#: netbox/ipam/api/serializers_/services.py:105 +#: netbox/ipam/models/services.py:57 +msgid "At least one port mapping is required." +msgstr "" + +#: netbox/ipam/api/serializers_/services.py:118 +msgid "" +"Both 'protocol' and 'ports' are required when writing via the deprecated " +"legacy format; use port_mappings instead." +msgstr "" + +#: netbox/ipam/api/views.py:392 msgid "" "Insufficient space is available to accommodate the requested prefix size(s)" msgstr "" @@ -10669,46 +12448,145 @@ msgstr "" msgid "Container" msgstr "" +#: netbox/ipam/choices.py:30 +msgid "Organizes a set of child prefixes" +msgstr "" + +#: netbox/ipam/choices.py:31 netbox/ipam/choices.py:49 +#: netbox/ipam/choices.py:69 netbox/ipam/choices.py:159 +msgid "Provisioned and in use" +msgstr "" + +#: netbox/ipam/choices.py:32 netbox/ipam/choices.py:50 +#: netbox/ipam/choices.py:70 netbox/ipam/choices.py:160 +msgid "Designated for future use" +msgstr "" + +#: netbox/ipam/choices.py:33 netbox/ipam/choices.py:51 +#: netbox/ipam/choices.py:71 netbox/ipam/choices.py:161 +msgid "No longer in use" +msgstr "" + #: netbox/ipam/choices.py:72 msgid "DHCP" msgstr "" -#: netbox/ipam/choices.py:73 +#: netbox/ipam/choices.py:72 +msgid "Assigned dynamically via DHCP" +msgstr "" + +#: netbox/ipam/choices.py:75 msgid "SLAAC" msgstr "" -#: netbox/ipam/choices.py:89 +#: netbox/ipam/choices.py:77 +msgid "Assigned via IPv6 stateless address autoconfiguration" +msgstr "" + +#: netbox/ipam/choices.py:94 msgid "Loopback" msgstr "" -#: netbox/ipam/choices.py:91 +#: netbox/ipam/choices.py:94 +msgid "A loopback interface address" +msgstr "" + +#: netbox/ipam/choices.py:95 +msgid "A secondary address on an interface" +msgstr "" + +#: netbox/ipam/choices.py:96 msgid "Anycast" msgstr "" -#: netbox/ipam/choices.py:115 -msgid "Standard" +#: netbox/ipam/choices.py:96 +msgid "An address shared among multiple nodes" +msgstr "" + +#: netbox/ipam/choices.py:97 +msgid "A virtual IP address" +msgstr "" + +#: netbox/ipam/choices.py:98 +msgid "A virtual address managed by VRRP" +msgstr "" + +#: netbox/ipam/choices.py:99 +msgid "A virtual address managed by HSRP" +msgstr "" + +#: netbox/ipam/choices.py:100 +msgid "A virtual address managed by GLBP" +msgstr "" + +#: netbox/ipam/choices.py:101 +msgid "A virtual address managed by CARP" msgstr "" #: netbox/ipam/choices.py:120 -msgid "CheckPoint" +msgid "Standard" +msgstr "" + +#: netbox/ipam/choices.py:121 +msgid "Virtual Router Redundancy Protocol version 2" +msgstr "" + +#: netbox/ipam/choices.py:122 +msgid "Virtual Router Redundancy Protocol version 3" msgstr "" #: netbox/ipam/choices.py:123 +msgid "Common Address Redundancy Protocol" +msgstr "" + +#: netbox/ipam/choices.py:125 +msgid "CheckPoint" +msgstr "" + +#: netbox/ipam/choices.py:126 +msgid "Check Point ClusterXL high-availability protocol" +msgstr "" + +#: netbox/ipam/choices.py:128 msgid "Cisco" msgstr "" -#: netbox/ipam/choices.py:137 +#: netbox/ipam/choices.py:129 +msgid "Hot Standby Router Protocol" +msgstr "" + +#: netbox/ipam/choices.py:130 +msgid "Gateway Load Balancing Protocol" +msgstr "" + +#: netbox/ipam/choices.py:142 msgid "Plaintext" msgstr "" -#: netbox/ipam/choices.py:166 +#: netbox/ipam/choices.py:142 +msgid "Authentication using a cleartext password" +msgstr "" + +#: netbox/ipam/choices.py:143 +msgid "Authentication using an MD5 hash" +msgstr "" + +#: netbox/ipam/choices.py:171 msgid "Service" msgstr "" -#: netbox/ipam/choices.py:167 +#: netbox/ipam/choices.py:171 +msgid "An outer service VLAN (S-VLAN)" +msgstr "" + +#: netbox/ipam/choices.py:172 msgid "Customer" msgstr "" +#: netbox/ipam/choices.py:172 +msgid "An inner customer VLAN (C-VLAN)" +msgstr "" + #: netbox/ipam/fields.py:40 #, python-brace-format msgid "Invalid IP address format: {address}" @@ -10763,7 +12641,7 @@ msgid "Exporting L2VPN (identifier)" msgstr "" #: netbox/ipam/filtersets.py:173 netbox/ipam/filtersets.py:336 -#: netbox/ipam/forms/model_forms.py:231 netbox/ipam/forms/model_forms.py:271 +#: netbox/ipam/forms/model_forms.py:237 netbox/ipam/forms/model_forms.py:277 #: netbox/ipam/tables/ip.py:162 #: netbox/templates/ipam/inc/prefix_edit_header.html:7 msgid "Prefix" @@ -10792,7 +12670,7 @@ msgid "Prefixes which contain this prefix or IP" msgstr "" #: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:617 -#: netbox/ipam/forms/bulk_edit.py:287 netbox/ipam/forms/filtersets.py:225 +#: netbox/ipam/forms/bulk_edit.py:288 netbox/ipam/forms/filtersets.py:225 #: netbox/ipam/forms/filtersets.py:378 msgid "Mask length" msgstr "" @@ -10814,7 +12692,7 @@ msgid "VLAN number (1-4094)" msgstr "" #: netbox/ipam/filtersets.py:510 netbox/ipam/filtersets.py:514 -#: netbox/ipam/filtersets.py:612 netbox/ipam/forms/model_forms.py:537 +#: netbox/ipam/filtersets.py:612 netbox/ipam/forms/model_forms.py:582 #: netbox/tenancy/forms/bulk_edit.py:108 msgid "Address" msgstr "" @@ -10859,35 +12737,39 @@ msgstr "" msgid "VLAN Translation Policy (name)" msgstr "" -#: netbox/ipam/filtersets.py:1264 +#: netbox/ipam/filtersets.py:1241 netbox/ipam/filtersets.py:1245 +msgid "Port mapping (protocol/port)" +msgstr "" + +#: netbox/ipam/filtersets.py:1394 msgid "FHRP Group (name)" msgstr "" -#: netbox/ipam/filtersets.py:1269 +#: netbox/ipam/filtersets.py:1399 msgid "FHRP Group (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1274 +#: netbox/ipam/filtersets.py:1404 msgid "IP address (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1280 netbox/ipam/models/ip.py:1035 +#: netbox/ipam/filtersets.py:1410 netbox/ipam/models/ip.py:1035 msgid "IP address" msgstr "" -#: netbox/ipam/filtersets.py:1333 +#: netbox/ipam/filtersets.py:1459 msgid "Primary IPv4 (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1340 +#: netbox/ipam/filtersets.py:1466 msgid "Primary IPv4 (address)" msgstr "" -#: netbox/ipam/filtersets.py:1346 +#: netbox/ipam/filtersets.py:1472 msgid "Primary IPv6 (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1353 +#: netbox/ipam/filtersets.py:1479 msgid "Primary IPv6 (address)" msgstr "" @@ -10921,7 +12803,7 @@ msgstr "" msgid "Pattern" msgstr "" -#: netbox/ipam/forms/bulk_create.py:28 netbox/ipam/forms/model_forms.py:633 +#: netbox/ipam/forms/bulk_create.py:28 netbox/ipam/forms/model_forms.py:678 #: netbox/ipam/ui/panels.py:162 msgid "VLAN IDs" msgstr "" @@ -10931,17 +12813,17 @@ msgid "" "Enter VLAN IDs and ranges separated by commas. Example: 100,200-210,3100-3299" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:54 +#: netbox/ipam/forms/bulk_edit.py:55 msgid "Enforce unique space" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:80 +#: netbox/ipam/forms/bulk_edit.py:81 msgid "Is private" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:96 netbox/ipam/forms/bulk_edit.py:120 -#: netbox/ipam/forms/bulk_edit.py:144 netbox/ipam/forms/bulk_import.py:96 -#: netbox/ipam/forms/bulk_import.py:116 netbox/ipam/forms/bulk_import.py:136 +#: netbox/ipam/forms/bulk_edit.py:97 netbox/ipam/forms/bulk_edit.py:121 +#: netbox/ipam/forms/bulk_edit.py:145 netbox/ipam/forms/bulk_import.py:100 +#: netbox/ipam/forms/bulk_import.py:120 netbox/ipam/forms/bulk_import.py:140 #: netbox/ipam/forms/filtersets.py:91 netbox/ipam/forms/filtersets.py:121 #: netbox/ipam/forms/filtersets.py:137 netbox/ipam/forms/filtersets.py:161 #: netbox/ipam/forms/model_forms.py:101 netbox/ipam/forms/model_forms.py:114 @@ -10954,257 +12836,285 @@ msgstr "" msgid "RIR" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:152 +#: netbox/ipam/forms/bulk_edit.py:153 msgid "Date added" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:180 netbox/ipam/forms/filtersets.py:286 -#: netbox/ipam/forms/model_forms.py:644 netbox/ipam/forms/model_forms.py:663 +#: netbox/ipam/forms/bulk_edit.py:181 netbox/ipam/forms/filtersets.py:286 +#: netbox/ipam/forms/model_forms.py:689 netbox/ipam/forms/model_forms.py:720 #: netbox/ipam/tables/ip.py:205 netbox/templates/ipam/vlan_edit.html:53 msgid "VLAN Group" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:185 netbox/ipam/forms/bulk_import.py:198 -#: netbox/ipam/forms/filtersets.py:291 netbox/ipam/forms/model_forms.py:220 -#: netbox/ipam/forms/model_forms.py:711 netbox/ipam/models/vlans.py:311 +#: netbox/ipam/forms/bulk_edit.py:186 netbox/ipam/forms/bulk_import.py:202 +#: netbox/ipam/forms/filtersets.py:291 netbox/ipam/forms/model_forms.py:226 +#: netbox/ipam/forms/model_forms.py:768 netbox/ipam/models/vlans.py:311 #: netbox/ipam/tables/ip.py:210 netbox/ipam/ui/panels.py:148 #: netbox/templates/ipam/inc/vlan_edit_header.html:9 -#: netbox/templates/ipam/vlan/base.html:6 #: netbox/templates/ipam/vlan_edit.html:18 netbox/vpn/forms/bulk_import.py:309 -#: netbox/vpn/forms/filtersets.py:306 netbox/vpn/forms/model_forms.py:431 -#: netbox/vpn/forms/model_forms.py:450 netbox/wireless/forms/bulk_edit.py:52 +#: netbox/vpn/forms/filtersets.py:306 netbox/vpn/forms/model_forms.py:495 +#: netbox/vpn/forms/model_forms.py:514 netbox/wireless/forms/bulk_edit.py:52 #: netbox/wireless/forms/bulk_import.py:49 -#: netbox/wireless/forms/model_forms.py:50 netbox/wireless/models.py:106 +#: netbox/wireless/forms/model_forms.py:73 netbox/wireless/models.py:103 #: netbox/wireless/ui/panels.py:16 msgid "VLAN" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:196 +#: netbox/ipam/forms/bulk_edit.py:197 msgid "Prefix length" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:219 netbox/ipam/forms/filtersets.py:271 +#: netbox/ipam/forms/bulk_edit.py:220 netbox/ipam/forms/filtersets.py:271 #: netbox/ipam/ui/panels.py:152 msgid "Is a pool" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:224 netbox/ipam/forms/bulk_edit.py:268 +#: netbox/ipam/forms/bulk_edit.py:225 netbox/ipam/forms/bulk_edit.py:269 #: netbox/ipam/forms/filtersets.py:278 netbox/ipam/forms/filtersets.py:337 #: netbox/ipam/models/ip.py:271 msgid "Treat as fully utilized" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:232 netbox/ipam/forms/filtersets.py:198 -#: netbox/ipam/forms/model_forms.py:234 netbox/ipam/forms/model_forms.py:274 +#: netbox/ipam/forms/bulk_edit.py:233 netbox/ipam/forms/filtersets.py:198 +#: netbox/ipam/forms/model_forms.py:240 netbox/ipam/forms/model_forms.py:280 msgid "VLAN Assignment" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:263 netbox/ipam/forms/filtersets.py:330 +#: netbox/ipam/forms/bulk_edit.py:264 netbox/ipam/forms/filtersets.py:330 msgid "Treat as populated" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/models/ip.py:1013 +#: netbox/ipam/forms/bulk_edit.py:311 netbox/ipam/models/ip.py:1013 msgid "DNS name" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:325 netbox/ipam/forms/bulk_edit.py:479 -#: netbox/ipam/forms/bulk_import.py:470 netbox/ipam/forms/bulk_import.py:591 -#: netbox/ipam/forms/bulk_import.py:619 netbox/ipam/forms/filtersets.py:443 -#: netbox/ipam/forms/filtersets.py:647 +#: netbox/ipam/forms/bulk_edit.py:326 netbox/ipam/forms/bulk_import.py:474 +#: netbox/ipam/forms/filtersets.py:443 netbox/ipam/forms/filtersets.py:659 +#: netbox/ipam/forms/model_forms.py:565 +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:8 +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:20 +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:48 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:24 #: netbox/templates/ipam/panels/fhrp_groups.html:10 msgid "Protocol" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:332 netbox/ipam/forms/filtersets.py:450 +#: netbox/ipam/forms/bulk_edit.py:333 netbox/ipam/forms/filtersets.py:450 #: netbox/ipam/tables/fhrp.py:22 netbox/ipam/ui/panels.py:182 msgid "Group ID" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:337 netbox/ipam/forms/filtersets.py:455 -#: netbox/wireless/forms/bulk_edit.py:65 netbox/wireless/forms/bulk_edit.py:107 +#: netbox/ipam/forms/bulk_edit.py:338 netbox/ipam/forms/filtersets.py:455 +#: netbox/ipam/forms/model_forms.py:569 netbox/wireless/forms/bulk_edit.py:65 +#: netbox/wireless/forms/bulk_edit.py:107 #: netbox/wireless/forms/bulk_import.py:63 #: netbox/wireless/forms/bulk_import.py:66 #: netbox/wireless/forms/bulk_import.py:143 #: netbox/wireless/forms/bulk_import.py:146 #: netbox/wireless/forms/filtersets.py:63 #: netbox/wireless/forms/filtersets.py:123 +#: netbox/wireless/forms/model_forms.py:54 msgid "Authentication type" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:342 netbox/ipam/forms/filtersets.py:459 +#: netbox/ipam/forms/bulk_edit.py:343 netbox/ipam/forms/filtersets.py:459 msgid "Authentication key" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:353 netbox/ipam/forms/filtersets.py:435 -#: netbox/ipam/forms/model_forms.py:547 netbox/ipam/ui/panels.py:189 -#: netbox/netbox/navigation/menu.py:421 netbox/wireless/forms/bulk_edit.py:83 -#: netbox/wireless/forms/bulk_edit.py:135 +#: netbox/ipam/forms/bulk_edit.py:354 netbox/ipam/forms/filtersets.py:435 +#: netbox/ipam/forms/model_forms.py:592 netbox/ipam/ui/panels.py:189 +#: netbox/netbox/navigation/menu.py:438 netbox/vpn/forms/model_forms.py:378 +#: netbox/wireless/forms/bulk_edit.py:83 netbox/wireless/forms/bulk_edit.py:135 #: netbox/wireless/forms/filtersets.py:43 #: netbox/wireless/forms/filtersets.py:109 -#: netbox/wireless/forms/model_forms.py:57 -#: netbox/wireless/forms/model_forms.py:172 netbox/wireless/ui/panels.py:21 +#: netbox/wireless/forms/model_forms.py:80 +#: netbox/wireless/forms/model_forms.py:215 netbox/wireless/ui/panels.py:21 msgid "Authentication" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:367 netbox/ipam/models/vlans.py:68 +#: netbox/ipam/forms/bulk_edit.py:368 netbox/ipam/models/vlans.py:68 msgid "VLAN ID ranges" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:429 netbox/ipam/forms/bulk_import.py:548 -#: netbox/ipam/forms/filtersets.py:621 netbox/ipam/models/vlans.py:268 -#: netbox/ipam/tables/vlans.py:110 +#: netbox/ipam/forms/bulk_edit.py:430 netbox/ipam/forms/bulk_import.py:552 +#: netbox/ipam/forms/filtersets.py:621 netbox/ipam/forms/model_forms.py:711 +#: netbox/ipam/models/vlans.py:268 netbox/ipam/tables/vlans.py:110 msgid "Q-in-Q role" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:445 +#: netbox/ipam/forms/bulk_edit.py:446 msgid "Q-in-Q" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:446 +#: netbox/ipam/forms/bulk_edit.py:447 msgid "Site & Group" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:463 netbox/ipam/forms/bulk_import.py:578 -#: netbox/ipam/forms/model_forms.py:738 netbox/ipam/tables/vlans.py:234 -#: netbox/vpn/forms/model_forms.py:319 netbox/vpn/forms/model_forms.py:356 +#: netbox/ipam/forms/bulk_edit.py:464 netbox/ipam/forms/bulk_import.py:582 +#: netbox/ipam/forms/model_forms.py:795 netbox/ipam/tables/vlans.py:234 +#: netbox/vpn/forms/model_forms.py:360 netbox/vpn/forms/model_forms.py:407 msgid "Policy" msgstr "" -#: netbox/ipam/forms/bulk_edit.py:484 netbox/ipam/forms/model_forms.py:756 -#: netbox/ipam/forms/model_forms.py:788 netbox/ipam/tables/services.py:20 -#: netbox/ipam/tables/services.py:47 netbox/ipam/ui/panels.py:240 -#: netbox/ipam/ui/panels.py:248 -msgid "Ports" +#: netbox/ipam/forms/bulk_edit.py:480 +msgid "Add port mappings" msgstr "" -#: netbox/ipam/forms/bulk_import.py:55 netbox/ipam/views.py:73 +#: netbox/ipam/forms/bulk_edit.py:482 +msgid "Port mappings to add to each selected object" +msgstr "" + +#: netbox/ipam/forms/bulk_edit.py:485 +msgid "Remove port mappings" +msgstr "" + +#: netbox/ipam/forms/bulk_edit.py:487 +msgid "Port mappings to remove from each selected object (if present)" +msgstr "" + +#: netbox/ipam/forms/bulk_import.py:59 netbox/ipam/views.py:74 msgid "Import route targets" msgstr "" -#: netbox/ipam/forms/bulk_import.py:61 netbox/ipam/views.py:76 +#: netbox/ipam/forms/bulk_import.py:65 netbox/ipam/views.py:77 msgid "Export route targets" msgstr "" -#: 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:103 netbox/ipam/forms/bulk_import.py:123 +#: netbox/ipam/forms/bulk_import.py:143 msgid "Assigned RIR" msgstr "" -#: netbox/ipam/forms/bulk_import.py:188 +#: netbox/ipam/forms/bulk_import.py:192 msgid "VLAN's group (if any)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:191 +#: netbox/ipam/forms/bulk_import.py:195 msgid "VLAN Site" msgstr "" -#: netbox/ipam/forms/bulk_import.py:195 +#: netbox/ipam/forms/bulk_import.py:199 msgid "VLAN's site (if any)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:224 netbox/ipam/forms/bulk_import.py:509 +#: netbox/ipam/forms/bulk_import.py:228 netbox/ipam/forms/bulk_import.py:513 #: netbox/virtualization/forms/bulk_import.py:83 #: netbox/wireless/forms/bulk_import.py:82 msgid "Scope ID" msgstr "" -#: netbox/ipam/forms/bulk_import.py:337 netbox/ipam/forms/filtersets.py:680 -#: netbox/ipam/forms/model_forms.py:331 netbox/ipam/forms/model_forms.py:360 -#: netbox/ipam/forms/model_forms.py:546 +#: netbox/ipam/forms/bulk_import.py:341 netbox/ipam/forms/filtersets.py:692 +#: netbox/ipam/forms/model_forms.py:355 netbox/ipam/forms/model_forms.py:384 +#: netbox/ipam/forms/model_forms.py:591 msgid "FHRP Group" msgstr "" -#: netbox/ipam/forms/bulk_import.py:341 +#: netbox/ipam/forms/bulk_import.py:345 msgid "Assigned FHRP Group name" msgstr "" -#: netbox/ipam/forms/bulk_import.py:345 +#: netbox/ipam/forms/bulk_import.py:349 msgid "Make this the primary IP for the assigned device" msgstr "" -#: netbox/ipam/forms/bulk_import.py:349 +#: netbox/ipam/forms/bulk_import.py:353 msgid "Is out-of-band" msgstr "" -#: netbox/ipam/forms/bulk_import.py:350 +#: netbox/ipam/forms/bulk_import.py:354 msgid "Designate this as the out-of-band IP address for the assigned device" msgstr "" -#: netbox/ipam/forms/bulk_import.py:402 +#: netbox/ipam/forms/bulk_import.py:406 msgid "No device or virtual machine specified; cannot set as primary IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:406 +#: netbox/ipam/forms/bulk_import.py:410 msgid "No device specified; cannot set as out-of-band IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:410 +#: netbox/ipam/forms/bulk_import.py:414 msgid "Cannot set out-of-band IP for virtual machines" msgstr "" -#: netbox/ipam/forms/bulk_import.py:414 +#: netbox/ipam/forms/bulk_import.py:418 msgid "No interface specified; cannot set as primary IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:418 +#: netbox/ipam/forms/bulk_import.py:422 msgid "No interface specified; cannot set as out-of-band IP" msgstr "" -#: netbox/ipam/forms/bulk_import.py:474 +#: netbox/ipam/forms/bulk_import.py:478 msgid "Auth type" msgstr "" -#: netbox/ipam/forms/bulk_import.py:526 +#: netbox/ipam/forms/bulk_import.py:530 msgid "Assigned VLAN group" msgstr "" -#: netbox/ipam/forms/bulk_import.py:558 +#: netbox/ipam/forms/bulk_import.py:562 msgid "Service VLAN (for Q-in-Q/802.1ad customer VLANs)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:581 netbox/ipam/models/vlans.py:390 +#: netbox/ipam/forms/bulk_import.py:585 netbox/ipam/models/vlans.py:390 msgid "VLAN translation policy" msgstr "" -#: netbox/ipam/forms/bulk_import.py:593 netbox/ipam/forms/bulk_import.py:621 -msgid "IP protocol" +#: netbox/ipam/forms/bulk_import.py:601 +msgid "Port mappings" msgstr "" -#: netbox/ipam/forms/bulk_import.py:605 +#: netbox/ipam/forms/bulk_import.py:603 +msgid "" +"Comma-separated list of protocol/port pairs in double quotes (e.g. \"tcp/80," +"udp/53\"). A port range may be given with a hyphen (e.g. \"tcp/8000-8010\")." +msgstr "" + +#: netbox/ipam/forms/bulk_import.py:639 msgid "Parent type (app & model)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:612 +#: netbox/ipam/forms/bulk_import.py:646 msgid "Parent object name" msgstr "" -#: netbox/ipam/forms/bulk_import.py:616 +#: netbox/ipam/forms/bulk_import.py:650 msgid "Parent object ID" msgstr "" -#: netbox/ipam/forms/bulk_import.py:668 +#: netbox/ipam/forms/bulk_import.py:697 msgid "" "One of parent or parent_object_id must be included with parent_object_type" msgstr "" -#: netbox/ipam/forms/bulk_import.py:681 +#: netbox/ipam/forms/bulk_import.py:710 #, python-brace-format msgid "{ip} is not assigned to this parent." msgstr "" +#: netbox/ipam/forms/fields.py:50 netbox/ipam/forms/fields.py:52 +#: netbox/ipam/forms/fields.py:60 netbox/ipam/forms/fields.py:70 +msgid "Invalid port mapping data." +msgstr "" + +#: netbox/ipam/forms/fields.py:87 +#, python-brace-format +msgid "Row {position}: {error}" +msgstr "" + #: netbox/ipam/forms/filtersets.py:49 netbox/ipam/forms/model_forms.py:71 -#: netbox/netbox/navigation/menu.py:206 netbox/vpn/forms/model_forms.py:408 +#: netbox/netbox/navigation/menu.py:209 netbox/vpn/forms/model_forms.py:472 msgid "Route Targets" msgstr "" #: netbox/ipam/forms/filtersets.py:56 netbox/ipam/forms/model_forms.py:59 -#: netbox/vpn/forms/filtersets.py:246 netbox/vpn/forms/model_forms.py:396 +#: netbox/vpn/forms/filtersets.py:246 netbox/vpn/forms/model_forms.py:460 msgid "Import targets" msgstr "" #: netbox/ipam/forms/filtersets.py:61 netbox/ipam/forms/model_forms.py:64 -#: netbox/vpn/forms/filtersets.py:251 netbox/vpn/forms/model_forms.py:401 +#: netbox/vpn/forms/filtersets.py:251 netbox/vpn/forms/model_forms.py:465 msgid "Export targets" msgstr "" @@ -11284,7 +13194,7 @@ msgstr "" msgid "Remote VLAN ID" msgstr "" -#: netbox/ipam/forms/filtersets.py:572 netbox/ipam/forms/model_forms.py:712 +#: netbox/ipam/forms/filtersets.py:572 netbox/ipam/forms/model_forms.py:769 msgid "Q-in-Q/802.1ad" msgstr "" @@ -11293,6 +13203,10 @@ msgstr "" msgid "VLAN ID" msgstr "" +#: netbox/ipam/forms/filtersets.py:650 +msgid "Port mapping" +msgstr "" + #: netbox/ipam/forms/model_forms.py:88 msgid "Route Target" msgstr "" @@ -11306,110 +13220,136 @@ msgstr "" msgid "ASN Range" msgstr "" -#: netbox/ipam/forms/model_forms.py:295 +#: netbox/ipam/forms/model_forms.py:212 netbox/ipam/models/ip.py:253 +msgid "Operational status of this prefix" +msgstr "" + +#: netbox/ipam/forms/model_forms.py:290 netbox/ipam/models/ip.py:684 +msgid "Operational status of this range" +msgstr "" + +#: netbox/ipam/forms/model_forms.py:307 msgid "IP Range" msgstr "" -#: netbox/ipam/forms/model_forms.py:346 +#: netbox/ipam/forms/model_forms.py:325 netbox/ipam/forms/model_forms.py:524 +#: netbox/ipam/models/ip.py:975 +msgid "The operational status of this IP" +msgstr "" + +#: netbox/ipam/forms/model_forms.py:331 netbox/ipam/forms/model_forms.py:530 +#: netbox/ipam/models/ip.py:983 +msgid "The functional role of this IP" +msgstr "" + +#: netbox/ipam/forms/model_forms.py:370 msgid "Make this the primary IP for the device/VM" msgstr "" -#: netbox/ipam/forms/model_forms.py:350 +#: netbox/ipam/forms/model_forms.py:374 msgid "Make this the out-of-band IP for the device" msgstr "" -#: netbox/ipam/forms/model_forms.py:364 +#: netbox/ipam/forms/model_forms.py:388 msgid "NAT IP (Inside)" msgstr "" -#: netbox/ipam/forms/model_forms.py:426 +#: netbox/ipam/forms/model_forms.py:450 msgid "An IP address can only be assigned to a single object." msgstr "" -#: netbox/ipam/forms/model_forms.py:433 +#: netbox/ipam/forms/model_forms.py:457 msgid "Cannot reassign primary IP address for the parent device/VM" msgstr "" -#: netbox/ipam/forms/model_forms.py:437 +#: netbox/ipam/forms/model_forms.py:461 msgid "Cannot reassign out-of-Band IP address for the parent device" msgstr "" -#: netbox/ipam/forms/model_forms.py:447 +#: netbox/ipam/forms/model_forms.py:471 msgid "" "Only IP addresses assigned to an interface can be designated as primary IPs." msgstr "" -#: netbox/ipam/forms/model_forms.py:455 +#: netbox/ipam/forms/model_forms.py:479 msgid "" "Only IP addresses assigned to a device interface can be designated as the " "out-of-band IP for a device." msgstr "" -#: netbox/ipam/forms/model_forms.py:548 +#: netbox/ipam/forms/model_forms.py:593 msgid "Virtual IP Address" msgstr "" -#: netbox/ipam/forms/model_forms.py:625 +#: netbox/ipam/forms/model_forms.py:670 msgid "Assignment already exists" msgstr "" -#: netbox/ipam/forms/model_forms.py:645 +#: netbox/ipam/forms/model_forms.py:690 msgid "Child VLANs" msgstr "" -#: netbox/ipam/forms/model_forms.py:674 +#: netbox/ipam/forms/model_forms.py:708 netbox/ipam/models/vlans.py:250 +msgid "Operational status of this VLAN" +msgstr "" + +#: netbox/ipam/forms/model_forms.py:714 netbox/ipam/models/vlans.py:273 +msgid "Customer/service VLAN designation (for Q-in-Q/IEEE 802.1ad)" +msgstr "" + +#: netbox/ipam/forms/model_forms.py:731 msgid "" "The direct assignment of VLANs to a site is deprecated and will be removed " "in a future release. Users are encouraged to utilize VLAN groups for this " "purpose." msgstr "" -#: netbox/ipam/forms/model_forms.py:719 +#: netbox/ipam/forms/model_forms.py:776 #, python-brace-format msgid "Use {vid} as a placeholder for the VLAN ID. Example: VLAN-{vid}." msgstr "" -#: netbox/ipam/forms/model_forms.py:744 +#: netbox/ipam/forms/model_forms.py:801 msgid "VLAN Translation Rule" msgstr "" -#: netbox/ipam/forms/model_forms.py:761 netbox/ipam/forms/model_forms.py:793 -msgid "" -"Comma-separated list of one or more port numbers. A range may be specified " -"using a hyphen." +#: netbox/ipam/forms/model_forms.py:817 netbox/ipam/tables/services.py:23 +#: netbox/ipam/tables/services.py:53 netbox/ipam/ui/panels.py:239 +#: netbox/ipam/ui/panels.py:246 +#: netbox/templates/dcim/panels/front_port_mappings.html:4 +#: netbox/templates/dcim/panels/rear_port_mappings.html:4 +msgid "Port Mappings" msgstr "" -#: netbox/ipam/forms/model_forms.py:765 +#: netbox/ipam/forms/model_forms.py:819 +msgid "" +"One protocol per row, each with one or more port numbers. A range may be " +"specified using a hyphen (e.g. 80,443,8000-8010)." +msgstr "" + +#: netbox/ipam/forms/model_forms.py:827 msgid "Application Service Template" msgstr "" -#: netbox/ipam/forms/model_forms.py:778 -msgid "Parent type" -msgstr "" - -#: netbox/ipam/forms/model_forms.py:804 -msgid "Port(s)" -msgstr "" - -#: netbox/ipam/forms/model_forms.py:805 netbox/ipam/forms/model_forms.py:871 +#: netbox/ipam/forms/model_forms.py:852 netbox/ipam/forms/model_forms.py:891 msgid "Application Service" msgstr "" -#: netbox/ipam/forms/model_forms.py:859 +#: netbox/ipam/forms/model_forms.py:879 msgid "Application Service template" msgstr "" -#: netbox/ipam/forms/model_forms.py:868 +#: netbox/ipam/forms/model_forms.py:888 msgid "From Template" msgstr "" -#: netbox/ipam/forms/model_forms.py:869 +#: netbox/ipam/forms/model_forms.py:889 msgid "Custom" msgstr "" -#: netbox/ipam/forms/model_forms.py:901 +#: netbox/ipam/forms/model_forms.py:921 msgid "" -"Must specify name, protocol, and port(s) if not using an application service " +"Must specify name and port mapping(s) if not using an application service " "template." msgstr "" @@ -11446,11 +13386,11 @@ msgstr "" msgid "group ID" msgstr "" -#: netbox/ipam/models/fhrp.py:29 netbox/ipam/models/services.py:21 +#: netbox/ipam/models/fhrp.py:29 msgid "protocol" msgstr "" -#: netbox/ipam/models/fhrp.py:38 netbox/wireless/models.py:30 +#: netbox/ipam/models/fhrp.py:38 netbox/wireless/models.py:31 msgid "authentication type" msgstr "" @@ -11470,10 +13410,6 @@ msgstr "" msgid "FHRP group assignment" msgstr "" -#: netbox/ipam/models/fhrp.py:119 -msgid "FHRP group assignments" -msgstr "" - #: netbox/ipam/models/ip.py:66 msgid "private" msgstr "" @@ -11482,7 +13418,7 @@ msgstr "" msgid "IP space managed by this RIR is considered private" msgstr "" -#: netbox/ipam/models/ip.py:73 netbox/netbox/navigation/menu.py:199 +#: netbox/ipam/models/ip.py:73 netbox/netbox/navigation/menu.py:202 msgid "RIRs" msgstr "" @@ -11536,10 +13472,6 @@ msgstr "" msgid "IPv4 or IPv6 network with mask" msgstr "" -#: netbox/ipam/models/ip.py:253 -msgid "Operational status of this prefix" -msgstr "" - #: netbox/ipam/models/ip.py:261 msgid "The primary function of this prefix" msgstr "" @@ -11591,10 +13523,6 @@ msgstr "" msgid "end address" msgstr "" -#: netbox/ipam/models/ip.py:684 -msgid "Operational status of this range" -msgstr "" - #: netbox/ipam/models/ip.py:692 msgid "The primary function of this range" msgstr "" @@ -11644,18 +13572,10 @@ msgstr "" msgid "Defined range exceeds maximum supported size ({max_size})" msgstr "" -#: netbox/ipam/models/ip.py:952 netbox/tenancy/models/contacts.py:104 +#: netbox/ipam/models/ip.py:952 netbox/tenancy/models/contacts.py:105 msgid "address" msgstr "" -#: netbox/ipam/models/ip.py:975 -msgid "The operational status of this IP" -msgstr "" - -#: netbox/ipam/models/ip.py:983 -msgid "The functional role of this IP" -msgstr "" - #: netbox/ipam/models/ip.py:1006 netbox/ipam/ui/panels.py:127 msgid "NAT (inside)" msgstr "" @@ -11668,7 +13588,7 @@ msgstr "" msgid "Hostname or FQDN (not case-sensitive)" msgstr "" -#: netbox/ipam/models/ip.py:1036 netbox/ipam/models/services.py:97 +#: netbox/ipam/models/ip.py:1036 netbox/ipam/models/services.py:180 msgid "IP addresses" msgstr "" @@ -11712,28 +13632,32 @@ msgstr "" msgid "Only IPv6 addresses can be assigned SLAAC status" msgstr "" -#: netbox/ipam/models/services.py:32 -msgid "port numbers" +#: netbox/ipam/models/services.py:34 +msgid "port mappings" msgstr "" -#: netbox/ipam/models/services.py:70 +#: netbox/ipam/models/services.py:35 +msgid "Protocol/port pairs, e.g. tcp/80" +msgstr "" + +#: netbox/ipam/models/services.py:153 msgid "application service template" msgstr "" -#: netbox/ipam/models/services.py:71 +#: netbox/ipam/models/services.py:154 msgid "application service templates" msgstr "" -#: netbox/ipam/models/services.py:98 +#: netbox/ipam/models/services.py:181 msgid "" "The specific IP addresses (if any) to which this application service is bound" msgstr "" -#: netbox/ipam/models/services.py:111 +#: netbox/ipam/models/services.py:195 msgid "application service" msgstr "" -#: netbox/ipam/models/services.py:112 +#: netbox/ipam/models/services.py:196 msgid "application services" msgstr "" @@ -11779,18 +13703,10 @@ msgstr "" msgid "Numeric VLAN ID (1-4094)" msgstr "" -#: netbox/ipam/models/vlans.py:250 -msgid "Operational status of this VLAN" -msgstr "" - #: netbox/ipam/models/vlans.py:258 msgid "The primary function of this VLAN" msgstr "" -#: netbox/ipam/models/vlans.py:273 -msgid "Customer/service VLAN designation (for Q-in-Q/IEEE 802.1ad)" -msgstr "" - #: netbox/ipam/models/vlans.py:325 #, python-brace-format msgid "" @@ -11842,8 +13758,8 @@ msgstr "" msgid "Prevent duplicate prefixes/IP addresses within this VRF" msgstr "" -#: netbox/ipam/models/vrfs.py:65 netbox/netbox/navigation/menu.py:203 -#: netbox/netbox/navigation/menu.py:205 +#: netbox/ipam/models/vrfs.py:65 netbox/netbox/navigation/menu.py:206 +#: netbox/netbox/navigation/menu.py:208 msgid "VRFs" msgstr "" @@ -11879,8 +13795,8 @@ msgstr "" msgid "Provider Count" msgstr "" -#: netbox/ipam/tables/ip.py:43 netbox/netbox/navigation/menu.py:196 -#: netbox/netbox/navigation/menu.py:198 +#: netbox/ipam/tables/ip.py:43 netbox/netbox/navigation/menu.py:199 +#: netbox/netbox/navigation/menu.py:201 msgid "Aggregates" msgstr "" @@ -11889,9 +13805,9 @@ msgid "Added" msgstr "" #: netbox/ipam/tables/ip.py:76 netbox/ipam/tables/ip.py:111 -#: netbox/ipam/tables/vlans.py:125 netbox/ipam/views.py:623 -#: netbox/ipam/views.py:1736 netbox/netbox/navigation/menu.py:182 -#: netbox/netbox/navigation/menu.py:184 +#: netbox/ipam/tables/vlans.py:125 netbox/ipam/views.py:636 +#: netbox/ipam/views.py:1768 netbox/netbox/navigation/menu.py:185 +#: netbox/netbox/navigation/menu.py:187 msgid "Prefixes" msgstr "" @@ -11903,7 +13819,7 @@ msgstr "" msgid "Utilization" msgstr "" -#: netbox/ipam/tables/ip.py:116 netbox/netbox/navigation/menu.py:178 +#: netbox/ipam/tables/ip.py:116 netbox/netbox/navigation/menu.py:181 msgid "IP Ranges" msgstr "" @@ -11991,6 +13907,41 @@ msgstr "" msgid "Export Targets" msgstr "" +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:9 +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:29 +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:57 +msgid "Ports" +msgstr "" + +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:10 +#: netbox/netbox/tables/columns.py:256 +#: netbox/templates/dcim/inc/panels/inventory_items.html:21 +#: netbox/templates/dcim/panels/component_inventory_items.html:11 +#: netbox/templates/dcim/virtualchassis_add_member.html:27 +#: netbox/templates/dcim/virtualchassis_edit.html:69 +#: netbox/templates/extras/inc/script_list_content.html:36 +#: netbox/templates/generic/object_edit.html:80 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:27 +#: netbox/templates/ipam/panels/fhrp_groups.html:13 +#: netbox/users/forms/filtersets.py:64 netbox/users/forms/model_forms.py:387 +#: netbox/users/forms/model_forms.py:429 netbox/users/ui/panels.py:50 +msgid "Actions" +msgstr "" + +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:30 +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:58 +msgid "e.g. 80,443,8000-8010" +msgstr "" + +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:34 +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:62 +msgid "Remove mapping" +msgstr "" + +#: netbox/ipam/templates/ipam/widgets/port_mappings.html:41 +msgid "Add mapping" +msgstr "" + #: netbox/ipam/ui/panels.py:28 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:10 msgid "Create Group" @@ -12057,110 +14008,141 @@ msgstr "" msgid "Add a VLAN" msgstr "" -#: netbox/ipam/utils.py:30 +#: netbox/ipam/utils.py:42 msgid "1 IP available" msgstr "" -#: netbox/ipam/utils.py:32 +#: netbox/ipam/utils.py:44 #, python-brace-format msgid "{count} IPs available" msgstr "" -#: netbox/ipam/utils.py:33 +#: netbox/ipam/utils.py:45 msgid "Many IPs available" msgstr "" -#: netbox/ipam/validators.py:9 +#: netbox/ipam/utils.py:531 +msgid "Each port mapping must specify a protocol." +msgstr "" + +#: netbox/ipam/validators.py:34 +#, python-brace-format +msgid "" +"Invalid port mapping '{mapping}'. Expected format protocol/port (e.g. " +"tcp/80)." +msgstr "" + +#: netbox/ipam/validators.py:40 +#, python-brace-format +msgid "Invalid protocol: {protocol}" +msgstr "" + +#: netbox/ipam/validators.py:44 +#, python-brace-format +msgid "Invalid port number: {port}" +msgstr "" + +#: netbox/ipam/validators.py:47 +#, python-brace-format +msgid "Port {port} is not within the permitted range ({min}-{max})." +msgstr "" + +#: netbox/ipam/validators.py:55 +#, python-brace-format +msgid "Duplicate port mapping: {mapping}" +msgstr "" + +#: netbox/ipam/validators.py:65 #, python-brace-format msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" msgstr "" -#: netbox/ipam/validators.py:16 +#: netbox/ipam/validators.py:72 #, python-format msgid "The prefix length must be less than or equal to %(limit_value)s." msgstr "" -#: netbox/ipam/validators.py:24 +#: netbox/ipam/validators.py:80 #, python-format msgid "The prefix length must be greater than or equal to %(limit_value)s." msgstr "" -#: netbox/ipam/validators.py:33 +#: netbox/ipam/validators.py:89 msgid "" "Only alphanumeric characters, asterisks, hyphens, periods, and underscores " "are allowed in DNS names" msgstr "" -#: netbox/ipam/views.py:107 netbox/ipam/views.py:1766 +#: netbox/ipam/views.py:108 netbox/ipam/views.py:1798 msgid "Device Interfaces" msgstr "" -#: netbox/ipam/views.py:112 netbox/ipam/views.py:1784 +#: netbox/ipam/views.py:113 netbox/ipam/views.py:1816 msgid "VM Interfaces" msgstr "" -#: netbox/ipam/views.py:197 +#: netbox/ipam/views.py:198 msgid "Importing VRFs" msgstr "" -#: netbox/ipam/views.py:204 +#: netbox/ipam/views.py:205 msgid "Exporting VRFs" msgstr "" -#: netbox/ipam/views.py:213 +#: netbox/ipam/views.py:214 msgid "Importing L2VPNs" msgstr "" -#: netbox/ipam/views.py:220 +#: netbox/ipam/views.py:221 msgid "Exporting L2VPNs" msgstr "" -#: netbox/ipam/views.py:800 +#: netbox/ipam/views.py:816 msgid "Duplicate prefixes" msgstr "" -#: netbox/ipam/views.py:801 netbox/ipam/views.py:1017 netbox/ipam/views.py:1125 +#: netbox/ipam/views.py:817 netbox/ipam/views.py:1037 netbox/ipam/views.py:1149 msgid "Parent prefixes" msgstr "" -#: netbox/ipam/views.py:853 +#: netbox/ipam/views.py:869 msgid "Child Prefixes" msgstr "" -#: netbox/ipam/views.py:897 +#: netbox/ipam/views.py:913 msgid "Child Ranges" msgstr "" -#: netbox/ipam/views.py:1126 +#: netbox/ipam/views.py:1150 msgid "Duplicate IPs" msgstr "" -#: netbox/ipam/views.py:1130 +#: netbox/ipam/views.py:1154 msgid "Application services" msgstr "" -#: netbox/ipam/views.py:1296 +#: netbox/ipam/views.py:1320 msgid "Related IPs" msgstr "" -#: netbox/ipam/views.py:1437 +#: netbox/ipam/views.py:1464 msgid "VLAN translation rules" msgstr "" -#: netbox/ipam/views.py:1443 +#: netbox/ipam/views.py:1470 msgid "Add Rule" msgstr "" -#: netbox/ipam/views.py:1585 +#: netbox/ipam/views.py:1612 msgid "Virtual IP addresses" msgstr "" -#: netbox/ipam/views.py:1590 netbox/templates/ipam/iprange/ip_addresses.html:8 +#: netbox/ipam/views.py:1617 netbox/templates/ipam/iprange/ip_addresses.html:8 #: netbox/templates/ipam/prefix/ip_addresses.html:7 msgid "Add IP Address" msgstr "" -#: netbox/ipam/views.py:1749 +#: netbox/ipam/views.py:1781 msgid "Add a Prefix" msgstr "" @@ -12196,137 +14178,281 @@ msgstr "" msgid "Range boundaries must be defined as integers." msgstr "" -#: netbox/netbox/api/pagination.py:57 +#: netbox/netbox/api/pagination.py:55 #, python-brace-format msgid "'{start_param}' and '{offset_param}' are mutually exclusive." msgstr "" -#: netbox/netbox/api/pagination.py:63 +#: netbox/netbox/api/pagination.py:61 msgid "" "Ordering cannot be specified in conjunction with cursor-based pagination." msgstr "" -#: netbox/netbox/api/pagination.py:101 netbox/netbox/api/pagination.py:110 +#: netbox/netbox/api/pagination.py:99 netbox/netbox/api/pagination.py:108 #, python-brace-format msgid "Invalid '{param}' parameter: must be a non-negative integer." msgstr "" +#: netbox/netbox/api/serializers/bulk.py:35 +msgid "" +"The ID of the object which failed. Present once the entry has been matched " +"to an object; mutually exclusive with `index`." +msgstr "" + +#: netbox/netbox/api/serializers/bulk.py:42 +msgid "" +"The zero-based position of the entry within the submitted list. Used where " +"no object has been identified for the entry: always for creations, and for " +"updates and deletions where the entry itself could not be interpreted (e.g. " +"a missing or non-numeric `id`). Mutually exclusive with `id`." +msgstr "" + +#: netbox/netbox/api/serializers/bulk.py:50 +msgid "" +"The errors for this entry, keyed by field name. Values are ordinarily arrays " +"of messages. Errors which pertain to no particular field -- model " +"validation, protection rules, restricted tags, object-level permissions, or " +"the shape of the entry itself -- all appear under the single key `__all__`." +msgstr "" + +#: netbox/netbox/api/serializers/bulk.py:64 +msgid "A summary of the failure, e.g. \"1 of 3 objects could not be updated.\"" +msgstr "" + +#: netbox/netbox/api/serializers/bulk.py:70 +msgid "" +"One entry per object which failed; objects which would have succeeded are " +"omitted, as a bulk operation is all-or-none. Absent where the request could " +"not be attributed to individual entries at all (e.g. a request body which is " +"not a list)." +msgstr "" + #: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "" -#: netbox/netbox/choices.py:51 +#: netbox/netbox/api/viewsets/mixins.py:52 +msgid "You do not have permission to perform this action on this object." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:92 +msgid "Expected a list of objects, but no data was submitted." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:97 +#, python-brace-format +msgid "Expected a list of objects, but got {datatype}." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:145 +#, python-brace-format +msgid "{failed_count} of {total} objects failed validation." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:172 +#, python-brace-format +msgid "Each object may be specified only once; ID {id} is listed {count} times" +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:187 +#, python-brace-format +msgid "{failed_count} of {total} objects are listed more than once." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:218 +#: netbox/netbox/views/generic/bulk_views.py:601 +#, python-brace-format +msgid "Object with ID {id} does not exist" +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:233 +#, python-brace-format +msgid "{failed_count} of {total} objects could not be found." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:321 +msgid "The If-Match header is not supported with background processing." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:331 +#: netbox/netbox/api/viewsets/mixins.py:332 +msgid "create" +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:333 +msgid "delete" +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:334 +msgid "update" +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:335 +#, python-brace-format +msgid "Bulk {verb} {object_type}" +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:428 +#, python-brace-format +msgid "{failed_count} of {total} objects could not be created." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:468 +#, python-brace-format +msgid "Invalid data. Expected a dictionary, but got {datatype}." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:575 +#, python-brace-format +msgid "{failed_count} of {total} objects could not be updated." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:714 +#, python-brace-format +msgid "{failed_count} of {total} objects could not be deleted." +msgstr "" + +#: netbox/netbox/api/viewsets/mixins.py:766 +#, python-brace-format +msgid "Unable to delete: {n} dependent object(s) prevent deletion." +msgstr "" + +#: netbox/netbox/choices.py:53 msgid "Dark Red" msgstr "" -#: netbox/netbox/choices.py:54 +#: netbox/netbox/choices.py:56 msgid "Rose" msgstr "" -#: netbox/netbox/choices.py:55 +#: netbox/netbox/choices.py:57 msgid "Fuchsia" msgstr "" -#: netbox/netbox/choices.py:57 +#: netbox/netbox/choices.py:59 msgid "Dark Purple" msgstr "" -#: netbox/netbox/choices.py:60 +#: netbox/netbox/choices.py:62 msgid "Light Blue" msgstr "" -#: netbox/netbox/choices.py:63 +#: netbox/netbox/choices.py:65 msgid "Aqua" msgstr "" -#: netbox/netbox/choices.py:64 +#: netbox/netbox/choices.py:66 msgid "Dark Green" msgstr "" -#: netbox/netbox/choices.py:66 +#: netbox/netbox/choices.py:68 msgid "Light Green" msgstr "" -#: netbox/netbox/choices.py:67 +#: netbox/netbox/choices.py:69 msgid "Lime" msgstr "" -#: netbox/netbox/choices.py:69 +#: netbox/netbox/choices.py:71 msgid "Amber" msgstr "" -#: netbox/netbox/choices.py:71 +#: netbox/netbox/choices.py:73 msgid "Dark Orange" msgstr "" -#: netbox/netbox/choices.py:72 +#: netbox/netbox/choices.py:74 msgid "Brown" msgstr "" -#: netbox/netbox/choices.py:73 +#: netbox/netbox/choices.py:75 msgid "Light Grey" msgstr "" -#: netbox/netbox/choices.py:74 +#: netbox/netbox/choices.py:76 msgid "Grey" msgstr "" -#: netbox/netbox/choices.py:75 +#: netbox/netbox/choices.py:77 msgid "Dark Grey" msgstr "" -#: netbox/netbox/choices.py:103 +#: netbox/netbox/choices.py:105 #: netbox/templates/core/htmx/system_db_schema.html:72 #: netbox/templates/extras/panels/tableconfig_ordering.html:19 #: netbox/templates/extras/script_result.html:56 msgid "Default" msgstr "" -#: netbox/netbox/choices.py:130 +#: netbox/netbox/choices.py:132 msgid "Direct" msgstr "" -#: netbox/netbox/choices.py:131 +#: netbox/netbox/choices.py:132 +msgid "Enter data directly into a form field" +msgstr "" + +#: netbox/netbox/choices.py:133 msgid "Upload" msgstr "" -#: netbox/netbox/choices.py:143 netbox/netbox/choices.py:158 +#: netbox/netbox/choices.py:133 +msgid "Upload a file from the local filesystem" +msgstr "" + +#: netbox/netbox/choices.py:134 +msgid "Reference a file from a synced data source" +msgstr "" + +#: netbox/netbox/choices.py:145 netbox/netbox/choices.py:160 msgid "Auto-detect" msgstr "" -#: netbox/netbox/choices.py:159 +#: netbox/netbox/choices.py:161 msgid "Comma" msgstr "" -#: netbox/netbox/choices.py:160 +#: netbox/netbox/choices.py:162 msgid "Semicolon" msgstr "" -#: netbox/netbox/choices.py:161 +#: netbox/netbox/choices.py:163 msgid "Pipe" msgstr "" -#: netbox/netbox/choices.py:162 +#: netbox/netbox/choices.py:164 msgid "Tab" msgstr "" -#: netbox/netbox/choices.py:195 +#: netbox/netbox/choices.py:197 msgid "Kilograms" msgstr "" -#: netbox/netbox/choices.py:196 +#: netbox/netbox/choices.py:198 msgid "Grams" msgstr "" -#: netbox/netbox/choices.py:197 +#: netbox/netbox/choices.py:199 msgid "Pounds" msgstr "" -#: netbox/netbox/choices.py:198 +#: netbox/netbox/choices.py:200 msgid "Ounces" msgstr "" +#: netbox/netbox/choices.py:230 +msgid "Liters per minute (L/min)" +msgstr "" + +#: netbox/netbox/choices.py:231 +msgid "Cubic meters per hour (m³/h)" +msgstr "" + +#: netbox/netbox/choices.py:232 +msgid "Gallons per minute (GPM)" +msgstr "" + #: netbox/netbox/config/__init__.py:74 #, python-brace-format msgid "Invalid configuration parameter: {item}" @@ -12539,6 +14665,19 @@ msgid "" "based map links will be disabled." msgstr "" +#: netbox/netbox/event_rules.py:109 +msgid "This action requires a target object to be selected." +msgstr "" + +#: netbox/netbox/event_rules.py:114 +msgid "This action does not operate against a target object." +msgstr "" + +#: netbox/netbox/event_rules.py:118 +#, python-brace-format +msgid "Selected object is not a valid {model}." +msgstr "" + #: netbox/netbox/forms/bulk_edit.py:36 msgid "Add tags" msgstr "" @@ -12574,7 +14713,7 @@ msgstr "" #: netbox/netbox/forms/mixins.py:182 netbox/netbox/tables/tables.py:402 #: netbox/netbox/tables/tables.py:417 netbox/netbox/tables/tables.py:432 -#: netbox/users/forms/model_forms.py:544 +#: netbox/users/forms/model_forms.py:545 msgid "Owner Group" msgstr "" @@ -12606,7 +14745,7 @@ msgstr "" msgid "Lookup" msgstr "" -#: netbox/netbox/jobs.py:181 +#: netbox/netbox/jobs.py:191 #, python-brace-format msgid "Recurring job not rescheduled due to invalid configuration: {error}" msgstr "" @@ -12615,6 +14754,11 @@ msgstr "" msgid "Single sign-on failed. Please try again or contact your administrator." msgstr "" +#: netbox/netbox/models/__init__.py:227 netbox/netbox/models/ltree.py:367 +#: netbox/netbox/models/ltree.py:399 netbox/netbox/models/ltree.py:426 +msgid "Cannot assign self or a descendant as parent." +msgstr "" + #: netbox/netbox/models/deletion.py:142 #, python-brace-format msgid "" @@ -12622,67 +14766,75 @@ msgid "" "set to None." msgstr "" -#: netbox/netbox/models/features.py:312 +#: netbox/netbox/models/features.py:325 #, python-brace-format msgid "Invalid value for custom field '{name}': {error}" msgstr "" -#: netbox/netbox/models/features.py:321 +#: netbox/netbox/models/features.py:334 #, python-brace-format msgid "Custom field '{name}' must have a unique value." msgstr "" -#: netbox/netbox/models/features.py:328 +#: netbox/netbox/models/features.py:341 #, python-brace-format msgid "Missing required custom field '{name}'." msgstr "" -#: netbox/netbox/models/features.py:565 +#: netbox/netbox/models/features.py:581 msgid "Remote data source" msgstr "" -#: netbox/netbox/models/features.py:575 +#: netbox/netbox/models/features.py:591 msgid "data path" msgstr "" -#: netbox/netbox/models/features.py:579 +#: netbox/netbox/models/features.py:595 msgid "Path to remote file (relative to data source root)" msgstr "" -#: netbox/netbox/models/features.py:582 +#: netbox/netbox/models/features.py:598 msgid "auto sync enabled" msgstr "" -#: netbox/netbox/models/features.py:584 +#: netbox/netbox/models/features.py:600 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" -#: netbox/netbox/models/features.py:587 +#: netbox/netbox/models/features.py:603 msgid "date synced" msgstr "" -#: netbox/netbox/models/features.py:680 +#: netbox/netbox/models/features.py:696 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "" -#: netbox/netbox/models/mixins.py:39 +#: netbox/netbox/models/ltree.py:372 netbox/netbox/models/ltree.py:435 +msgid "Name cannot contain tab characters." +msgstr "" + +#: netbox/netbox/models/ltree.py:445 +msgid "The hierarchy was modified concurrently; please retry." +msgstr "" + +#: netbox/netbox/models/mixins.py:40 msgid "weight unit" msgstr "" -#: netbox/netbox/models/mixins.py:74 +#: netbox/netbox/models/mixins.py:75 msgid "Must specify a unit when setting a weight" msgstr "" -#: netbox/netbox/models/mixins.py:79 +#: netbox/netbox/models/mixins.py:80 msgid "distance" msgstr "" -#: netbox/netbox/models/mixins.py:86 +#: netbox/netbox/models/mixins.py:87 msgid "distance unit" msgstr "" -#: netbox/netbox/models/mixins.py:126 +#: netbox/netbox/models/mixins.py:127 msgid "Must specify a unit when setting a distance" msgstr "" @@ -12735,285 +14887,292 @@ msgid "Module Type Profiles" msgstr "" #: netbox/netbox/navigation/menu.py:98 +msgid "Module Bay Types" +msgstr "" + +#: netbox/netbox/navigation/menu.py:99 msgid "Manufacturers" msgstr "" -#: netbox/netbox/navigation/menu.py:102 +#: netbox/netbox/navigation/menu.py:103 msgid "Device Components" msgstr "" -#: netbox/netbox/navigation/menu.py:114 +#: netbox/netbox/navigation/menu.py:117 msgid "Inventory Item Roles" msgstr "" -#: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131 +#: netbox/netbox/navigation/menu.py:130 netbox/netbox/navigation/menu.py:134 #: netbox/templates/dcim/panels/interface_virtual_circuit.html:23 msgid "Connections" msgstr "" -#: netbox/netbox/navigation/menu.py:134 -#: netbox/templates/dcim/cablebundle.html:7 +#: netbox/netbox/navigation/menu.py:137 msgid "Cable Bundles" msgstr "" -#: netbox/netbox/navigation/menu.py:135 +#: netbox/netbox/navigation/menu.py:138 msgid "Wireless Links" msgstr "" -#: netbox/netbox/navigation/menu.py:138 +#: netbox/netbox/navigation/menu.py:141 msgid "Interface Connections" msgstr "" -#: netbox/netbox/navigation/menu.py:143 +#: netbox/netbox/navigation/menu.py:146 msgid "Console Connections" msgstr "" -#: netbox/netbox/navigation/menu.py:148 +#: netbox/netbox/navigation/menu.py:151 msgid "Power Connections" msgstr "" -#: netbox/netbox/navigation/menu.py:164 +#: netbox/netbox/navigation/menu.py:167 msgid "Wireless LAN Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:185 +#: netbox/netbox/navigation/menu.py:188 msgid "Prefix & VLAN Roles" msgstr "" -#: netbox/netbox/navigation/menu.py:191 +#: netbox/netbox/navigation/menu.py:194 msgid "ASN Ranges" msgstr "" -#: netbox/netbox/navigation/menu.py:214 +#: netbox/netbox/navigation/menu.py:217 msgid "VLAN Translation Policies" msgstr "" -#: netbox/netbox/navigation/menu.py:215 +#: netbox/netbox/navigation/menu.py:218 msgid "VLAN Translation Rules" msgstr "" -#: netbox/netbox/navigation/menu.py:222 +#: netbox/netbox/navigation/menu.py:225 msgid "Application Service Templates" msgstr "" -#: netbox/netbox/navigation/menu.py:230 +#: netbox/netbox/navigation/menu.py:233 msgid "VPN" msgstr "" -#: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236 +#: netbox/netbox/navigation/menu.py:237 netbox/netbox/navigation/menu.py:239 #: netbox/vpn/tables/tunnels.py:24 msgid "Tunnels" msgstr "" -#: netbox/netbox/navigation/menu.py:237 +#: netbox/netbox/navigation/menu.py:240 msgid "Tunnel Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:238 +#: netbox/netbox/navigation/menu.py:241 msgid "Tunnel Terminations" msgstr "" -#: netbox/netbox/navigation/menu.py:242 netbox/netbox/navigation/menu.py:244 +#: netbox/netbox/navigation/menu.py:245 netbox/netbox/navigation/menu.py:247 #: netbox/vpn/models/l2vpn.py:69 msgid "L2VPNs" msgstr "" -#: netbox/netbox/navigation/menu.py:245 +#: netbox/netbox/navigation/menu.py:248 msgid "L2VPN Terminations" msgstr "" -#: netbox/netbox/navigation/menu.py:251 +#: netbox/netbox/navigation/menu.py:254 msgid "IKE Proposals" msgstr "" -#: netbox/netbox/navigation/menu.py:252 netbox/vpn/views.py:296 +#: netbox/netbox/navigation/menu.py:255 netbox/vpn/views.py:296 msgid "IKE Policies" msgstr "" -#: netbox/netbox/navigation/menu.py:253 +#: netbox/netbox/navigation/menu.py:256 msgid "IPSec Proposals" msgstr "" -#: netbox/netbox/navigation/menu.py:254 netbox/vpn/views.py:450 +#: netbox/netbox/navigation/menu.py:257 netbox/vpn/views.py:450 msgid "IPSec Policies" msgstr "" -#: netbox/netbox/navigation/menu.py:255 +#: netbox/netbox/navigation/menu.py:258 msgid "IPSec Profiles" msgstr "" -#: netbox/netbox/navigation/menu.py:270 +#: netbox/netbox/navigation/menu.py:273 #: netbox/templates/virtualization/buttons/bulk_add_components.html:17 #: netbox/templates/virtualization/virtualmachine/base.html:32 #: netbox/virtualization/tables/virtualmachines.py:115 -#: netbox/virtualization/views.py:554 +#: netbox/virtualization/views.py:559 msgid "Virtual Disks" msgstr "" -#: netbox/netbox/navigation/menu.py:271 +#: netbox/netbox/navigation/menu.py:274 msgid "Virtual Machine Types" msgstr "" -#: netbox/netbox/navigation/menu.py:278 +#: netbox/netbox/navigation/menu.py:281 msgid "Cluster Types" msgstr "" -#: netbox/netbox/navigation/menu.py:279 +#: netbox/netbox/navigation/menu.py:282 msgid "Cluster Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:293 +#: netbox/netbox/navigation/menu.py:296 msgid "Circuit Types" msgstr "" -#: netbox/netbox/navigation/menu.py:294 +#: netbox/netbox/navigation/menu.py:297 msgid "Circuit Terminations" msgstr "" -#: netbox/netbox/navigation/menu.py:298 netbox/netbox/navigation/menu.py:300 +#: netbox/netbox/navigation/menu.py:301 netbox/netbox/navigation/menu.py:303 msgid "Virtual Circuits" msgstr "" -#: netbox/netbox/navigation/menu.py:301 +#: netbox/netbox/navigation/menu.py:304 msgid "Virtual Circuit Types" msgstr "" -#: netbox/netbox/navigation/menu.py:302 +#: netbox/netbox/navigation/menu.py:305 msgid "Virtual Circuit Terminations" msgstr "" -#: netbox/netbox/navigation/menu.py:308 +#: netbox/netbox/navigation/menu.py:311 msgid "Circuit Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:313 netbox/netbox/navigation/menu.py:315 +#: netbox/netbox/navigation/menu.py:316 netbox/netbox/navigation/menu.py:318 msgid "Providers" msgstr "" -#: netbox/netbox/navigation/menu.py:316 +#: netbox/netbox/navigation/menu.py:319 msgid "Provider Accounts" msgstr "" -#: netbox/netbox/navigation/menu.py:317 +#: netbox/netbox/navigation/menu.py:320 msgid "Provider Networks" msgstr "" -#: netbox/netbox/navigation/menu.py:331 +#: netbox/netbox/navigation/menu.py:334 msgid "Power Panels" msgstr "" -#: netbox/netbox/navigation/menu.py:342 +#: netbox/netbox/navigation/menu.py:347 +msgid "Cooling Sources" +msgstr "" + +#: netbox/netbox/navigation/menu.py:359 msgid "Configurations" msgstr "" -#: netbox/netbox/navigation/menu.py:344 +#: netbox/netbox/navigation/menu.py:361 msgid "Config Contexts" msgstr "" -#: netbox/netbox/navigation/menu.py:345 +#: netbox/netbox/navigation/menu.py:362 msgid "Config Context Profiles" msgstr "" -#: netbox/netbox/navigation/menu.py:346 +#: netbox/netbox/navigation/menu.py:363 msgid "Config Templates" msgstr "" -#: netbox/netbox/navigation/menu.py:353 netbox/netbox/navigation/menu.py:357 +#: netbox/netbox/navigation/menu.py:370 netbox/netbox/navigation/menu.py:374 msgid "Customization" msgstr "" -#: netbox/netbox/navigation/menu.py:360 +#: netbox/netbox/navigation/menu.py:377 msgid "Custom Field Choices" msgstr "" -#: netbox/netbox/navigation/menu.py:361 +#: netbox/netbox/navigation/menu.py:378 msgid "Custom Links" msgstr "" -#: netbox/netbox/navigation/menu.py:362 +#: netbox/netbox/navigation/menu.py:379 msgid "Export Templates" msgstr "" -#: netbox/netbox/navigation/menu.py:363 +#: netbox/netbox/navigation/menu.py:380 msgid "Saved Filters" msgstr "" -#: netbox/netbox/navigation/menu.py:364 +#: netbox/netbox/navigation/menu.py:381 msgid "Table Configs" msgstr "" -#: netbox/netbox/navigation/menu.py:366 +#: netbox/netbox/navigation/menu.py:383 msgid "Image Attachments" msgstr "" -#: netbox/netbox/navigation/menu.py:384 +#: netbox/netbox/navigation/menu.py:401 msgid "Operations" msgstr "" -#: netbox/netbox/navigation/menu.py:388 +#: netbox/netbox/navigation/menu.py:405 msgid "Integrations" msgstr "" -#: netbox/netbox/navigation/menu.py:390 +#: netbox/netbox/navigation/menu.py:407 msgid "Data Sources" msgstr "" -#: netbox/netbox/navigation/menu.py:391 +#: netbox/netbox/navigation/menu.py:408 msgid "Event Rules" msgstr "" -#: netbox/netbox/navigation/menu.py:392 +#: netbox/netbox/navigation/menu.py:409 msgid "Webhooks" msgstr "" -#: netbox/netbox/navigation/menu.py:396 netbox/netbox/navigation/menu.py:400 +#: netbox/netbox/navigation/menu.py:413 netbox/netbox/navigation/menu.py:417 #: netbox/netbox/views/generic/feature_views.py:185 #: netbox/templates/extras/report/base.html:37 #: netbox/templates/extras/script/base.html:36 msgid "Jobs" msgstr "" -#: netbox/netbox/navigation/menu.py:406 +#: netbox/netbox/navigation/menu.py:423 msgid "Logging" msgstr "" -#: netbox/netbox/navigation/menu.py:408 +#: netbox/netbox/navigation/menu.py:425 msgid "Notification Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:409 +#: netbox/netbox/navigation/menu.py:426 msgid "Journal Entries" msgstr "" -#: netbox/netbox/navigation/menu.py:417 netbox/templates/inc/user_menu.html:29 +#: netbox/netbox/navigation/menu.py:434 netbox/templates/inc/user_menu.html:29 msgid "Admin" msgstr "" -#: netbox/netbox/navigation/menu.py:425 netbox/templates/account/base.html:27 +#: netbox/netbox/navigation/menu.py:442 netbox/templates/account/base.html:27 #: netbox/templates/inc/user_menu.html:50 msgid "API Tokens" msgstr "" -#: netbox/netbox/navigation/menu.py:426 netbox/users/forms/model_forms.py:226 -#: netbox/users/forms/model_forms.py:234 netbox/users/forms/model_forms.py:281 -#: netbox/users/forms/model_forms.py:288 +#: netbox/netbox/navigation/menu.py:443 netbox/users/forms/model_forms.py:227 +#: netbox/users/forms/model_forms.py:235 netbox/users/forms/model_forms.py:282 +#: netbox/users/forms/model_forms.py:289 msgid "Permissions" msgstr "" -#: netbox/netbox/navigation/menu.py:432 +#: netbox/netbox/navigation/menu.py:449 msgid "Owner Groups" msgstr "" -#: netbox/netbox/navigation/menu.py:433 netbox/users/tables.py:166 +#: netbox/netbox/navigation/menu.py:450 netbox/users/tables.py:166 msgid "Owners" msgstr "" -#: netbox/netbox/navigation/menu.py:437 netbox/netbox/navigation/menu.py:441 +#: netbox/netbox/navigation/menu.py:454 netbox/netbox/navigation/menu.py:458 #: netbox/templates/core/system.html:8 msgid "System" msgstr "" -#: netbox/netbox/navigation/menu.py:446 netbox/netbox/navigation/menu.py:501 +#: netbox/netbox/navigation/menu.py:463 netbox/netbox/navigation/menu.py:519 #: netbox/templates/500.html:35 netbox/templates/account/preferences.html:22 #: netbox/templates/core/plugin.html:13 #: netbox/templates/core/plugin_list.html:7 @@ -13022,11 +15181,11 @@ msgstr "" msgid "Plugins" msgstr "" -#: netbox/netbox/navigation/menu.py:451 +#: netbox/netbox/navigation/menu.py:468 msgid "Configuration History" msgstr "" -#: netbox/netbox/navigation/menu.py:457 netbox/templates/core/rq_task.html:8 +#: netbox/netbox/navigation/menu.py:474 netbox/templates/core/rq_task.html:8 #: netbox/templates/core/rq_task_list.html:22 msgid "Background Tasks" msgstr "" @@ -13118,39 +15277,117 @@ msgstr "" msgid "Button color must be a choice within ButtonColorChoices." msgstr "" -#: netbox/netbox/plugins/registration.py:28 +#: netbox/netbox/plugins/registration.py:37 +msgid "jinja_filters must be a dict mapping filter names to callables" +msgstr "" + +#: netbox/netbox/plugins/registration.py:40 +#, python-brace-format +msgid "Jinja filter '{name}' must be callable" +msgstr "" + +#: netbox/netbox/plugins/registration.py:57 #, python-brace-format msgid "" "PluginTemplateExtension class {template_extension} was passed as an instance!" msgstr "" -#: netbox/netbox/plugins/registration.py:34 +#: netbox/netbox/plugins/registration.py:63 #, python-brace-format msgid "" "{template_extension} is not a subclass of netbox.plugins." "PluginTemplateExtension!" msgstr "" -#: netbox/netbox/plugins/registration.py:51 +#: netbox/netbox/plugins/registration.py:80 #, python-brace-format msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" msgstr "" -#: netbox/netbox/plugins/registration.py:62 +#: netbox/netbox/plugins/registration.py:91 #, python-brace-format msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" msgstr "" -#: netbox/netbox/plugins/registration.py:67 +#: netbox/netbox/plugins/registration.py:96 #, python-brace-format msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" msgstr "" -#: netbox/netbox/plugins/registration.py:105 +#: netbox/netbox/plugins/registration.py:120 +#, python-brace-format +msgid "GraphQL extension {extension} was passed as an instance!" +msgstr "" + +#: netbox/netbox/plugins/registration.py:125 +#, python-brace-format +msgid "" +"GraphQL extension {extension} must declare 'models' as a list of labels, not " +"a string." +msgstr "" + +#: netbox/netbox/plugins/registration.py:133 +#, python-brace-format +msgid "" +"GraphQL extension {extension} must declare 'models' as an iterable of model " +"labels." +msgstr "" + +#: netbox/netbox/plugins/registration.py:139 +#, python-brace-format +msgid "" +"GraphQL extension {extension} must declare a non-empty 'models' attribute." +msgstr "" + +#: netbox/netbox/plugins/registration.py:147 +#, python-brace-format +msgid "GraphQL extension {extension} must be decorated with @strawberry.type." +msgstr "" + +#: netbox/netbox/plugins/registration.py:153 +#, python-brace-format +msgid "" +"GraphQL extension {extension} must be a plain @strawberry.type, not an " +"input, an interface, or a strawberry_django type." +msgstr "" + +#: netbox/netbox/plugins/registration.py:158 +#, python-brace-format +msgid "GraphQL extension {extension} must not implement GraphQL interfaces." +msgstr "" + +#: netbox/netbox/plugins/registration.py:164 +#, python-brace-format +msgid "" +"GraphQL extension {extension} must declare 'models' as an unannotated class " +"attribute or ClassVar, not as a GraphQL field." +msgstr "" + +#: netbox/netbox/plugins/registration.py:172 +msgid "" +"GraphQL extension {extension} declares an invalid model label: {label!r}." +msgstr "" + +#: netbox/netbox/plugins/registration.py:180 +#, python-brace-format +msgid "GraphQL extension {extension} targets unknown model '{label}'." +msgstr "" + +#: netbox/netbox/plugins/registration.py:187 +#, python-brace-format +msgid "GraphQL extension {extension} declares duplicate label '{label}'." +msgstr "" + +#: netbox/netbox/plugins/registration.py:198 +#, python-brace-format +msgid "GraphQL extension {extension} is already registered." +msgstr "" + +#: netbox/netbox/plugins/registration.py:257 msgid "Serializer resolver must be callable" msgstr "" -#: netbox/netbox/plugins/registration.py:108 +#: netbox/netbox/plugins/registration.py:260 #, python-brace-format msgid "A serializer resolver is already registered for app '{app_label}'" msgstr "" @@ -13159,207 +15396,193 @@ msgstr "" msgid "extra_context must be a dictionary" msgstr "" -#: netbox/netbox/preferences.py:30 +#: netbox/netbox/preferences.py:31 msgid "Language" msgstr "" -#: netbox/netbox/preferences.py:35 +#: netbox/netbox/preferences.py:36 msgid "Forces UI translation to the specified language" msgstr "" -#: netbox/netbox/preferences.py:37 +#: netbox/netbox/preferences.py:38 msgid "Support for translation has been disabled locally" msgstr "" -#: netbox/netbox/preferences.py:43 +#: netbox/netbox/preferences.py:44 msgid "NetBox Copilot" msgstr "" -#: netbox/netbox/preferences.py:48 +#: netbox/netbox/preferences.py:49 msgid "Enable the NetBox Copilot AI agent" msgstr "" -#: netbox/netbox/preferences.py:52 +#: netbox/netbox/preferences.py:53 msgid "Page length" msgstr "" -#: netbox/netbox/preferences.py:54 +#: netbox/netbox/preferences.py:55 msgid "The default number of objects to display per page" msgstr "" -#: netbox/netbox/preferences.py:58 +#: netbox/netbox/preferences.py:59 msgid "Paginator placement" msgstr "" -#: netbox/netbox/preferences.py:60 +#: netbox/netbox/preferences.py:61 msgid "Bottom" msgstr "" -#: netbox/netbox/preferences.py:61 +#: netbox/netbox/preferences.py:62 msgid "Top" msgstr "" -#: netbox/netbox/preferences.py:62 +#: netbox/netbox/preferences.py:63 msgid "Both" msgstr "" -#: netbox/netbox/preferences.py:65 +#: netbox/netbox/preferences.py:66 msgid "Where the paginator controls will be displayed relative to a table" msgstr "" -#: netbox/netbox/preferences.py:68 +#: netbox/netbox/preferences.py:69 msgid "Striped table rows" msgstr "" -#: netbox/netbox/preferences.py:73 +#: netbox/netbox/preferences.py:74 msgid "Render table rows with alternating colors to increase readability" msgstr "" -#: netbox/netbox/preferences.py:78 +#: netbox/netbox/preferences.py:79 msgid "Measurement units" msgstr "" -#: netbox/netbox/preferences.py:80 +#: netbox/netbox/preferences.py:81 msgid "Inherited" msgstr "" -#: netbox/netbox/preferences.py:81 +#: netbox/netbox/preferences.py:82 msgid "Metric" msgstr "" -#: netbox/netbox/preferences.py:82 +#: netbox/netbox/preferences.py:83 msgid "Imperial" msgstr "" -#: netbox/netbox/preferences.py:85 +#: netbox/netbox/preferences.py:86 msgid "Preferred unit system for displaying weight and distance measurements" msgstr "" -#: netbox/netbox/preferences.py:90 +#: netbox/netbox/preferences.py:91 msgid "Data format" msgstr "" -#: netbox/netbox/preferences.py:95 +#: netbox/netbox/preferences.py:96 msgid "The preferred syntax for displaying generic data within the UI" msgstr "" -#: netbox/netbox/preferences.py:98 netbox/utilities/forms/bulk_import.py:38 +#: netbox/netbox/preferences.py:99 netbox/utilities/forms/bulk_import.py:38 msgid "CSV delimiter" msgstr "" -#: netbox/netbox/preferences.py:101 +#: netbox/netbox/preferences.py:102 msgid "The character used to separate fields in CSV data" msgstr "" -#: netbox/netbox/registry.py:24 +#: netbox/netbox/registry.py:15 #, python-brace-format msgid "Invalid store: {key}" msgstr "" -#: netbox/netbox/registry.py:27 +#: netbox/netbox/registry.py:18 msgid "Cannot add stores to registry after initialization" msgstr "" -#: netbox/netbox/registry.py:30 +#: netbox/netbox/registry.py:21 msgid "Cannot delete stores from registry" msgstr "" -#: netbox/netbox/settings.py:894 +#: netbox/netbox/settings.py:909 msgid "Czech" msgstr "" -#: netbox/netbox/settings.py:895 +#: netbox/netbox/settings.py:910 msgid "Danish" msgstr "" -#: netbox/netbox/settings.py:896 +#: netbox/netbox/settings.py:911 msgid "German" msgstr "" -#: netbox/netbox/settings.py:897 +#: netbox/netbox/settings.py:912 msgid "English" msgstr "" -#: netbox/netbox/settings.py:898 +#: netbox/netbox/settings.py:913 msgid "Spanish" msgstr "" -#: netbox/netbox/settings.py:899 +#: netbox/netbox/settings.py:914 msgid "French" msgstr "" -#: netbox/netbox/settings.py:900 +#: netbox/netbox/settings.py:915 msgid "Italian" msgstr "" -#: netbox/netbox/settings.py:901 +#: netbox/netbox/settings.py:916 msgid "Japanese" msgstr "" -#: netbox/netbox/settings.py:902 +#: netbox/netbox/settings.py:917 msgid "Korean" msgstr "" -#: netbox/netbox/settings.py:903 +#: netbox/netbox/settings.py:918 msgid "Latvian" msgstr "" -#: netbox/netbox/settings.py:904 +#: netbox/netbox/settings.py:919 msgid "Dutch" msgstr "" -#: netbox/netbox/settings.py:905 +#: netbox/netbox/settings.py:920 msgid "Polish" msgstr "" -#: netbox/netbox/settings.py:906 +#: netbox/netbox/settings.py:921 msgid "Portuguese" msgstr "" -#: netbox/netbox/settings.py:907 +#: netbox/netbox/settings.py:922 msgid "Russian" msgstr "" -#: netbox/netbox/settings.py:908 +#: netbox/netbox/settings.py:923 msgid "Turkish" msgstr "" -#: netbox/netbox/settings.py:909 +#: netbox/netbox/settings.py:924 msgid "Ukrainian" msgstr "" -#: netbox/netbox/settings.py:910 +#: netbox/netbox/settings.py:925 msgid "Chinese" msgstr "" -#: netbox/netbox/tables/columns.py:184 +#: netbox/netbox/tables/columns.py:188 msgid "Select all" msgstr "" -#: netbox/netbox/tables/columns.py:191 +#: netbox/netbox/tables/columns.py:195 #, python-brace-format msgid "Select {object}" msgstr "" -#: netbox/netbox/tables/columns.py:198 +#: netbox/netbox/tables/columns.py:202 msgid "Toggle all" msgstr "" -#: netbox/netbox/tables/columns.py:252 -#: netbox/templates/dcim/inc/panels/inventory_items.html:21 -#: netbox/templates/dcim/panels/component_inventory_items.html:11 -#: netbox/templates/dcim/virtualchassis_add_member.html:27 -#: netbox/templates/dcim/virtualchassis_edit.html:69 -#: netbox/templates/extras/inc/script_list_content.html:36 -#: netbox/templates/generic/object_edit.html:80 -#: netbox/templates/ipam/inc/panels/fhrp_groups.html:27 -#: netbox/templates/ipam/panels/fhrp_groups.html:13 -#: netbox/users/forms/filtersets.py:64 netbox/users/forms/model_forms.py:386 -#: netbox/users/forms/model_forms.py:428 netbox/users/ui/panels.py:50 -msgid "Actions" -msgstr "" - -#: netbox/netbox/tables/columns.py:324 +#: netbox/netbox/tables/columns.py:328 #: netbox/templates/inc/table_controls_htmx.html:41 msgid "Toggle Dropdown" msgstr "" @@ -13388,58 +15611,53 @@ msgstr "" msgid "Copy" msgstr "" -#: netbox/netbox/ui/attrs.py:271 +#: netbox/netbox/ui/attrs.py:275 #, python-brace-format msgid "" "Invalid decoding option: {decoding}! Must be one of {image_decoding_choices}" msgstr "" -#: netbox/netbox/ui/attrs.py:336 +#: netbox/netbox/ui/attrs.py:340 #, python-brace-format msgid "" "Invalid max_items value: {max_items}! Must be a positive integer or None." msgstr "" -#: netbox/netbox/ui/attrs.py:514 +#: netbox/netbox/ui/attrs.py:518 msgid "GPS coordinates" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:141 +#: netbox/netbox/views/generic/bulk_views.py:171 #, python-brace-format msgid "" "There was an error rendering the selected export template ({template}): " "{error}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:322 +#: netbox/netbox/views/generic/bulk_views.py:352 msgid "General" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:332 +#: netbox/netbox/views/generic/bulk_views.py:362 #, python-brace-format msgid "{value}: {field}: {error}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:504 +#: netbox/netbox/views/generic/bulk_views.py:534 msgid "Must be a list." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:514 +#: netbox/netbox/views/generic/bulk_views.py:544 msgid "Must be a dictionary." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:571 -#, python-brace-format -msgid "Object with ID {id} does not exist" -msgstr "" - -#: netbox/netbox/views/generic/bulk_views.py:634 +#: netbox/netbox/views/generic/bulk_views.py:664 #, python-brace-format msgid "" "Duplicate objects found: {model} with ID(s) {ids} appears multiple times" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:651 +#: netbox/netbox/views/generic/bulk_views.py:681 #, python-brace-format msgid "" "This import includes {count} record(s) that reference an existing object by " @@ -13447,71 +15665,71 @@ msgid "" "the ID column to create new objects instead." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:716 +#: netbox/netbox/views/generic/bulk_views.py:744 #, python-brace-format msgid "Bulk import {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:729 +#: netbox/netbox/views/generic/bulk_views.py:757 #, python-brace-format msgid "Imported {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:843 +#: netbox/netbox/views/generic/bulk_views.py:880 #, python-brace-format msgid "Custom field form field name must begin with 'cf_': {name}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:922 +#: netbox/netbox/views/generic/bulk_views.py:972 #, python-brace-format msgid "Bulk edit {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:938 +#: netbox/netbox/views/generic/bulk_views.py:988 #, python-brace-format msgid "Updated {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:971 -#: netbox/netbox/views/generic/bulk_views.py:1252 -#: netbox/netbox/views/generic/bulk_views.py:1300 +#: netbox/netbox/views/generic/bulk_views.py:1021 +#: netbox/netbox/views/generic/bulk_views.py:1297 +#: netbox/netbox/views/generic/bulk_views.py:1345 #, python-brace-format msgid "No {object_type} were selected." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:1078 +#: netbox/netbox/views/generic/bulk_views.py:1128 msgid "Select at least one field to rename." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:1108 +#: netbox/netbox/views/generic/bulk_views.py:1153 #, python-brace-format msgid "Renamed {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:1179 +#: netbox/netbox/views/generic/bulk_views.py:1224 #, python-brace-format msgid "Bulk delete {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:1206 +#: netbox/netbox/views/generic/bulk_views.py:1251 #, python-brace-format msgid "Deleted {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:1224 +#: netbox/netbox/views/generic/bulk_views.py:1269 msgid "Deletion failed due to the presence of one or more dependent objects." msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:1313 +#: netbox/netbox/views/generic/bulk_views.py:1358 #, python-brace-format msgid "Bulk add {count} {object_type}" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:1366 +#: netbox/netbox/views/generic/bulk_views.py:1411 msgid "An integrity error occurred while creating components" msgstr "" -#: netbox/netbox/views/generic/bulk_views.py:1378 +#: netbox/netbox/views/generic/bulk_views.py:1423 #, python-brace-format msgid "Added {count} {component} to {parent_count} {parent}." msgstr "" @@ -13755,11 +15973,6 @@ msgstr "" msgid "None" msgstr "" -#: netbox/templates/account/token.html:6 -#: netbox/templates/account/token_list.html:6 -msgid "My API Tokens" -msgstr "" - #: netbox/templates/account/token_list.html:12 msgid "Add a Token" msgstr "" @@ -13886,7 +16099,7 @@ msgstr "" msgid "Upstream" msgstr "" -#: netbox/templates/circuits/circuitgroup.html:12 +#: netbox/templates/circuits/circuitgroup.html:7 msgid "Assign Circuit" msgstr "" @@ -14185,10 +16398,6 @@ msgstr "" msgid "Enqueue" msgstr "" -#: netbox/templates/core/rq_task.html:65 -msgid "Timeout" -msgstr "" - #: netbox/templates/core/rq_task.html:69 msgid "Result TTL" msgstr "" @@ -14462,19 +16671,19 @@ msgstr "" msgid "Hide Disconnected" msgstr "" -#: netbox/templates/dcim/device_edit.html:46 +#: netbox/templates/dcim/device_edit.html:53 msgid "Parent Bay" msgstr "" -#: netbox/templates/dcim/device_edit.html:50 -#: netbox/templates/dcim/device_edit.html:51 +#: netbox/templates/dcim/device_edit.html:57 +#: netbox/templates/dcim/device_edit.html:58 #: netbox/templates/extras/tableconfig_edit.html:32 #: netbox/utilities/templates/helpers/table_config_form.html:23 #: netbox/utilities/templates/widgets/splitmultiselect.html:14 msgid "Remove" msgstr "" -#: netbox/templates/dcim/device_edit.html:120 +#: netbox/templates/dcim/device_edit.html:127 msgid "Local Config Context Data" msgstr "" @@ -14498,8 +16707,8 @@ msgstr "" msgid "Bay" msgstr "" -#: netbox/templates/dcim/devicerole.html:17 -#: netbox/templates/dcim/platform.html:20 +#: netbox/templates/dcim/devicerole.html:7 +#: netbox/templates/dcim/platform.html:10 msgid "Add Device" msgstr "" @@ -14595,7 +16804,7 @@ msgstr "" msgid "Loading..." msgstr "" -#: netbox/templates/dcim/interface.html:14 +#: netbox/templates/dcim/interface.html:7 msgid "Add Child Interface" msgstr "" @@ -14607,6 +16816,42 @@ msgstr "" msgid "Add Module Type" msgstr "" +#: netbox/templates/dcim/panels/bay_type_incompatibility.html:4 +msgid "Bay Type Incompatibility" +msgstr "" + +#: netbox/templates/dcim/panels/bay_type_incompatibility.html:10 +#, python-format +msgid "" +"\n" +" Module type %(module_type)s is not compatible " +"with module bay\n" +" %(module_bay)s: their bay type sets share no " +"common members.\n" +" " +msgstr "" + +#: netbox/templates/dcim/panels/bay_type_incompatibility.html:16 +#: netbox/templates/dcim/panels/bay_type_incompatibility.html:35 +msgid "Bay types on bay:" +msgstr "" + +#: netbox/templates/dcim/panels/bay_type_incompatibility.html:21 +#: netbox/templates/dcim/panels/bay_type_incompatibility.html:40 +msgid "Bay types on module type:" +msgstr "" + +#: netbox/templates/dcim/panels/bay_type_incompatibility.html:29 +#, python-format +msgid "" +"\n" +" Module type %(module_type)s is not compatible " +"with this bay\n" +" (%(bay)s): their bay type sets share no common " +"members.\n" +" " +msgstr "" + #: netbox/templates/dcim/panels/connection.html:23 #: netbox/templates/dcim/panels/interface_connection.html:22 msgid "Path status" @@ -14622,11 +16867,6 @@ msgstr "" msgid "Not Connected" msgstr "" -#: netbox/templates/dcim/panels/front_port_mappings.html:4 -#: netbox/templates/dcim/panels/rear_port_mappings.html:4 -msgid "Port Mappings" -msgstr "" - #: netbox/templates/dcim/panels/front_port_mappings.html:24 #: netbox/templates/dcim/panels/rear_port_mappings.html:24 msgid "No mappings defined" @@ -14640,11 +16880,6 @@ msgstr "" msgid "Attribute" msgstr "" -#: netbox/templates/dcim/panels/interface_wireless.html:24 -#: netbox/templates/wireless/panels/wirelesslink_interface.html:24 -msgid "Channel" -msgstr "" - #: netbox/templates/dcim/panels/interface_wireless.html:33 msgid "Channel frequency" msgstr "" @@ -14663,8 +16898,8 @@ msgstr "" #: netbox/templates/dcim/panels/interface_wireless_lans.html:9 #: netbox/wireless/forms/bulk_edit.py:57 netbox/wireless/forms/bulk_edit.py:94 #: netbox/wireless/forms/filtersets.py:49 -#: netbox/wireless/forms/filtersets.py:115 netbox/wireless/models.py:86 -#: netbox/wireless/models.py:153 netbox/wireless/tables/wirelesslan.py:37 +#: netbox/wireless/forms/filtersets.py:115 netbox/wireless/models.py:83 +#: netbox/wireless/models.py:150 netbox/wireless/tables/wirelesslan.py:37 #: netbox/wireless/ui/panels.py:11 netbox/wireless/ui/panels.py:48 msgid "SSID" msgstr "" @@ -14744,7 +16979,7 @@ msgstr "" msgid "Add Rack" msgstr "" -#: netbox/templates/dcim/region.html:14 netbox/templates/dcim/sitegroup.html:14 +#: netbox/templates/dcim/region.html:7 netbox/templates/dcim/sitegroup.html:7 msgid "Add Site" msgstr "" @@ -14860,7 +17095,7 @@ msgstr "" #: netbox/templates/exceptions/programming_error.html:19 #, python-format msgid "" -"Ensure that PostgreSQL version 14 or later is in use. You can check this by " +"Ensure that PostgreSQL version 15 or later is in use. You can check this by " "connecting to the database using NetBox's credentials and issuing a query " "for %(sql_query)s." msgstr "" @@ -15542,23 +17777,23 @@ msgstr "" msgid "First available IP" msgstr "" -#: netbox/templates/ipam/prefix/base.html:20 +#: netbox/templates/ipam/prefix/base.html:13 msgid "Prefix Details" msgstr "" -#: netbox/templates/ipam/prefix/base.html:26 +#: netbox/templates/ipam/prefix/base.html:19 msgid "Network Address" msgstr "" -#: netbox/templates/ipam/prefix/base.html:30 +#: netbox/templates/ipam/prefix/base.html:23 msgid "Network Mask" msgstr "" -#: netbox/templates/ipam/prefix/base.html:34 +#: netbox/templates/ipam/prefix/base.html:27 msgid "Wildcard Mask" msgstr "" -#: netbox/templates/ipam/prefix/base.html:38 +#: netbox/templates/ipam/prefix/base.html:31 msgid "Broadcast Address" msgstr "" @@ -15574,7 +17809,7 @@ msgstr "" msgid "Add Aggregate" msgstr "" -#: netbox/templates/ipam/vlangroup.html:16 +#: netbox/templates/ipam/vlangroup.html:8 msgid "Add VLAN" msgstr "" @@ -15641,7 +17876,7 @@ msgstr "" msgid "Add a contact" msgstr "" -#: netbox/templates/tenancy/tenantgroup.html:14 +#: netbox/templates/tenancy/tenantgroup.html:7 msgid "Add Tenant" msgstr "" @@ -15701,21 +17936,20 @@ msgid "Permission" msgstr "" #: netbox/templates/users/panels/actions.html:27 -#: netbox/users/forms/model_forms.py:356 +#: netbox/users/forms/model_forms.py:357 msgid "Additional actions" msgstr "" -#: netbox/templates/users/token.html:4 netbox/users/forms/bulk_import.py:48 -#: netbox/users/forms/filtersets.py:117 +#: netbox/templates/users/token.html:4 netbox/users/forms/filtersets.py:117 msgid "Token" msgstr "" -#: netbox/templates/virtualization/cluster/base.html:18 +#: netbox/templates/virtualization/cluster/base.html:10 #: netbox/templates/virtualization/virtualmachinetype.html:7 msgid "Add Virtual Machine" msgstr "" -#: netbox/templates/virtualization/cluster/base.html:24 +#: netbox/templates/virtualization/cluster/base.html:16 msgid "Assign Device" msgstr "" @@ -15759,7 +17993,7 @@ msgstr "" #: netbox/templates/virtualization/panels/virtual_machine_resources.html:5 #: netbox/virtualization/forms/bulk_edit.py:197 -#: netbox/virtualization/forms/model_forms.py:277 +#: netbox/virtualization/forms/model_forms.py:307 msgid "Resources" msgstr "" @@ -15790,7 +18024,7 @@ msgstr "" msgid "Channel Width" msgstr "" -#: netbox/templates/wireless/wirelesslangroup.html:14 +#: netbox/templates/wireless/wirelesslangroup.html:7 msgid "Add Wireless LAN" msgstr "" @@ -15827,13 +18061,13 @@ msgstr "" #: netbox/tenancy/filtersets.py:168 netbox/tenancy/forms/bulk_edit.py:131 #: netbox/tenancy/forms/filtersets.py:100 #: netbox/tenancy/forms/filtersets.py:131 netbox/tenancy/forms/forms.py:58 -#: netbox/tenancy/forms/model_forms.py:106 -#: netbox/tenancy/forms/model_forms.py:130 netbox/tenancy/tables/contacts.py:92 +#: netbox/tenancy/forms/model_forms.py:113 +#: netbox/tenancy/forms/model_forms.py:142 netbox/tenancy/tables/contacts.py:92 msgid "Contact" msgstr "" #: netbox/tenancy/filtersets.py:173 netbox/tenancy/forms/forms.py:63 -#: netbox/tenancy/forms/model_forms.py:83 +#: netbox/tenancy/forms/model_forms.py:90 msgid "Contact Role" msgstr "" @@ -15888,78 +18122,78 @@ msgstr "" msgid "Assigned contact" msgstr "" -#: netbox/tenancy/forms/filtersets.py:40 netbox/tenancy/forms/model_forms.py:32 +#: netbox/tenancy/forms/filtersets.py:40 netbox/tenancy/forms/model_forms.py:39 #: netbox/tenancy/tables/columns.py:37 netbox/tenancy/tables/columns.py:47 msgid "Tenant Group" msgstr "" #: netbox/tenancy/forms/filtersets.py:76 netbox/tenancy/forms/forms.py:68 -#: netbox/tenancy/forms/model_forms.py:73 +#: netbox/tenancy/forms/model_forms.py:80 msgid "Contact Group" msgstr "" -#: netbox/tenancy/models/contacts.py:60 +#: netbox/tenancy/models/contacts.py:61 msgid "contact group" msgstr "" -#: netbox/tenancy/models/contacts.py:61 +#: netbox/tenancy/models/contacts.py:62 msgid "contact groups" msgstr "" -#: netbox/tenancy/models/contacts.py:70 +#: netbox/tenancy/models/contacts.py:71 msgid "contact role" msgstr "" -#: netbox/tenancy/models/contacts.py:71 +#: netbox/tenancy/models/contacts.py:72 msgid "contact roles" msgstr "" -#: netbox/tenancy/models/contacts.py:90 +#: netbox/tenancy/models/contacts.py:91 msgid "title" msgstr "" -#: netbox/tenancy/models/contacts.py:95 +#: netbox/tenancy/models/contacts.py:96 msgid "phone" msgstr "" -#: netbox/tenancy/models/contacts.py:100 +#: netbox/tenancy/models/contacts.py:101 msgid "email" msgstr "" -#: netbox/tenancy/models/contacts.py:109 +#: netbox/tenancy/models/contacts.py:110 msgid "link" msgstr "" -#: netbox/tenancy/models/contacts.py:122 +#: netbox/tenancy/models/contacts.py:123 msgid "contact" msgstr "" -#: netbox/tenancy/models/contacts.py:123 +#: netbox/tenancy/models/contacts.py:124 msgid "contacts" msgstr "" -#: netbox/tenancy/models/contacts.py:169 +#: netbox/tenancy/models/contacts.py:170 msgid "contact assignment" msgstr "" -#: netbox/tenancy/models/contacts.py:170 +#: netbox/tenancy/models/contacts.py:171 msgid "contact assignments" msgstr "" -#: netbox/tenancy/models/contacts.py:186 +#: netbox/tenancy/models/contacts.py:187 #, python-brace-format msgid "Contacts cannot be assigned to this object type ({type})." msgstr "" -#: netbox/tenancy/models/tenants.py:35 +#: netbox/tenancy/models/tenants.py:38 msgid "tenant group" msgstr "" -#: netbox/tenancy/models/tenants.py:36 +#: netbox/tenancy/models/tenants.py:39 msgid "tenant groups" msgstr "" -#: netbox/tenancy/models/tenants.py:48 +#: netbox/tenancy/models/tenants.py:51 #, python-brace-format msgid "" "Unable to delete tenant group {tenant_group}. Ungrouping its tenants, " @@ -15967,7 +18201,7 @@ msgid "" "slugs." msgstr "" -#: netbox/tenancy/models/tenants.py:89 +#: netbox/tenancy/models/tenants.py:93 msgid "Tenant name must be unique per group." msgstr "" @@ -15975,11 +18209,11 @@ msgstr "" msgid "Tenant slug must be unique per group." msgstr "" -#: netbox/tenancy/models/tenants.py:107 +#: netbox/tenancy/models/tenants.py:102 msgid "tenant" msgstr "" -#: netbox/tenancy/models/tenants.py:108 +#: netbox/tenancy/models/tenants.py:103 msgid "tenants" msgstr "" @@ -16007,11 +18241,11 @@ msgstr "" msgid "Contact Description" msgstr "" -#: netbox/tenancy/views.py:65 +#: netbox/tenancy/views.py:72 msgid "Add Tenant Group" msgstr "" -#: netbox/tenancy/views.py:238 +#: netbox/tenancy/views.py:259 msgid "Add Contact Group" msgstr "" @@ -16082,7 +18316,7 @@ msgstr "" msgid "Expires" msgstr "" -#: netbox/users/forms/bulk_edit.py:125 netbox/users/forms/model_forms.py:131 +#: netbox/users/forms/bulk_edit.py:125 netbox/users/forms/model_forms.py:132 #: netbox/users/tables.py:47 netbox/users/ui/panels.py:17 msgid "Allowed IPs" msgstr "" @@ -16091,10 +18325,6 @@ msgstr "" msgid "Specify version 1 or 2 (v2 will be used by default)" msgstr "" -#: netbox/users/forms/bulk_import.py:50 -msgid "If no token is provided, one will be generated automatically." -msgstr "" - #: netbox/users/forms/filtersets.py:55 netbox/users/tables.py:75 msgid "Is Superuser" msgstr "" @@ -16127,72 +18357,72 @@ msgstr "" msgid "Membership" msgstr "" -#: netbox/users/forms/model_forms.py:76 +#: netbox/users/forms/model_forms.py:77 msgid "User Interface" msgstr "" -#: netbox/users/forms/model_forms.py:133 +#: netbox/users/forms/model_forms.py:134 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:198 +#: netbox/users/forms/model_forms.py:199 msgid "Unable to verify permission to create tokens." msgstr "" -#: netbox/users/forms/model_forms.py:201 netbox/users/views.py:91 +#: netbox/users/forms/model_forms.py:202 netbox/users/views.py:91 msgid "This user does not have permission to create tokens for other users." msgstr "" -#: netbox/users/forms/model_forms.py:214 +#: netbox/users/forms/model_forms.py:215 msgid "Confirm password" msgstr "" -#: netbox/users/forms/model_forms.py:217 +#: netbox/users/forms/model_forms.py:218 msgid "Enter the same password as before, for verification." msgstr "" -#: netbox/users/forms/model_forms.py:266 +#: netbox/users/forms/model_forms.py:267 msgid "Passwords do not match! Please check your input and try again." msgstr "" -#: netbox/users/forms/model_forms.py:341 +#: netbox/users/forms/model_forms.py:342 msgid "Select the types of objects to which the permission will apply." msgstr "" -#: netbox/users/forms/model_forms.py:359 +#: netbox/users/forms/model_forms.py:360 msgid "" "Additional actions for models which have not yet registered their own actions" msgstr "" -#: netbox/users/forms/model_forms.py:373 netbox/users/forms/model_forms.py:389 -#: netbox/users/forms/model_forms.py:431 netbox/users/views.py:303 +#: netbox/users/forms/model_forms.py:374 netbox/users/forms/model_forms.py:390 +#: netbox/users/forms/model_forms.py:432 netbox/users/views.py:303 msgid "Constraints" msgstr "" -#: netbox/users/forms/model_forms.py:375 +#: netbox/users/forms/model_forms.py:376 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:383 netbox/users/forms/model_forms.py:423 +#: netbox/users/forms/model_forms.py:384 netbox/users/forms/model_forms.py:424 msgid "Objects" msgstr "" -#: netbox/users/forms/model_forms.py:510 +#: netbox/users/forms/model_forms.py:511 msgid "At least one action must be selected." msgstr "" -#: netbox/users/forms/model_forms.py:528 +#: netbox/users/forms/model_forms.py:529 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "" -#: netbox/users/forms/model_forms.py:568 +#: netbox/users/forms/model_forms.py:569 msgid "User groups" msgstr "" @@ -16325,12 +18555,12 @@ msgstr "" msgid "Unable to save v2 tokens: API_TOKEN_PEPPERS is not defined." msgstr "" -#: netbox/users/models/tokens.py:226 +#: netbox/users/models/tokens.py:233 #, python-brace-format msgid "Invalid pepper ID: {id}. Check configured API_TOKEN_PEPPERS." msgstr "" -#: netbox/users/models/tokens.py:239 +#: netbox/users/models/tokens.py:246 #, python-brace-format msgid "" "Expiration time must be in the future. Current server time is {current_time} " @@ -16419,54 +18649,50 @@ msgstr "" msgid "Assigned Users" msgstr "" -#: netbox/utilities/api.py:268 +#: netbox/utilities/api.py:292 #, python-brace-format msgid "Related object not found using the provided attributes: {params}" msgstr "" -#: netbox/utilities/api.py:271 +#: netbox/utilities/api.py:295 #, python-brace-format msgid "Multiple objects match the provided attributes: {params}" msgstr "" -#: netbox/utilities/api.py:283 +#: netbox/utilities/api.py:307 #, 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:292 +#: netbox/utilities/api.py:316 #, python-brace-format msgid "Related object not found using the provided numeric ID: {id}" msgstr "" -#: netbox/utilities/choices.py:26 +#: netbox/utilities/choices.py:58 #, python-brace-format msgid "{name} has a key defined but CHOICES is not a list" msgstr "" -#: netbox/utilities/conversion.py:20 -msgid "Weight must be a positive number" -msgstr "" - -#: netbox/utilities/conversion.py:22 +#: netbox/utilities/conversion.py:31 #, python-brace-format -msgid "Invalid value '{weight}' for weight (must be a number)" +msgid "Invalid value '{value}' for {quantity} (must be a number)" msgstr "" -#: netbox/utilities/conversion.py:33 netbox/utilities/conversion.py:64 +#: netbox/utilities/conversion.py:34 +#, python-brace-format +msgid "Invalid value for {quantity}: must be a positive number" +msgstr "" + +#: netbox/utilities/conversion.py:37 #, python-brace-format msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" msgstr "" -#: netbox/utilities/conversion.py:47 -#, python-brace-format -msgid "Invalid value '{length}' for length (must be a number)" -msgstr "" - -#: netbox/utilities/conversion.py:49 -msgid "Length must be a positive number" +#: netbox/utilities/conversion.py:93 +msgid "flow rate" msgstr "" #: netbox/utilities/error_handlers.py:31 @@ -16485,14 +18711,14 @@ msgstr "" msgid "Invalid delimiter name: {name}" msgstr "" -#: netbox/utilities/fields.py:160 +#: netbox/utilities/fields.py:180 #, 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:170 +#: netbox/utilities/fields.py:190 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " @@ -16561,12 +18787,6 @@ msgstr "" msgid "Object not found: %(value)s" msgstr "" -#: netbox/utilities/forms/fields/csv.py:85 -#, python-brace-format -msgid "" -"\"{value}\" is not a unique value for this field; multiple objects were found" -msgstr "" - #: netbox/utilities/forms/fields/csv.py:89 #, python-brace-format msgid "\"{field_name}\" is an invalid accessor field name." @@ -16587,7 +18807,13 @@ msgid "" "code>)." msgstr "" -#: netbox/utilities/forms/fields/expandable.py:53 +#: netbox/utilities/forms/fields/expandable.py:49 +msgid "" +"Numeric ranges are supported for bulk creation (example: [1-24])." +msgstr "" + +#: netbox/utilities/forms/fields/expandable.py:66 msgid "" "Use bracket notation to specify numeric ranges for bulk creation (CIDR " "required).
Examples: 192.0.2.[1-10]/32, 10." @@ -16614,6 +18840,19 @@ msgstr "" msgid "MAC address must be in EUI-48 format" msgstr "" +#: netbox/utilities/forms/fields/generic.py:39 +msgid "Both an object type and an object must be specified." +msgstr "" + +#: netbox/utilities/forms/fields/generic.py:40 +msgid "Invalid object type." +msgstr "" + +#: netbox/utilities/forms/fields/generic.py:233 +#, python-brace-format +msgid "Please select a {object_type}." +msgstr "" + #: netbox/utilities/forms/forms.py:78 msgid "Use regular expressions" msgstr "" @@ -16628,162 +18867,168 @@ msgstr "" msgid "Unrecognized header: {name}" msgstr "" -#: netbox/utilities/forms/mixins.py:28 netbox/utilities/forms/mixins.py:40 -#: netbox/utilities/forms/mixins.py:50 netbox/utilities/forms/mixins.py:60 -#: netbox/utilities/forms/mixins.py:70 netbox/utilities/forms/mixins.py:76 -#: netbox/utilities/forms/mixins.py:89 netbox/utilities/forms/mixins.py:95 +#: netbox/utilities/forms/mixins.py:31 netbox/utilities/forms/mixins.py:43 +#: netbox/utilities/forms/mixins.py:53 netbox/utilities/forms/mixins.py:63 +#: netbox/utilities/forms/mixins.py:73 netbox/utilities/forms/mixins.py:79 +#: netbox/utilities/forms/mixins.py:92 netbox/utilities/forms/mixins.py:98 msgid "is" msgstr "" -#: netbox/utilities/forms/mixins.py:29 netbox/utilities/forms/mixins.py:41 -#: netbox/utilities/forms/mixins.py:51 netbox/utilities/forms/mixins.py:61 -#: netbox/utilities/forms/mixins.py:71 netbox/utilities/forms/mixins.py:77 -#: netbox/utilities/forms/mixins.py:90 netbox/utilities/forms/mixins.py:96 +#: netbox/utilities/forms/mixins.py:32 netbox/utilities/forms/mixins.py:44 +#: netbox/utilities/forms/mixins.py:54 netbox/utilities/forms/mixins.py:64 +#: netbox/utilities/forms/mixins.py:74 netbox/utilities/forms/mixins.py:80 +#: netbox/utilities/forms/mixins.py:93 netbox/utilities/forms/mixins.py:99 msgid "is not" msgstr "" -#: netbox/utilities/forms/mixins.py:30 +#: netbox/utilities/forms/mixins.py:33 msgid "contains" msgstr "" -#: netbox/utilities/forms/mixins.py:31 +#: netbox/utilities/forms/mixins.py:34 msgid "starts with" msgstr "" -#: netbox/utilities/forms/mixins.py:32 +#: netbox/utilities/forms/mixins.py:35 msgid "ends with" msgstr "" -#: netbox/utilities/forms/mixins.py:33 +#: netbox/utilities/forms/mixins.py:36 msgid "equals (case-insensitive)" msgstr "" -#: netbox/utilities/forms/mixins.py:34 +#: netbox/utilities/forms/mixins.py:37 msgid "matches pattern" msgstr "" -#: netbox/utilities/forms/mixins.py:35 +#: netbox/utilities/forms/mixins.py:38 msgid "matches pattern (case-insensitive)" msgstr "" -#: netbox/utilities/forms/mixins.py:36 netbox/utilities/forms/mixins.py:46 -#: netbox/utilities/forms/mixins.py:56 netbox/utilities/forms/mixins.py:66 -#: netbox/utilities/forms/mixins.py:72 netbox/utilities/forms/mixins.py:78 -#: netbox/utilities/forms/mixins.py:85 netbox/utilities/forms/mixins.py:91 -#: netbox/utilities/forms/mixins.py:97 +#: netbox/utilities/forms/mixins.py:39 netbox/utilities/forms/mixins.py:49 +#: netbox/utilities/forms/mixins.py:59 netbox/utilities/forms/mixins.py:69 +#: netbox/utilities/forms/mixins.py:75 netbox/utilities/forms/mixins.py:81 +#: netbox/utilities/forms/mixins.py:88 netbox/utilities/forms/mixins.py:94 +#: netbox/utilities/forms/mixins.py:100 msgid "is empty" msgstr "" -#: netbox/utilities/forms/mixins.py:37 netbox/utilities/forms/mixins.py:47 -#: netbox/utilities/forms/mixins.py:57 netbox/utilities/forms/mixins.py:67 -#: netbox/utilities/forms/mixins.py:73 netbox/utilities/forms/mixins.py:79 -#: netbox/utilities/forms/mixins.py:86 netbox/utilities/forms/mixins.py:92 -#: netbox/utilities/forms/mixins.py:98 +#: netbox/utilities/forms/mixins.py:40 netbox/utilities/forms/mixins.py:50 +#: netbox/utilities/forms/mixins.py:60 netbox/utilities/forms/mixins.py:70 +#: netbox/utilities/forms/mixins.py:76 netbox/utilities/forms/mixins.py:82 +#: netbox/utilities/forms/mixins.py:89 netbox/utilities/forms/mixins.py:95 +#: netbox/utilities/forms/mixins.py:101 msgid "is not empty" msgstr "" -#: netbox/utilities/forms/mixins.py:42 netbox/utilities/forms/mixins.py:52 +#: netbox/utilities/forms/mixins.py:45 netbox/utilities/forms/mixins.py:55 msgid "greater than" msgstr "" -#: netbox/utilities/forms/mixins.py:43 netbox/utilities/forms/mixins.py:53 +#: netbox/utilities/forms/mixins.py:46 netbox/utilities/forms/mixins.py:56 msgid "at least" msgstr "" -#: netbox/utilities/forms/mixins.py:44 netbox/utilities/forms/mixins.py:54 +#: netbox/utilities/forms/mixins.py:47 netbox/utilities/forms/mixins.py:57 msgid "less than" msgstr "" -#: netbox/utilities/forms/mixins.py:45 netbox/utilities/forms/mixins.py:55 +#: netbox/utilities/forms/mixins.py:48 netbox/utilities/forms/mixins.py:58 msgid "at most" msgstr "" -#: netbox/utilities/forms/mixins.py:62 +#: netbox/utilities/forms/mixins.py:65 msgid "after" msgstr "" -#: netbox/utilities/forms/mixins.py:63 +#: netbox/utilities/forms/mixins.py:66 msgid "on or after" msgstr "" -#: netbox/utilities/forms/mixins.py:64 +#: netbox/utilities/forms/mixins.py:67 msgid "before" msgstr "" -#: netbox/utilities/forms/mixins.py:65 +#: netbox/utilities/forms/mixins.py:68 msgid "on or before" msgstr "" -#: netbox/utilities/forms/mixins.py:82 +#: netbox/utilities/forms/mixins.py:85 msgid "has these tags" msgstr "" -#: netbox/utilities/forms/mixins.py:83 +#: netbox/utilities/forms/mixins.py:86 msgid "has any of these tags" msgstr "" -#: netbox/utilities/forms/mixins.py:84 +#: netbox/utilities/forms/mixins.py:87 msgid "does not have these tags" msgstr "" -#: netbox/utilities/forms/mixins.py:105 +#: netbox/utilities/forms/mixins.py:108 msgid "Background job" msgstr "" -#: netbox/utilities/forms/mixins.py:106 +#: netbox/utilities/forms/mixins.py:109 msgid "Execute this task via a background job" msgstr "" -#: netbox/utilities/forms/mixins.py:153 +#: netbox/utilities/forms/mixins.py:156 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:45 netbox/utilities/forms/utils.py:71 -#: netbox/utilities/forms/utils.py:88 netbox/utilities/forms/utils.py:90 +#: netbox/utilities/forms/utils.py:55 netbox/utilities/forms/utils.py:59 +#: netbox/utilities/forms/utils.py:91 netbox/utilities/forms/utils.py:108 +#: netbox/utilities/forms/utils.py:110 #, python-brace-format msgid "Range \"{value}\" is invalid." msgstr "" -#: netbox/utilities/forms/utils.py:77 +#: netbox/utilities/forms/utils.py:62 +#, python-brace-format +msgid "Range \"{value}\" is not within the permitted range ({min}-{max})." +msgstr "" + +#: netbox/utilities/forms/utils.py:97 #, python-brace-format msgid "" "Invalid range: Ending value ({end}) must be greater than beginning value " "({begin})." msgstr "" -#: netbox/utilities/forms/utils.py:245 +#: netbox/utilities/forms/utils.py:266 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" msgstr "" -#: netbox/utilities/forms/utils.py:251 +#: netbox/utilities/forms/utils.py:272 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" msgstr "" -#: netbox/utilities/forms/utils.py:260 +#: netbox/utilities/forms/utils.py:281 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" msgstr "" -#: netbox/utilities/forms/utils.py:283 +#: netbox/utilities/forms/utils.py:304 #, python-brace-format msgid "Unexpected column header \"{field}\" found." msgstr "" -#: netbox/utilities/forms/utils.py:285 +#: netbox/utilities/forms/utils.py:306 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" msgstr "" -#: netbox/utilities/forms/utils.py:289 +#: netbox/utilities/forms/utils.py:310 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" msgstr "" -#: netbox/utilities/forms/utils.py:297 +#: netbox/utilities/forms/utils.py:318 #, python-brace-format msgid "Required column header \"{header}\" not found." msgstr "" @@ -16802,7 +19047,7 @@ msgstr "" msgid "(automatically set)" msgstr "" -#: netbox/utilities/jinja2.py:157 +#: netbox/utilities/jinja2.py:166 #, python-brace-format msgid "Invalid template: {error}" msgstr "" @@ -16851,7 +19096,7 @@ msgstr "" msgid "Unknown app_label/model_name for {name}" msgstr "" -#: netbox/utilities/request.py:98 +#: netbox/utilities/request.py:118 #, python-brace-format msgid "Invalid IP address set for {header}: {ip}" msgstr "" @@ -16861,7 +19106,7 @@ msgstr "" msgid "A column named {name} is already defined for table {table_name}" msgstr "" -#: netbox/utilities/templates/builtins/customfield_value.html:50 +#: netbox/utilities/templates/builtins/customfield_value.html:54 msgid "Not defined" msgstr "" @@ -16944,49 +19189,98 @@ msgstr "" msgid "The test must define csv_update_data." msgstr "" -#: netbox/utilities/validators.py:71 +#: netbox/utilities/validators.py:73 #, python-brace-format msgid "{value} must be a multiple of {multiple}." msgstr "" -#: netbox/utilities/validators.py:83 +#: netbox/utilities/validators.py:102 #, python-brace-format msgid "{value} is not a valid regular expression." msgstr "" -#: netbox/utilities/views.py:84 +#: netbox/utilities/views.py:85 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "" -#: netbox/utilities/views.py:120 +#: netbox/utilities/views.py:121 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "" -#: netbox/utilities/views.py:144 +#: netbox/utilities/views.py:145 #, 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/choices.py:50 +#: netbox/virtualization/choices.py:22 netbox/vpn/choices.py:22 +#: netbox/vpn/choices.py:318 +msgid "Designated for future use but not yet in service" +msgstr "" + +#: netbox/virtualization/choices.py:26 +msgid "Being prepared for production use" +msgstr "" + +#: netbox/virtualization/choices.py:38 +msgid "Not currently in service" +msgstr "" + +#: netbox/virtualization/choices.py:61 +msgid "Powered off or not currently running" +msgstr "" + +#: netbox/virtualization/choices.py:65 +msgid "Powered on and operational" +msgstr "" + +#: netbox/virtualization/choices.py:69 +msgid "Designated for future use but not yet provisioned" +msgstr "" + +#: netbox/virtualization/choices.py:73 +msgid "Provisioned but not yet in service" +msgstr "" + +#: netbox/virtualization/choices.py:77 +msgid "In an error state or otherwise not functioning" +msgstr "" + +#: netbox/virtualization/choices.py:84 msgid "Paused" msgstr "" -#: netbox/virtualization/choices.py:62 +#: netbox/virtualization/choices.py:85 +msgid "Suspended with its state retained in memory" +msgstr "" + +#: netbox/virtualization/choices.py:99 msgid "On" msgstr "" -#: netbox/virtualization/choices.py:63 +#: netbox/virtualization/choices.py:100 +msgid "Automatically start when the host boots" +msgstr "" + +#: netbox/virtualization/choices.py:103 msgid "Off" msgstr "" -#: netbox/virtualization/choices.py:64 +#: netbox/virtualization/choices.py:104 +msgid "Do not start automatically when the host boots" +msgstr "" + +#: netbox/virtualization/choices.py:107 msgid "Last State" msgstr "" +#: netbox/virtualization/choices.py:108 +msgid "Restore the power state the machine had before the host shut down" +msgstr "" + #: netbox/virtualization/filtersets.py:54 msgid "Parent group (ID)" msgstr "" @@ -17026,18 +19320,18 @@ msgid "Default memory" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:100 -#: netbox/virtualization/forms/model_forms.py:184 +#: netbox/virtualization/forms/model_forms.py:202 msgid "Virtual Machine Type" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:101 -#: netbox/virtualization/forms/model_forms.py:185 +#: netbox/virtualization/forms/model_forms.py:203 msgid "Defaults" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:111 #: netbox/virtualization/forms/filtersets.py:147 -#: netbox/virtualization/forms/model_forms.py:199 +#: netbox/virtualization/forms/model_forms.py:217 #, python-brace-format msgid "Default memory ({unit})" msgstr "" @@ -17051,6 +19345,7 @@ msgstr "" #: netbox/virtualization/forms/bulk_edit.py:129 #: netbox/virtualization/forms/bulk_import.py:118 #: netbox/virtualization/forms/filtersets.py:235 +#: netbox/virtualization/forms/model_forms.py:229 #: netbox/virtualization/tables/virtualmachines.py:74 msgid "Start on boot" msgstr "" @@ -17061,32 +19356,32 @@ msgid "vCPUs" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:186 -#: netbox/virtualization/forms/model_forms.py:486 +#: netbox/virtualization/forms/model_forms.py:518 #: netbox/virtualization/tables/virtualmachines.py:122 msgid "Disk" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:196 -#: netbox/virtualization/forms/model_forms.py:274 +#: netbox/virtualization/forms/model_forms.py:304 #: netbox/virtualization/ui/panels.py:66 msgid "Placement" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:213 -#: netbox/virtualization/forms/model_forms.py:293 +#: netbox/virtualization/forms/model_forms.py:323 #, python-brace-format msgid "Memory ({unit})" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:214 -#: netbox/virtualization/forms/model_forms.py:294 +#: netbox/virtualization/forms/model_forms.py:324 #, python-brace-format msgid "Disk ({unit})" msgstr "" #: netbox/virtualization/forms/bulk_edit.py:380 #: netbox/virtualization/forms/filtersets.py:350 -#: netbox/virtualization/forms/model_forms.py:499 +#: netbox/virtualization/forms/model_forms.py:531 #, python-brace-format msgid "Size ({unit})" msgstr "" @@ -17127,40 +19422,40 @@ msgstr "" msgid "Virtual machine count" msgstr "" -#: netbox/virtualization/forms/model_forms.py:40 +#: netbox/virtualization/forms/model_forms.py:53 msgid "Cluster Type" msgstr "" -#: netbox/virtualization/forms/model_forms.py:52 +#: netbox/virtualization/forms/model_forms.py:65 msgid "Cluster Group" msgstr "" -#: netbox/virtualization/forms/model_forms.py:156 +#: netbox/virtualization/forms/model_forms.py:174 #, python-brace-format msgid "" "{device} belongs to a different {scope_field} ({device_scope}) than the " "cluster ({cluster_scope})" msgstr "" -#: netbox/virtualization/forms/model_forms.py:216 +#: netbox/virtualization/forms/model_forms.py:246 msgid "" "The site where this VM resides. Will be inferred automatically from the " "assigned cluster or device if left blank." msgstr "" -#: netbox/virtualization/forms/model_forms.py:228 +#: netbox/virtualization/forms/model_forms.py:258 msgid "" "Assign this VM to a cluster. Required when selecting a device that belongs " "to a cluster." msgstr "" -#: netbox/virtualization/forms/model_forms.py:240 +#: netbox/virtualization/forms/model_forms.py:270 msgid "" "Optionally pin this VM to a specific host device within a cluster, or assign " "it directly to a standalone device." msgstr "" -#: netbox/virtualization/forms/model_forms.py:304 +#: netbox/virtualization/forms/model_forms.py:334 msgid "Disk size is managed via the attachment of virtual disks." msgstr "" @@ -17234,20 +19529,12 @@ msgstr "" msgid "disk" msgstr "" -#: netbox/virtualization/models/virtualmachines.py:258 +#: netbox/virtualization/models/virtualmachines.py:269 msgid "Virtual machine name must be unique per cluster and tenant." msgstr "" -#: netbox/virtualization/models/virtualmachines.py:264 -msgid "Virtual machine name must be unique per cluster." -msgstr "" - -#: netbox/virtualization/models/virtualmachines.py:270 -msgid "Virtual machine name must be unique per device and tenant." -msgstr "" - #: netbox/virtualization/models/virtualmachines.py:276 -msgid "Virtual machine name must be unique per device." +msgid "Virtual machine name must be unique per device and tenant." msgstr "" #: netbox/virtualization/models/virtualmachines.py:279 @@ -17335,107 +19622,207 @@ msgstr "" msgid "VM count" msgstr "" -#: netbox/virtualization/views.py:377 +#: netbox/virtualization/views.py:382 #, python-brace-format msgid "Added {count} devices to cluster {cluster}" msgstr "" -#: netbox/virtualization/views.py:677 +#: netbox/virtualization/views.py:689 msgid "Assigned VLANs" msgstr "" -#: netbox/vpn/choices.py:35 -msgid "IPsec - Transport" +#: netbox/vpn/choices.py:24 netbox/vpn/choices.py:313 +msgid "Established and carrying traffic" msgstr "" -#: netbox/vpn/choices.py:36 -msgid "IPsec - Tunnel" -msgstr "" - -#: netbox/vpn/choices.py:37 -msgid "IP-in-IP" -msgstr "" - -#: netbox/vpn/choices.py:38 -msgid "GRE" -msgstr "" - -#: netbox/vpn/choices.py:39 -msgid "WireGuard" -msgstr "" - -#: netbox/vpn/choices.py:40 -msgid "OpenVPN" -msgstr "" - -#: netbox/vpn/choices.py:41 -msgid "L2TP" +#: netbox/vpn/choices.py:25 +msgid "Administratively disabled" msgstr "" #: netbox/vpn/choices.py:42 +msgid "IPsec - Transport" +msgstr "" + +#: netbox/vpn/choices.py:43 +msgid "IPsec encrypting only the packet payload between endpoints" +msgstr "" + +#: netbox/vpn/choices.py:47 +msgid "IPsec - Tunnel" +msgstr "" + +#: netbox/vpn/choices.py:48 +msgid "IPsec encrypting the entire original IP packet" +msgstr "" + +#: netbox/vpn/choices.py:50 +msgid "IP-in-IP" +msgstr "" + +#: netbox/vpn/choices.py:50 +msgid "Encapsulation of one IP packet within another" +msgstr "" + +#: netbox/vpn/choices.py:51 +msgid "GRE" +msgstr "" + +#: netbox/vpn/choices.py:51 +msgid "Generic Routing Encapsulation" +msgstr "" + +#: netbox/vpn/choices.py:52 +msgid "WireGuard" +msgstr "" + +#: netbox/vpn/choices.py:53 +msgid "OpenVPN" +msgstr "" + +#: netbox/vpn/choices.py:54 +msgid "L2TP" +msgstr "" + +#: netbox/vpn/choices.py:54 +msgid "Layer 2 Tunneling Protocol" +msgstr "" + +#: netbox/vpn/choices.py:55 msgid "PPTP" msgstr "" -#: netbox/vpn/choices.py:88 -msgid "Aggressive" +#: netbox/vpn/choices.py:55 +msgid "Point-to-Point Tunneling Protocol" msgstr "" -#: netbox/vpn/choices.py:89 -msgid "Main" +#: netbox/vpn/choices.py:76 +msgid "Symmetric endpoint in a point-to-point tunnel" msgstr "" -#: netbox/vpn/choices.py:100 -msgid "Pre-shared keys" +#: netbox/vpn/choices.py:77 +msgid "Central endpoint in a hub-and-spoke topology" msgstr "" #: netbox/vpn/choices.py:101 -msgid "Certificates" +msgid "Aggressive" msgstr "" #: netbox/vpn/choices.py:102 +msgid "Main" +msgstr "" + +#: netbox/vpn/choices.py:113 +msgid "Pre-shared keys" +msgstr "" + +#: netbox/vpn/choices.py:114 +msgid "Certificates" +msgstr "" + +#: netbox/vpn/choices.py:115 msgid "RSA signatures" msgstr "" -#: netbox/vpn/choices.py:103 +#: netbox/vpn/choices.py:116 msgid "DSA signatures" msgstr "" -#: 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 -#: netbox/vpn/choices.py:202 netbox/vpn/choices.py:203 -#: netbox/vpn/choices.py:204 netbox/vpn/choices.py:205 -#: netbox/vpn/choices.py:206 netbox/vpn/choices.py:207 -#: netbox/vpn/choices.py:208 netbox/vpn/choices.py:209 +#: netbox/vpn/choices.py:199 netbox/vpn/choices.py:200 +#: netbox/vpn/choices.py:201 netbox/vpn/choices.py:202 +#: netbox/vpn/choices.py:203 netbox/vpn/choices.py:204 +#: netbox/vpn/choices.py:205 netbox/vpn/choices.py:206 +#: netbox/vpn/choices.py:207 netbox/vpn/choices.py:208 +#: netbox/vpn/choices.py:209 netbox/vpn/choices.py:210 +#: netbox/vpn/choices.py:211 netbox/vpn/choices.py:212 +#: netbox/vpn/choices.py:213 netbox/vpn/choices.py:214 +#: netbox/vpn/choices.py:215 netbox/vpn/choices.py:216 +#: netbox/vpn/choices.py:217 netbox/vpn/choices.py:218 +#: netbox/vpn/choices.py:219 netbox/vpn/choices.py:220 +#: netbox/vpn/choices.py:221 netbox/vpn/choices.py:222 #, python-brace-format msgid "Group {n}" msgstr "" -#: netbox/vpn/choices.py:252 -msgid "Ethernet Private LAN" -msgstr "" - -#: netbox/vpn/choices.py:253 -msgid "Ethernet Virtual Private LAN" +#: netbox/vpn/choices.py:251 +msgid "Virtual Private Wire Service: point-to-point Layer 2 connectivity" msgstr "" #: netbox/vpn/choices.py:256 -msgid "Ethernet Private Tree" -msgstr "" - -#: netbox/vpn/choices.py:257 -msgid "Ethernet Virtual Private Tree" +msgid "Virtual Private LAN Service: multipoint Layer 2 connectivity" msgstr "" #: netbox/vpn/choices.py:260 +msgid "Virtual Extensible LAN overlay" +msgstr "" + +#: netbox/vpn/choices.py:261 +msgid "VXLAN with EVPN control plane" +msgstr "" + +#: netbox/vpn/choices.py:264 +msgid "Ethernet VPN over an MPLS transport" +msgstr "" + +#: netbox/vpn/choices.py:265 +msgid "Provider Backbone Bridging with EVPN" +msgstr "" + +#: netbox/vpn/choices.py:266 +msgid "Point-to-point service using an EVPN control plane" +msgstr "" + +#: netbox/vpn/choices.py:269 +msgid "Ethernet Private Line: dedicated point-to-point service" +msgstr "" + +#: netbox/vpn/choices.py:273 +msgid "Ethernet Virtual Private Line: multiplexed point-to-point service" +msgstr "" + +#: netbox/vpn/choices.py:277 +msgid "Ethernet Private LAN" +msgstr "" + +#: netbox/vpn/choices.py:277 +msgid "Dedicated multipoint-to-multipoint service" +msgstr "" + +#: netbox/vpn/choices.py:280 +msgid "Ethernet Virtual Private LAN" +msgstr "" + +#: netbox/vpn/choices.py:281 +msgid "Multiplexed multipoint-to-multipoint service" +msgstr "" + +#: netbox/vpn/choices.py:285 +msgid "Ethernet Private Tree" +msgstr "" + +#: netbox/vpn/choices.py:285 +msgid "Dedicated rooted multipoint service" +msgstr "" + +#: netbox/vpn/choices.py:288 +msgid "Ethernet Virtual Private Tree" +msgstr "" + +#: netbox/vpn/choices.py:289 +msgid "Multiplexed rooted multipoint service" +msgstr "" + +#: netbox/vpn/choices.py:293 msgid "SPB" msgstr "" +#: netbox/vpn/choices.py:293 +msgid "Shortest Path Bridging" +msgstr "" + +#: netbox/vpn/choices.py:320 +msgid "Being retired from service" +msgstr "" + #: netbox/vpn/filtersets.py:48 msgid "Tunnel group (ID)" msgstr "" @@ -17498,7 +19885,7 @@ msgid "Tunnel group" msgstr "" #: netbox/vpn/forms/bulk_edit.py:43 netbox/vpn/forms/bulk_import.py:47 -#: netbox/vpn/forms/filtersets.py:67 +#: netbox/vpn/forms/filtersets.py:67 netbox/vpn/forms/model_forms.py:57 msgid "Encapsulation" msgstr "" @@ -17514,21 +19901,24 @@ msgid "Tunnel ID" msgstr "" #: netbox/vpn/forms/bulk_edit.py:85 netbox/vpn/forms/bulk_import.py:144 -#: netbox/vpn/forms/filtersets.py:112 netbox/vpn/ui/panels.py:34 +#: netbox/vpn/forms/filtersets.py:112 netbox/vpn/forms/model_forms.py:318 +#: netbox/vpn/ui/panels.py:34 msgid "Authentication method" msgstr "" #: netbox/vpn/forms/bulk_edit.py:90 netbox/vpn/forms/bulk_edit.py:148 #: netbox/vpn/forms/bulk_import.py:148 netbox/vpn/forms/bulk_import.py:194 #: netbox/vpn/forms/filtersets.py:117 netbox/vpn/forms/filtersets.py:167 -#: netbox/vpn/ui/panels.py:35 netbox/vpn/ui/panels.py:56 +#: netbox/vpn/forms/model_forms.py:322 netbox/vpn/ui/panels.py:35 +#: netbox/vpn/ui/panels.py:56 msgid "Encryption algorithm" msgstr "" #: netbox/vpn/forms/bulk_edit.py:95 netbox/vpn/forms/bulk_edit.py:153 #: netbox/vpn/forms/bulk_import.py:152 netbox/vpn/forms/bulk_import.py:199 #: netbox/vpn/forms/filtersets.py:122 netbox/vpn/forms/filtersets.py:172 -#: netbox/vpn/ui/panels.py:36 netbox/vpn/ui/panels.py:57 +#: netbox/vpn/forms/model_forms.py:326 netbox/vpn/ui/panels.py:36 +#: netbox/vpn/ui/panels.py:57 msgid "Authentication algorithm" msgstr "" @@ -17559,13 +19949,13 @@ msgid "PFS group" msgstr "" #: netbox/vpn/forms/bulk_edit.py:201 netbox/vpn/forms/bulk_import.py:238 -#: netbox/vpn/forms/filtersets.py:214 netbox/vpn/forms/model_forms.py:370 +#: netbox/vpn/forms/filtersets.py:214 netbox/vpn/forms/model_forms.py:425 #: netbox/vpn/models/crypto.py:104 msgid "IKE policy" msgstr "" #: netbox/vpn/forms/bulk_edit.py:206 netbox/vpn/forms/bulk_import.py:243 -#: netbox/vpn/forms/filtersets.py:219 netbox/vpn/forms/model_forms.py:374 +#: netbox/vpn/forms/filtersets.py:219 netbox/vpn/forms/model_forms.py:429 #: netbox/vpn/models/crypto.py:207 msgid "IPSec policy" msgstr "" @@ -17586,8 +19976,8 @@ msgstr "" msgid "Device or virtual machine interface" msgstr "" -#: netbox/vpn/forms/bulk_import.py:106 netbox/vpn/forms/model_forms.py:100 -#: netbox/vpn/forms/model_forms.py:136 netbox/vpn/forms/model_forms.py:245 +#: netbox/vpn/forms/bulk_import.py:106 netbox/vpn/forms/model_forms.py:115 +#: netbox/vpn/forms/model_forms.py:151 netbox/vpn/forms/model_forms.py:265 #: netbox/vpn/tables/tunnels.py:101 netbox/vpn/ui/panels.py:28 msgid "Outside IP" msgstr "" @@ -17642,7 +20032,7 @@ msgid "IKE version" msgstr "" #: netbox/vpn/forms/filtersets.py:154 netbox/vpn/forms/filtersets.py:189 -#: netbox/vpn/forms/model_forms.py:296 netbox/vpn/forms/model_forms.py:333 +#: netbox/vpn/forms/model_forms.py:332 netbox/vpn/forms/model_forms.py:384 msgid "Proposal" msgstr "" @@ -17650,42 +20040,46 @@ msgstr "" msgid "Assigned Object Type" msgstr "" -#: netbox/vpn/forms/model_forms.py:34 netbox/vpn/forms/model_forms.py:47 +#: netbox/vpn/forms/model_forms.py:40 netbox/vpn/forms/model_forms.py:62 msgid "Tunnel Group" msgstr "" -#: netbox/vpn/forms/model_forms.py:53 +#: netbox/vpn/forms/model_forms.py:68 msgid "IPSec Profile" msgstr "" -#: netbox/vpn/forms/model_forms.py:93 netbox/vpn/forms/model_forms.py:128 -#: netbox/vpn/forms/model_forms.py:238 netbox/vpn/tables/tunnels.py:90 +#: netbox/vpn/forms/model_forms.py:108 netbox/vpn/forms/model_forms.py:143 +#: netbox/vpn/forms/model_forms.py:258 netbox/vpn/tables/tunnels.py:90 msgid "Tunnel interface" msgstr "" -#: netbox/vpn/forms/model_forms.py:148 +#: netbox/vpn/forms/model_forms.py:163 msgid "First Termination" msgstr "" -#: netbox/vpn/forms/model_forms.py:151 +#: netbox/vpn/forms/model_forms.py:166 msgid "Second Termination" msgstr "" -#: netbox/vpn/forms/model_forms.py:195 +#: netbox/vpn/forms/model_forms.py:210 msgid "This parameter is required when defining a termination." msgstr "" -#: netbox/vpn/forms/model_forms.py:314 netbox/vpn/forms/model_forms.py:351 +#: netbox/vpn/forms/model_forms.py:355 netbox/vpn/forms/model_forms.py:402 #: netbox/vpn/tables/crypto.py:65 netbox/vpn/tables/crypto.py:125 #: netbox/vpn/views.py:371 netbox/vpn/views.py:525 msgid "Proposals" msgstr "" -#: netbox/vpn/forms/model_forms.py:485 +#: netbox/vpn/forms/model_forms.py:373 +msgid "Encryption" +msgstr "" + +#: netbox/vpn/forms/model_forms.py:549 msgid "A termination must specify an interface or VLAN." msgstr "" -#: netbox/vpn/forms/model_forms.py:487 +#: netbox/vpn/forms/model_forms.py:551 msgid "" "A termination can only have one terminating object (an interface or VLAN)." msgstr "" @@ -17718,7 +20112,7 @@ msgstr "" msgid "proposals" msgstr "" -#: netbox/vpn/models/crypto.py:91 netbox/wireless/models.py:42 +#: netbox/vpn/models/crypto.py:91 netbox/wireless/models.py:43 msgid "pre-shared key" msgstr "" @@ -17774,10 +20168,6 @@ msgstr "" msgid "L2VPN termination" msgstr "" -#: netbox/vpn/models/l2vpn.py:117 -msgid "L2VPN terminations" -msgstr "" - #: netbox/vpn/models/l2vpn.py:132 #, python-brace-format msgid "L2VPN Termination already assigned ({assigned_object})" @@ -17790,43 +20180,39 @@ msgid "" "{terminations_count} already defined." msgstr "" -#: netbox/vpn/models/tunnels.py:26 +#: netbox/vpn/models/tunnels.py:25 msgid "tunnel group" msgstr "" -#: netbox/vpn/models/tunnels.py:27 +#: netbox/vpn/models/tunnels.py:26 msgid "tunnel groups" msgstr "" -#: netbox/vpn/models/tunnels.py:51 +#: netbox/vpn/models/tunnels.py:50 msgid "encapsulation" msgstr "" -#: netbox/vpn/models/tunnels.py:70 +#: netbox/vpn/models/tunnels.py:69 msgid "tunnel ID" msgstr "" -#: netbox/vpn/models/tunnels.py:92 +#: netbox/vpn/models/tunnels.py:80 msgid "tunnel" msgstr "" -#: netbox/vpn/models/tunnels.py:93 +#: netbox/vpn/models/tunnels.py:81 msgid "tunnels" msgstr "" -#: netbox/vpn/models/tunnels.py:145 +#: netbox/vpn/models/tunnels.py:133 msgid "An object may be terminated to only one tunnel at a time." msgstr "" -#: netbox/vpn/models/tunnels.py:151 +#: netbox/vpn/models/tunnels.py:139 msgid "tunnel termination" msgstr "" -#: netbox/vpn/models/tunnels.py:152 -msgid "tunnel terminations" -msgstr "" - -#: netbox/vpn/models/tunnels.py:169 +#: netbox/vpn/models/tunnels.py:157 #, python-brace-format msgid "{name} is already attached to a tunnel ({tunnel})." msgstr "" @@ -17907,22 +20293,70 @@ msgstr "" msgid "Access point" msgstr "" +#: netbox/wireless/choices.py:11 +msgid "Provides wireless network access to client devices" +msgstr "" + #: netbox/wireless/choices.py:12 msgid "Station" msgstr "" -#: netbox/wireless/choices.py:467 +#: netbox/wireless/choices.py:12 +msgid "Client device connecting to a wireless network" +msgstr "" + +#: netbox/wireless/choices.py:25 +msgid "In service and operational" +msgstr "" + +#: netbox/wireless/choices.py:26 +msgid "Set aside for future use" +msgstr "" + +#: netbox/wireless/choices.py:37 +msgid "Retained for reference but no longer in use" +msgstr "" + +#: netbox/wireless/choices.py:477 msgid "Open" msgstr "" -#: netbox/wireless/choices.py:469 +#: netbox/wireless/choices.py:477 +msgid "No authentication or encryption" +msgstr "" + +#: netbox/wireless/choices.py:478 +msgid "Wired Equivalent Privacy (legacy, insecure)" +msgstr "" + +#: netbox/wireless/choices.py:481 msgid "WPA Personal (PSK)" msgstr "" -#: netbox/wireless/choices.py:470 +#: netbox/wireless/choices.py:482 +msgid "Wi-Fi Protected Access using a shared pre-shared key" +msgstr "" + +#: netbox/wireless/choices.py:486 msgid "WPA Enterprise" msgstr "" +#: netbox/wireless/choices.py:487 +msgid "Wi-Fi Protected Access using 802.1X authentication" +msgstr "" + +#: netbox/wireless/choices.py:498 +msgid "Automatically negotiate the encryption cipher" +msgstr "" + +#: netbox/wireless/choices.py:499 +msgid "Temporal Key Integrity Protocol (legacy)" +msgstr "" + +#: netbox/wireless/choices.py:500 +msgid "Advanced Encryption Standard" +msgstr "" + #: netbox/wireless/forms/bulk_edit.py:70 netbox/wireless/forms/bulk_edit.py:112 #: netbox/wireless/forms/bulk_import.py:69 #: netbox/wireless/forms/bulk_import.py:72 @@ -17930,6 +20364,7 @@ msgstr "" #: netbox/wireless/forms/bulk_import.py:152 #: netbox/wireless/forms/filtersets.py:68 #: netbox/wireless/forms/filtersets.py:128 +#: netbox/wireless/forms/model_forms.py:59 msgid "Authentication cipher" msgstr "" @@ -17937,12 +20372,16 @@ msgstr "" msgid "Bridged VLAN" msgstr "" +#: netbox/wireless/forms/bulk_import.py:93 +msgid "Site of parent device A (if any)" +msgstr "" + #: netbox/wireless/forms/bulk_import.py:99 msgid "Parent device of assigned interface A" msgstr "" #: netbox/wireless/forms/bulk_import.py:102 -#: netbox/wireless/tables/wirelesslink.py:27 netbox/wireless/views.py:225 +#: netbox/wireless/tables/wirelesslink.py:27 netbox/wireless/views.py:232 msgid "Interface A" msgstr "" @@ -17950,12 +20389,16 @@ msgstr "" msgid "Assigned interface A" msgstr "" +#: netbox/wireless/forms/bulk_import.py:114 +msgid "Site of parent device B (if any)" +msgstr "" + #: netbox/wireless/forms/bulk_import.py:120 msgid "Parent device of assigned interface B" msgstr "" #: netbox/wireless/forms/bulk_import.py:123 -#: netbox/wireless/tables/wirelesslink.py:36 netbox/wireless/views.py:231 +#: netbox/wireless/tables/wirelesslink.py:36 netbox/wireless/views.py:238 msgid "Interface B" msgstr "" @@ -17963,55 +20406,51 @@ msgstr "" msgid "Assigned interface B" msgstr "" -#: netbox/wireless/forms/model_forms.py:29 +#: netbox/wireless/forms/model_forms.py:37 msgid "Wireless LAN Group" msgstr "" -#: netbox/wireless/forms/model_forms.py:162 +#: netbox/wireless/forms/model_forms.py:109 netbox/wireless/ui/panels.py:24 +msgid "Cipher" +msgstr "" + +#: netbox/wireless/forms/model_forms.py:205 msgid "Side B" msgstr "" -#: netbox/wireless/models.py:33 +#: netbox/wireless/models.py:34 msgid "authentication cipher" msgstr "" -#: netbox/wireless/models.py:76 +#: netbox/wireless/models.py:73 msgid "wireless LAN group" msgstr "" -#: netbox/wireless/models.py:77 +#: netbox/wireless/models.py:74 msgid "wireless LAN groups" msgstr "" -#: netbox/wireless/models.py:124 +#: netbox/wireless/models.py:121 msgid "wireless LAN" msgstr "" -#: netbox/wireless/models.py:142 +#: netbox/wireless/models.py:139 msgid "interface A" msgstr "" -#: netbox/wireless/models.py:148 +#: netbox/wireless/models.py:145 msgid "interface B" msgstr "" -#: netbox/wireless/models.py:196 +#: netbox/wireless/models.py:193 msgid "wireless link" msgstr "" -#: netbox/wireless/models.py:197 -msgid "wireless links" -msgstr "" - -#: netbox/wireless/models.py:212 netbox/wireless/models.py:218 +#: netbox/wireless/models.py:209 netbox/wireless/models.py:215 #, python-brace-format msgid "{type} is not a wireless interface." msgstr "" -#: netbox/wireless/ui/panels.py:24 -msgid "Cipher" -msgstr "" - #: netbox/wireless/ui/panels.py:25 msgid "PSK" msgstr "" @@ -18030,10 +20469,10 @@ msgstr "" msgid "Invalid channel attribute: {name}" msgstr "" -#: netbox/wireless/views.py:60 +#: netbox/wireless/views.py:67 msgid "Add Wireless LAN Group" msgstr "" -#: netbox/wireless/views.py:160 +#: netbox/wireless/views.py:167 msgid "Attached Interfaces" msgstr ""