Просмотр исходного кода

Update source translation strings

github-actions 8 часов назад
Родитель
Сommit
f6eb5dda0f
1 измененных файлов с 168 добавлено и 168 удалено
  1. 168 168
      netbox/translations/en/LC_MESSAGES/django.po

+ 168 - 168
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-04-01 05:38+0000\n"
+"POT-Creation-Date: 2026-04-02 05:30+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -1246,9 +1246,9 @@ msgid "Group Assignment"
 msgstr ""
 
 #: netbox/circuits/models/base.py:18 netbox/dcim/models/cables.py:81
-#: netbox/dcim/models/device_component_templates.py:343
-#: netbox/dcim/models/device_component_templates.py:578
-#: netbox/dcim/models/device_component_templates.py:651
+#: netbox/dcim/models/device_component_templates.py:328
+#: netbox/dcim/models/device_component_templates.py:563
+#: netbox/dcim/models/device_component_templates.py:636
 #: netbox/dcim/models/device_components.py:573
 #: netbox/dcim/models/device_components.py:1156
 #: netbox/dcim/models/device_components.py:1204
@@ -1285,8 +1285,8 @@ msgstr ""
 #: netbox/dcim/models/modules.py:219 netbox/dcim/models/power.py:95
 #: netbox/dcim/models/racks.py:301 netbox/dcim/models/racks.py:685
 #: netbox/dcim/models/sites.py:163 netbox/dcim/models/sites.py:287
-#: netbox/ipam/models/ip.py:244 netbox/ipam/models/ip.py:538
-#: netbox/ipam/models/ip.py:767 netbox/ipam/models/vlans.py:228
+#: netbox/ipam/models/ip.py:246 netbox/ipam/models/ip.py:548
+#: netbox/ipam/models/ip.py:781 netbox/ipam/models/vlans.py:228
 #: netbox/virtualization/models/clusters.py:70
 #: netbox/virtualization/models/virtualmachines.py:80
 #: netbox/vpn/models/l2vpn.py:36 netbox/vpn/models/tunnels.py:38
@@ -1381,7 +1381,7 @@ msgstr ""
 
 #: netbox/circuits/models/circuits.py:294
 #: netbox/circuits/models/virtual_circuits.py:146
-#: netbox/dcim/models/device_component_templates.py:68
+#: netbox/dcim/models/device_component_templates.py:69
 #: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:702
 #: netbox/extras/models/configs.py:42 netbox/extras/models/configs.py:95
 #: netbox/extras/models/configs.py:283 netbox/extras/models/customfields.py:149
@@ -1413,7 +1413,7 @@ 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/device_component_templates.py:54
+#: netbox/dcim/models/device_component_templates.py:55
 #: netbox/dcim/models/device_components.py:57 netbox/dcim/models/devices.py:533
 #: netbox/dcim/models/devices.py:1144 netbox/dcim/models/devices.py:1213
 #: netbox/dcim/models/modules.py:35 netbox/dcim/models/power.py:39
@@ -1507,8 +1507,8 @@ msgstr ""
 msgid "virtual circuits"
 msgstr ""
 
-#: netbox/circuits/models/virtual_circuits.py:135 netbox/ipam/models/ip.py:201
-#: netbox/ipam/models/ip.py:774 netbox/vpn/models/tunnels.py:109
+#: netbox/circuits/models/virtual_circuits.py:135 netbox/ipam/models/ip.py:203
+#: netbox/ipam/models/ip.py:788 netbox/vpn/models/tunnels.py:109
 msgid "role"
 msgstr ""
 
@@ -2276,13 +2276,13 @@ msgid "Config revision #{id}"
 msgstr ""
 
 #: netbox/core/models/data.py:45 netbox/dcim/models/cables.py:50
-#: netbox/dcim/models/device_component_templates.py:200
-#: netbox/dcim/models/device_component_templates.py:235
-#: netbox/dcim/models/device_component_templates.py:271
-#: netbox/dcim/models/device_component_templates.py:336
-#: netbox/dcim/models/device_component_templates.py:427
-#: netbox/dcim/models/device_component_templates.py:573
-#: netbox/dcim/models/device_component_templates.py:646
+#: netbox/dcim/models/device_component_templates.py:185
+#: netbox/dcim/models/device_component_templates.py:220
+#: netbox/dcim/models/device_component_templates.py:256
+#: netbox/dcim/models/device_component_templates.py:321
+#: netbox/dcim/models/device_component_templates.py:412
+#: netbox/dcim/models/device_component_templates.py:558
+#: netbox/dcim/models/device_component_templates.py:631
 #: netbox/dcim/models/device_components.py:370
 #: netbox/dcim/models/device_components.py:397
 #: netbox/dcim/models/device_components.py:428
@@ -2302,7 +2302,7 @@ msgid "URL"
 msgstr ""
 
 #: netbox/core/models/data.py:60
-#: netbox/dcim/models/device_component_templates.py:432
+#: netbox/dcim/models/device_component_templates.py:417
 #: netbox/dcim/models/device_components.py:605
 #: netbox/extras/models/models.py:81 netbox/extras/models/models.py:319
 #: netbox/extras/models/models.py:507 netbox/extras/models/models.py:586
@@ -2371,7 +2371,7 @@ msgstr ""
 msgid "File path relative to the data source's root"
 msgstr ""
 
-#: netbox/core/models/data.py:308 netbox/ipam/models/ip.py:519
+#: netbox/core/models/data.py:308 netbox/ipam/models/ip.py:529
 msgid "size"
 msgstr ""
 
@@ -2826,11 +2826,22 @@ msgstr ""
 msgid "Interface mode does not support tagged vlans"
 msgstr ""
 
-#: netbox/dcim/api/serializers_/devices.py:54
+#: netbox/dcim/api/serializers_/devices.py:55
 #: netbox/dcim/api/serializers_/devicetypes.py:28
 msgid "Position (U)"
 msgstr ""
 
+#: netbox/dcim/api/serializers_/devices.py:200 netbox/dcim/forms/common.py:114
+msgid ""
+"Cannot install module with placeholder values in a module bay with no "
+"position defined."
+msgstr ""
+
+#: netbox/dcim/api/serializers_/devices.py:209 netbox/dcim/forms/common.py:136
+#, python-brace-format
+msgid "A {model} named {name} already exists"
+msgstr ""
+
 #: netbox/dcim/api/serializers_/racks.py:113 netbox/dcim/ui/panels.py:49
 msgid "Facility ID"
 msgstr ""
@@ -3076,7 +3087,7 @@ msgstr ""
 #: netbox/dcim/choices.py:885 netbox/dcim/choices.py:1378
 #: netbox/dcim/forms/bulk_edit.py:1546 netbox/dcim/forms/filtersets.py:1577
 #: netbox/dcim/forms/filtersets.py:1703 netbox/dcim/forms/model_forms.py:1151
-#: netbox/dcim/forms/model_forms.py:1615 netbox/dcim/ui/panels.py:546
+#: netbox/dcim/forms/model_forms.py:1615 netbox/dcim/ui/panels.py:555
 #: netbox/netbox/navigation/menu.py:150 netbox/netbox/navigation/menu.py:154
 msgid "Wireless"
 msgstr ""
@@ -3696,7 +3707,7 @@ msgstr ""
 #: netbox/dcim/forms/filtersets.py:1634 netbox/dcim/forms/filtersets.py:1979
 #: netbox/dcim/forms/model_forms.py:1941 netbox/dcim/models/devices.py:1313
 #: netbox/dcim/models/devices.py:1336 netbox/dcim/ui/panels.py:366
-#: netbox/dcim/ui/panels.py:504 netbox/virtualization/filtersets.py:230
+#: netbox/dcim/ui/panels.py:513 netbox/virtualization/filtersets.py:230
 #: netbox/virtualization/filtersets.py:318
 #: netbox/virtualization/forms/filtersets.py:191
 #: netbox/virtualization/forms/filtersets.py:245
@@ -3862,7 +3873,7 @@ msgstr ""
 #: netbox/dcim/forms/bulk_import.py:1034 netbox/dcim/forms/filtersets.py:1687
 #: netbox/dcim/forms/model_forms.py:1581
 #: netbox/dcim/models/device_components.py:867
-#: netbox/dcim/tables/devices.py:667 netbox/dcim/ui/panels.py:507
+#: netbox/dcim/tables/devices.py:667 netbox/dcim/ui/panels.py:516
 #: netbox/ipam/filtersets.py:360 netbox/ipam/filtersets.py:372
 #: netbox/ipam/filtersets.py:511 netbox/ipam/filtersets.py:618
 #: netbox/ipam/filtersets.py:630 netbox/ipam/forms/bulk_edit.py:190
@@ -3873,8 +3884,8 @@ msgstr ""
 #: netbox/ipam/forms/model_forms.py:68 netbox/ipam/forms/model_forms.py:203
 #: netbox/ipam/forms/model_forms.py:250 netbox/ipam/forms/model_forms.py:303
 #: netbox/ipam/forms/model_forms.py:466 netbox/ipam/forms/model_forms.py:480
-#: netbox/ipam/forms/model_forms.py:494 netbox/ipam/models/ip.py:224
-#: netbox/ipam/models/ip.py:528 netbox/ipam/models/ip.py:757
+#: netbox/ipam/forms/model_forms.py:494 netbox/ipam/models/ip.py:226
+#: netbox/ipam/models/ip.py:538 netbox/ipam/models/ip.py:771
 #: netbox/ipam/models/vrfs.py:61 netbox/ipam/tables/ip.py:187
 #: netbox/ipam/tables/ip.py:258 netbox/ipam/tables/ip.py:311
 #: netbox/ipam/tables/ip.py:413 netbox/ipam/ui/panels.py:102
@@ -3901,7 +3912,7 @@ msgid "L2VPN (ID)"
 msgstr ""
 
 #: netbox/dcim/filtersets.py:2092 netbox/dcim/forms/filtersets.py:1692
-#: netbox/dcim/tables/devices.py:607 netbox/dcim/ui/panels.py:487
+#: netbox/dcim/tables/devices.py:607 netbox/dcim/ui/panels.py:496
 #: netbox/ipam/filtersets.py:1087 netbox/ipam/forms/filtersets.py:613
 #: netbox/ipam/tables/vlans.py:116 netbox/ipam/ui/panels.py:206
 #: netbox/virtualization/forms/filtersets.py:255
@@ -4465,7 +4476,7 @@ msgid "Maximum draw"
 msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1018
-#: netbox/dcim/models/device_component_templates.py:282
+#: netbox/dcim/models/device_component_templates.py:267
 #: netbox/dcim/models/device_components.py:440
 msgid "Maximum power draw (watts)"
 msgstr ""
@@ -4475,7 +4486,7 @@ msgid "Allocated draw"
 msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1024
-#: netbox/dcim/models/device_component_templates.py:289
+#: netbox/dcim/models/device_component_templates.py:274
 #: netbox/dcim/models/device_components.py:447
 msgid "Allocated power draw (watts)"
 msgstr ""
@@ -4491,23 +4502,23 @@ msgid "Feed leg"
 msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1112 netbox/dcim/forms/bulk_edit.py:1433
-#: netbox/dcim/forms/filtersets.py:1719 netbox/dcim/ui/panels.py:478
+#: netbox/dcim/forms/filtersets.py:1719 netbox/dcim/ui/panels.py:487
 msgid "Management only"
 msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1122 netbox/dcim/forms/bulk_edit.py:1439
 #: netbox/dcim/forms/bulk_import.py:985 netbox/dcim/forms/filtersets.py:1643
 #: netbox/dcim/forms/filtersets.py:1728 netbox/dcim/forms/object_import.py:91
-#: netbox/dcim/models/device_component_templates.py:452
-#: netbox/dcim/models/device_components.py:839 netbox/dcim/ui/panels.py:480
+#: netbox/dcim/models/device_component_templates.py:437
+#: netbox/dcim/models/device_components.py:839 netbox/dcim/ui/panels.py:489
 msgid "PoE mode"
 msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1128 netbox/dcim/forms/bulk_edit.py:1445
 #: netbox/dcim/forms/bulk_import.py:991 netbox/dcim/forms/filtersets.py:1648
 #: netbox/dcim/forms/filtersets.py:1733 netbox/dcim/forms/object_import.py:96
-#: netbox/dcim/models/device_component_templates.py:459
-#: netbox/dcim/models/device_components.py:846 netbox/dcim/ui/panels.py:481
+#: netbox/dcim/models/device_component_templates.py:444
+#: netbox/dcim/models/device_components.py:846 netbox/dcim/ui/panels.py:490
 msgid "PoE type"
 msgstr ""
 
@@ -4523,7 +4534,7 @@ msgid "Module"
 msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1413 netbox/dcim/tables/devices.py:746
-#: netbox/dcim/ui/panels.py:495
+#: netbox/dcim/ui/panels.py:504
 msgid "LAG"
 msgstr ""
 
@@ -4534,7 +4545,7 @@ msgstr ""
 #: netbox/dcim/forms/bulk_edit.py:1424 netbox/dcim/forms/bulk_import.py:819
 #: netbox/dcim/forms/bulk_import.py:845 netbox/dcim/forms/filtersets.py:1429
 #: netbox/dcim/forms/filtersets.py:1469 netbox/dcim/forms/filtersets.py:1607
-#: netbox/dcim/tables/devices.py:651 netbox/dcim/ui/panels.py:474
+#: netbox/dcim/tables/devices.py:651 netbox/dcim/ui/panels.py:483
 #: netbox/templates/circuits/inc/circuit_termination_fields.html:64
 msgid "Speed"
 msgstr ""
@@ -4562,7 +4573,7 @@ msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1470 netbox/dcim/forms/bulk_import.py:1007
 #: netbox/dcim/forms/model_forms.py:1553 netbox/dcim/tables/devices.py:616
-#: netbox/dcim/ui/panels.py:484 netbox/virtualization/forms/bulk_edit.py:213
+#: netbox/dcim/ui/panels.py:493 netbox/virtualization/forms/bulk_edit.py:213
 #: netbox/virtualization/forms/bulk_import.py:191
 #: netbox/virtualization/forms/model_forms.py:331
 msgid "Untagged VLAN"
@@ -4597,14 +4608,14 @@ msgid "Wireless LAN group"
 msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1522 netbox/dcim/forms/model_forms.py:1539
-#: netbox/dcim/tables/devices.py:660 netbox/dcim/ui/panels.py:561
+#: netbox/dcim/tables/devices.py:660 netbox/dcim/ui/panels.py:570
 #: netbox/netbox/navigation/menu.py:156
 #: netbox/wireless/tables/wirelesslan.py:20
 msgid "Wireless LANs"
 msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1531 netbox/dcim/forms/filtersets.py:1574
-#: netbox/dcim/forms/model_forms.py:1605 netbox/dcim/ui/panels.py:499
+#: netbox/dcim/forms/model_forms.py:1605 netbox/dcim/ui/panels.py:508
 #: netbox/ipam/forms/bulk_edit.py:227 netbox/ipam/forms/bulk_edit.py:313
 #: netbox/ipam/forms/filtersets.py:191 netbox/netbox/navigation/menu.py:112
 #: netbox/templates/ipam/panels/prefix_addressing.html:4
@@ -4627,7 +4638,7 @@ msgid "PoE"
 msgstr ""
 
 #: netbox/dcim/forms/bulk_edit.py:1534 netbox/dcim/forms/model_forms.py:1607
-#: netbox/dcim/ui/panels.py:491 netbox/virtualization/forms/bulk_edit.py:237
+#: netbox/dcim/ui/panels.py:500 netbox/virtualization/forms/bulk_edit.py:237
 #: netbox/virtualization/forms/model_forms.py:371
 msgid "Related Interfaces"
 msgstr ""
@@ -5220,42 +5231,24 @@ msgstr ""
 msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64"
 msgstr ""
 
-#: netbox/dcim/forms/common.py:19 netbox/dcim/models/device_components.py:615
-#: netbox/dcim/ui/panels.py:476 netbox/virtualization/forms/bulk_edit.py:190
+#: netbox/dcim/forms/common.py:20 netbox/dcim/models/device_components.py:615
+#: netbox/dcim/ui/panels.py:485 netbox/virtualization/forms/bulk_edit.py:190
 #: netbox/virtualization/ui/panels.py:61
 msgid "MTU"
 msgstr ""
 
-#: netbox/dcim/forms/common.py:59
+#: netbox/dcim/forms/common.py:60
 #, python-brace-format
 msgid ""
 "The tagged VLANs ({vlans}) must belong to the same site as the interface's "
 "parent device/VM, or they must be global"
 msgstr ""
 
-#: netbox/dcim/forms/common.py:126
-msgid ""
-"Cannot install module with placeholder values in a module bay with no "
-"position defined."
-msgstr ""
-
-#: netbox/dcim/forms/common.py:132
-#, python-brace-format
-msgid ""
-"Cannot install module with placeholder values in a module bay tree {level} "
-"in tree but {tokens} placeholders given."
-msgstr ""
-
-#: netbox/dcim/forms/common.py:147
+#: netbox/dcim/forms/common.py:127
 #, python-brace-format
 msgid "Cannot adopt {model} {name} as it already belongs to a module"
 msgstr ""
 
-#: netbox/dcim/forms/common.py:156
-#, python-brace-format
-msgid "A {model} named {name} already exists"
-msgstr ""
-
 #: netbox/dcim/forms/connections.py:59 netbox/dcim/forms/model_forms.py:879
 #: netbox/dcim/tables/power.py:63
 #: netbox/templates/dcim/inc/cable_termination.html:40
@@ -5359,7 +5352,7 @@ msgstr ""
 #: netbox/dcim/forms/filtersets.py:1500 netbox/dcim/forms/filtersets.py:1535
 #: netbox/dcim/forms/filtersets.py:1584 netbox/dcim/tables/devices.py:381
 #: netbox/dcim/tables/devices.py:682 netbox/dcim/ui/panels.py:377
-#: netbox/dcim/ui/panels.py:516 netbox/ipam/tables/vlans.py:174
+#: netbox/dcim/ui/panels.py:525 netbox/ipam/tables/vlans.py:174
 #: netbox/templates/circuits/inc/circuit_termination_fields.html:16
 msgid "Connection"
 msgstr ""
@@ -5375,11 +5368,11 @@ msgid "Mgmt only"
 msgstr ""
 
 #: netbox/dcim/forms/filtersets.py:1638 netbox/dcim/forms/model_forms.py:1593
-#: netbox/dcim/models/device_components.py:792 netbox/dcim/ui/panels.py:506
+#: netbox/dcim/models/device_components.py:792 netbox/dcim/ui/panels.py:515
 msgid "WWN"
 msgstr ""
 
-#: netbox/dcim/forms/filtersets.py:1653 netbox/dcim/ui/panels.py:482
+#: netbox/dcim/forms/filtersets.py:1653 netbox/dcim/ui/panels.py:491
 #: netbox/virtualization/forms/filtersets.py:260
 msgid "802.1Q mode"
 msgstr ""
@@ -5396,7 +5389,7 @@ msgstr ""
 msgid "Channel width (MHz)"
 msgstr ""
 
-#: netbox/dcim/forms/filtersets.py:1680 netbox/dcim/ui/panels.py:485
+#: netbox/dcim/forms/filtersets.py:1680 netbox/dcim/ui/panels.py:494
 msgid "Transmit power (dBm)"
 msgstr ""
 
@@ -5769,7 +5762,7 @@ msgid "profile"
 msgstr ""
 
 #: netbox/dcim/models/cables.py:76
-#: netbox/dcim/models/device_component_templates.py:62
+#: netbox/dcim/models/device_component_templates.py:63
 #: netbox/dcim/models/device_components.py:62
 #: netbox/extras/models/customfields.py:135
 msgid "label"
@@ -5887,225 +5880,225 @@ msgstr ""
 msgid "All links must match first link type"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:57
+#: netbox/dcim/models/device_component_templates.py:58
 #, 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:65
+#: netbox/dcim/models/device_component_templates.py:66
 #: netbox/dcim/models/device_components.py:65
 msgid "Physical label"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:110
+#: netbox/dcim/models/device_component_templates.py:111
 msgid "Component templates cannot be moved to a different device type."
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:161
+#: netbox/dcim/models/device_component_templates.py:162
 msgid ""
 "A component template cannot be associated with both a device type and a "
 "module type."
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:165
+#: netbox/dcim/models/device_component_templates.py:166
 msgid ""
 "A component template must be associated with either a device type or a "
 "module type."
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:210
+#: netbox/dcim/models/device_component_templates.py:195
 msgid "console port template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:211
+#: netbox/dcim/models/device_component_templates.py:196
 msgid "console port templates"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:245
+#: netbox/dcim/models/device_component_templates.py:230
 msgid "console server port template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:246
+#: netbox/dcim/models/device_component_templates.py:231
 msgid "console server port templates"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:278
+#: netbox/dcim/models/device_component_templates.py:263
 #: netbox/dcim/models/device_components.py:436
 msgid "maximum draw"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:285
+#: netbox/dcim/models/device_component_templates.py:270
 #: netbox/dcim/models/device_components.py:443
 msgid "allocated draw"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:295
+#: netbox/dcim/models/device_component_templates.py:280
 msgid "power port template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:296
+#: netbox/dcim/models/device_component_templates.py:281
 msgid "power port templates"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:316
+#: netbox/dcim/models/device_component_templates.py:301
 #: netbox/dcim/models/device_components.py:463
 #, python-brace-format
 msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)."
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:354
+#: netbox/dcim/models/device_component_templates.py:339
 #: netbox/dcim/models/device_components.py:565
 msgid "feed leg"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:359
+#: netbox/dcim/models/device_component_templates.py:344
 #: netbox/dcim/models/device_components.py:570
 msgid "Phase (for three-phase feeds)"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:365
+#: netbox/dcim/models/device_component_templates.py:350
 msgid "power outlet template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:366
+#: netbox/dcim/models/device_component_templates.py:351
 msgid "power outlet templates"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:375
+#: netbox/dcim/models/device_component_templates.py:360
 #, python-brace-format
 msgid "Parent power port ({power_port}) must belong to the same device type"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:381
+#: netbox/dcim/models/device_component_templates.py:366
 #, python-brace-format
 msgid "Parent power port ({power_port}) must belong to the same module type"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:437
+#: netbox/dcim/models/device_component_templates.py:422
 #: netbox/dcim/models/device_components.py:774
 msgid "management only"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:445
+#: netbox/dcim/models/device_component_templates.py:430
 #: netbox/dcim/models/device_components.py:639
 msgid "bridge interface"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:466
+#: netbox/dcim/models/device_component_templates.py:451
 #: netbox/dcim/models/device_components.py:800
 msgid "wireless role"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:472
+#: netbox/dcim/models/device_component_templates.py:457
 msgid "interface template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:473
+#: netbox/dcim/models/device_component_templates.py:458
 msgid "interface templates"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:482
+#: netbox/dcim/models/device_component_templates.py:467
 #, python-brace-format
 msgid "Bridge interface ({bridge}) must belong to the same device type"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:488
+#: netbox/dcim/models/device_component_templates.py:473
 #, python-brace-format
 msgid "Bridge interface ({bridge}) must belong to the same module type"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:556
+#: netbox/dcim/models/device_component_templates.py:541
 #, python-brace-format
 msgid "Rear port ({rear_port}) must belong to the same device type"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:582
-#: netbox/dcim/models/device_component_templates.py:655
+#: netbox/dcim/models/device_component_templates.py:567
+#: netbox/dcim/models/device_component_templates.py:640
 #: netbox/dcim/models/device_components.py:1160
 #: netbox/dcim/models/device_components.py:1208
 msgid "positions"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:603
+#: netbox/dcim/models/device_component_templates.py:588
 msgid "front port template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:604
+#: netbox/dcim/models/device_component_templates.py:589
 msgid "front port templates"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:615
+#: netbox/dcim/models/device_component_templates.py:600
 #, 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:666
+#: netbox/dcim/models/device_component_templates.py:651
 msgid "rear port template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:667
+#: netbox/dcim/models/device_component_templates.py:652
 msgid "rear port templates"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:678
+#: netbox/dcim/models/device_component_templates.py:663
 #, 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:710
+#: netbox/dcim/models/device_component_templates.py:695
 #: netbox/dcim/models/device_components.py:1255
 msgid "position"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:713
+#: netbox/dcim/models/device_component_templates.py:698
 #: netbox/dcim/models/device_components.py:1258
 msgid "Identifier to reference when renaming installed components"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:719
+#: netbox/dcim/models/device_component_templates.py:704
 msgid "module bay template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:720
+#: netbox/dcim/models/device_component_templates.py:705
 msgid "module bay templates"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:750
+#: netbox/dcim/models/device_component_templates.py:737
 msgid "device bay template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:751
+#: netbox/dcim/models/device_component_templates.py:738
 msgid "device bay templates"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:765
+#: netbox/dcim/models/device_component_templates.py:752
 #, 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:820
+#: netbox/dcim/models/device_component_templates.py:807
 #: netbox/dcim/models/device_components.py:1415
 msgid "part ID"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:822
+#: netbox/dcim/models/device_component_templates.py:809
 #: netbox/dcim/models/device_components.py:1417
 msgid "Manufacturer-assigned part identifier"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:839
+#: netbox/dcim/models/device_component_templates.py:826
 msgid "inventory item template"
 msgstr ""
 
-#: netbox/dcim/models/device_component_templates.py:840
+#: netbox/dcim/models/device_component_templates.py:827
 msgid "inventory item templates"
 msgstr ""
 
@@ -6234,7 +6227,7 @@ msgid "tagged VLANs"
 msgstr ""
 
 #: netbox/dcim/models/device_components.py:661
-#: netbox/dcim/tables/devices.py:625 netbox/dcim/ui/panels.py:483
+#: netbox/dcim/tables/devices.py:625 netbox/dcim/ui/panels.py:492
 #: netbox/ipam/forms/bulk_edit.py:451 netbox/ipam/forms/bulk_import.py:547
 #: netbox/ipam/forms/filtersets.py:608 netbox/ipam/forms/model_forms.py:684
 #: netbox/ipam/tables/vlans.py:109 netbox/ipam/ui/panels.py:205
@@ -7549,7 +7542,7 @@ msgstr ""
 msgid "FHRP Groups"
 msgstr ""
 
-#: netbox/dcim/tables/devices.py:613 netbox/dcim/ui/panels.py:486
+#: netbox/dcim/tables/devices.py:613 netbox/dcim/ui/panels.py:495
 #: netbox/virtualization/ui/panels.py:64 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
@@ -7565,7 +7558,7 @@ msgstr ""
 msgid "VDCs"
 msgstr ""
 
-#: netbox/dcim/tables/devices.py:671 netbox/dcim/ui/panels.py:531
+#: netbox/dcim/tables/devices.py:671 netbox/dcim/ui/panels.py:540
 msgid "Virtual Circuit"
 msgstr ""
 
@@ -7875,18 +7868,25 @@ msgstr ""
 msgid "Primary for interface"
 msgstr ""
 
-#: netbox/dcim/ui/panels.py:424
+#: netbox/dcim/ui/panels.py:425
 msgid "Virtual Chassis Members"
 msgstr ""
 
-#: netbox/dcim/ui/panels.py:453
+#: netbox/dcim/ui/panels.py:462
 msgid "Power Utilization"
 msgstr ""
 
-#: netbox/dcim/ui/panels.py:508
+#: netbox/dcim/ui/panels.py:517
 msgid "VLAN translation"
 msgstr ""
 
+#: netbox/dcim/utils.py:77
+#, 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:151
 #, python-brace-format
 msgid "Disconnected {count} {type}"
@@ -8000,7 +8000,7 @@ msgstr ""
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr ""
 
-#: netbox/extras/api/customfields.py:83
+#: netbox/extras/api/customfields.py:100
 #, python-brace-format
 msgid "Unknown related object(s): {name}"
 msgstr ""
@@ -9004,7 +9004,7 @@ msgstr ""
 #: netbox/extras/models/configs.py:91 netbox/extras/models/models.py:331
 #: netbox/extras/models/models.py:503 netbox/extras/models/models.py:582
 #: netbox/extras/models/search.py:49 netbox/extras/models/tags.py:45
-#: netbox/ipam/models/ip.py:195 netbox/netbox/models/mixins.py:32
+#: netbox/ipam/models/ip.py:197 netbox/netbox/models/mixins.py:32
 msgid "weight"
 msgstr ""
 
@@ -10368,7 +10368,7 @@ msgstr ""
 msgid "IP address (ID)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1259 netbox/ipam/models/ip.py:825
+#: netbox/ipam/filtersets.py:1259 netbox/ipam/models/ip.py:839
 msgid "IP address"
 msgstr ""
 
@@ -10474,7 +10474,7 @@ msgstr ""
 
 #: netbox/ipam/forms/bulk_edit.py:221 netbox/ipam/forms/bulk_edit.py:265
 #: netbox/ipam/forms/filtersets.py:273 netbox/ipam/forms/filtersets.py:332
-#: netbox/ipam/models/ip.py:263
+#: netbox/ipam/models/ip.py:265
 msgid "Treat as fully utilized"
 msgstr ""
 
@@ -10487,7 +10487,7 @@ msgstr ""
 msgid "Treat as populated"
 msgstr ""
 
-#: netbox/ipam/forms/bulk_edit.py:307 netbox/ipam/models/ip.py:809
+#: netbox/ipam/forms/bulk_edit.py:307 netbox/ipam/models/ip.py:823
 msgid "DNS name"
 msgstr ""
 
@@ -10989,190 +10989,190 @@ msgid ""
 "({aggregate})."
 msgstr ""
 
-#: netbox/ipam/models/ip.py:202
+#: netbox/ipam/models/ip.py:204
 msgid "roles"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:215 netbox/ipam/models/ip.py:284
+#: netbox/ipam/models/ip.py:217 netbox/ipam/models/ip.py:286
 msgid "prefix"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:216
+#: netbox/ipam/models/ip.py:218
 msgid "IPv4 or IPv6 network with mask"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:245
+#: netbox/ipam/models/ip.py:247
 msgid "Operational status of this prefix"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:253
+#: netbox/ipam/models/ip.py:255
 msgid "The primary function of this prefix"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:256
+#: netbox/ipam/models/ip.py:258
 msgid "is a pool"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:258
+#: netbox/ipam/models/ip.py:260
 msgid "All IP addresses within this prefix are considered usable"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:261 netbox/ipam/models/ip.py:558
+#: netbox/ipam/models/ip.py:263 netbox/ipam/models/ip.py:568
 msgid "mark utilized"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:285
+#: netbox/ipam/models/ip.py:287
 msgid "prefixes"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:309
+#: netbox/ipam/models/ip.py:311
 msgid "Cannot create prefix with /0 mask."
 msgstr ""
 
-#: netbox/ipam/models/ip.py:316 netbox/ipam/models/ip.py:915
+#: netbox/ipam/models/ip.py:318 netbox/ipam/models/ip.py:929
 #, python-brace-format
 msgid "VRF {vrf}"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:316 netbox/ipam/models/ip.py:915
+#: netbox/ipam/models/ip.py:318 netbox/ipam/models/ip.py:929
 msgid "global table"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:318
+#: netbox/ipam/models/ip.py:320
 #, python-brace-format
 msgid "Duplicate prefix found in {table}: {prefix}"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:511
+#: netbox/ipam/models/ip.py:521
 msgid "start address"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:512 netbox/ipam/models/ip.py:516
-#: netbox/ipam/models/ip.py:749
+#: netbox/ipam/models/ip.py:522 netbox/ipam/models/ip.py:526
+#: netbox/ipam/models/ip.py:763
 msgid "IPv4 or IPv6 address (with mask)"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:515
+#: netbox/ipam/models/ip.py:525
 msgid "end address"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:542
+#: netbox/ipam/models/ip.py:552
 msgid "Operational status of this range"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:550
+#: netbox/ipam/models/ip.py:560
 msgid "The primary function of this range"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:553
+#: netbox/ipam/models/ip.py:563
 msgid "mark populated"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:555
+#: netbox/ipam/models/ip.py:565
 msgid "Prevent the creation of IP addresses within this range"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:560
+#: netbox/ipam/models/ip.py:570
 msgid "Report space as fully utilized"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:569
+#: netbox/ipam/models/ip.py:579
 msgid "IP range"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:570
+#: netbox/ipam/models/ip.py:580
 msgid "IP ranges"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:583
+#: netbox/ipam/models/ip.py:593
 msgid "Starting and ending IP address versions must match"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:589
+#: netbox/ipam/models/ip.py:599
 msgid "Starting and ending IP address masks must match"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:596
+#: netbox/ipam/models/ip.py:606
 #, python-brace-format
 msgid ""
 "Ending address must be greater than the starting address ({start_address})"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:624
+#: netbox/ipam/models/ip.py:634
 #, python-brace-format
 msgid "Defined addresses overlap with range {overlapping_range} in VRF {vrf}"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:633
+#: netbox/ipam/models/ip.py:643
 #, python-brace-format
 msgid "Defined range exceeds maximum supported size ({max_size})"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:748 netbox/tenancy/models/contacts.py:78
+#: netbox/ipam/models/ip.py:762 netbox/tenancy/models/contacts.py:78
 msgid "address"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:771
+#: netbox/ipam/models/ip.py:785
 msgid "The operational status of this IP"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:779
+#: netbox/ipam/models/ip.py:793
 msgid "The functional role of this IP"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:802 netbox/ipam/ui/panels.py:126
+#: netbox/ipam/models/ip.py:816 netbox/ipam/ui/panels.py:126
 msgid "NAT (inside)"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:803
+#: netbox/ipam/models/ip.py:817
 msgid "The IP for which this address is the \"outside\" IP"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:810
+#: netbox/ipam/models/ip.py:824
 msgid "Hostname or FQDN (not case-sensitive)"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:826 netbox/ipam/models/services.py:86
+#: netbox/ipam/models/ip.py:840 netbox/ipam/models/services.py:86
 msgid "IP addresses"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:886
+#: netbox/ipam/models/ip.py:900
 msgid "Cannot create IP address with /0 mask."
 msgstr ""
 
-#: netbox/ipam/models/ip.py:892
+#: netbox/ipam/models/ip.py:906
 #, python-brace-format
 msgid "{ip} is a network ID, which may not be assigned to an interface."
 msgstr ""
 
-#: netbox/ipam/models/ip.py:903
+#: netbox/ipam/models/ip.py:917
 #, python-brace-format
 msgid "{ip} is a broadcast address, which may not be assigned to an interface."
 msgstr ""
 
-#: netbox/ipam/models/ip.py:917
+#: netbox/ipam/models/ip.py:931
 #, python-brace-format
 msgid "Duplicate IP address found in {table}: {ipaddress}"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:933
+#: netbox/ipam/models/ip.py:947
 #, python-brace-format
 msgid "Cannot create IP address {ip} inside range {range}."
 msgstr ""
 
-#: netbox/ipam/models/ip.py:954
+#: netbox/ipam/models/ip.py:968
 msgid ""
 "Cannot reassign IP address while it is designated as the primary IP for the "
 "parent object"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:961
+#: netbox/ipam/models/ip.py:975
 msgid ""
 "Cannot reassign IP address while it is designated as the OOB IP for the "
 "parent object"
 msgstr ""
 
-#: netbox/ipam/models/ip.py:967
+#: netbox/ipam/models/ip.py:981
 msgid "Only IPv6 addresses can be assigned SLAAC status"
 msgstr ""