瀏覽代碼

Update source translation strings

github-actions 5 月之前
父節點
當前提交
81401b9e17
共有 1 個文件被更改,包括 230 次插入162 次删除
  1. 230 162
      netbox/translations/en/LC_MESSAGES/django.po

+ 230 - 162
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: 2025-09-13 05:03+0000\n"
+"POT-Creation-Date: 2025-09-16 05:02+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"
@@ -20,7 +20,7 @@ msgstr ""
 
 #: netbox/account/tables.py:27 netbox/templates/account/token.html:22
 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39
-#: netbox/users/forms/model_forms.py:113
+#: netbox/users/forms/model_forms.py:119
 msgid "Key"
 msgstr ""
 
@@ -57,7 +57,7 @@ msgstr ""
 
 #: netbox/account/tables.py:45 netbox/templates/account/token.html:55
 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122
-#: netbox/users/forms/model_forms.py:125
+#: netbox/users/forms/model_forms.py:131
 msgid "Allowed IPs"
 msgstr ""
 
@@ -84,9 +84,9 @@ 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:1571
-#: netbox/dcim/choices.py:1629 netbox/dcim/choices.py:1696
-#: netbox/dcim/choices.py:1718 netbox/virtualization/choices.py:20
+#: netbox/dcim/choices.py:257 netbox/dcim/choices.py:1835
+#: netbox/dcim/choices.py:1893 netbox/dcim/choices.py:1960
+#: netbox/dcim/choices.py:1982 netbox/virtualization/choices.py:20
 #: netbox/virtualization/choices.py:46 netbox/vpn/choices.py:18
 #: netbox/vpn/choices.py:281
 msgid "Planned"
@@ -100,8 +100,8 @@ msgstr ""
 #: 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:1628 netbox/dcim/choices.py:1695
-#: netbox/dcim/choices.py:1717 netbox/extras/tables/tables.py:598
+#: netbox/dcim/choices.py:1892 netbox/dcim/choices.py:1959
+#: netbox/dcim/choices.py:1981 netbox/extras/tables/tables.py:598
 #: netbox/ipam/choices.py:31 netbox/ipam/choices.py:49
 #: netbox/ipam/choices.py:69 netbox/ipam/choices.py:154
 #: netbox/templates/extras/configcontext.html:29
@@ -113,8 +113,8 @@ msgid "Active"
 msgstr ""
 
 #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:202
-#: netbox/dcim/choices.py:255 netbox/dcim/choices.py:1627
-#: netbox/dcim/choices.py:1697 netbox/dcim/choices.py:1716
+#: netbox/dcim/choices.py:255 netbox/dcim/choices.py:1891
+#: netbox/dcim/choices.py:1961 netbox/dcim/choices.py:1980
 #: netbox/virtualization/choices.py:24 netbox/virtualization/choices.py:44
 msgid "Offline"
 msgstr ""
@@ -127,7 +127,7 @@ msgstr ""
 msgid "Decommissioned"
 msgstr ""
 
-#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1640
+#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1904
 #: netbox/templates/dcim/interface.html:135
 #: netbox/templates/virtualization/vminterface.html:83
 #: netbox/tenancy/choices.py:17
@@ -167,7 +167,7 @@ msgstr ""
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1108
 #: netbox/dcim/filtersets.py:1430 netbox/dcim/filtersets.py:1528
 #: netbox/dcim/filtersets.py:2221 netbox/dcim/filtersets.py:2464
-#: netbox/dcim/filtersets.py:2522 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2522 netbox/ipam/filtersets.py:955
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgstr ""
@@ -180,7 +180,7 @@ msgstr ""
 #: netbox/dcim/filtersets.py:1437 netbox/dcim/filtersets.py:1535
 #: netbox/dcim/filtersets.py:2228 netbox/dcim/filtersets.py:2471
 #: netbox/dcim/filtersets.py:2529 netbox/extras/filtersets.py:646
-#: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
+#: netbox/ipam/filtersets.py:962 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgstr ""
@@ -192,7 +192,7 @@ msgstr ""
 #: netbox/dcim/filtersets.py:1121 netbox/dcim/filtersets.py:1443
 #: netbox/dcim/filtersets.py:1541 netbox/dcim/filtersets.py:2234
 #: netbox/dcim/filtersets.py:2477 netbox/dcim/filtersets.py:2535
-#: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
+#: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:968
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgstr ""
@@ -205,7 +205,7 @@ msgstr ""
 #: netbox/dcim/filtersets.py:1548 netbox/dcim/filtersets.py:2241
 #: netbox/dcim/filtersets.py:2484 netbox/dcim/filtersets.py:2542
 #: netbox/extras/filtersets.py:652 netbox/ipam/filtersets.py:246
-#: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
+#: netbox/ipam/filtersets.py:975 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgstr ""
 
@@ -233,7 +233,7 @@ msgstr ""
 #: netbox/extras/filtersets.py:662 netbox/ipam/forms/bulk_edit.py:479
 #: netbox/ipam/forms/bulk_import.py:475 netbox/ipam/forms/filtersets.py:161
 #: netbox/ipam/forms/filtersets.py:236 netbox/ipam/forms/filtersets.py:457
-#: netbox/ipam/forms/filtersets.py:552 netbox/ipam/forms/model_forms.py:680
+#: netbox/ipam/forms/filtersets.py:552 netbox/ipam/forms/model_forms.py:673
 #: netbox/ipam/tables/vlans.py:89 netbox/ipam/tables/vlans.py:199
 #: netbox/templates/dcim/device.html:22
 #: netbox/templates/dcim/inc/cable_termination.html:8
@@ -262,7 +262,7 @@ msgstr ""
 #: netbox/circuits/filtersets.py:315 netbox/dcim/base_filtersets.py:53
 #: netbox/dcim/filtersets.py:245 netbox/dcim/filtersets.py:366
 #: netbox/dcim/filtersets.py:461 netbox/extras/filtersets.py:668
-#: netbox/ipam/filtersets.py:257 netbox/ipam/filtersets.py:984
+#: netbox/ipam/filtersets.py:257 netbox/ipam/filtersets.py:985
 #: netbox/virtualization/filtersets.py:169 netbox/vpn/filtersets.py:366
 msgid "Site (slug)"
 msgstr ""
@@ -321,7 +321,7 @@ msgstr ""
 #: netbox/dcim/filtersets.py:1132 netbox/dcim/filtersets.py:1455
 #: netbox/dcim/filtersets.py:1553 netbox/dcim/filtersets.py:2246
 #: netbox/dcim/filtersets.py:2488 netbox/dcim/filtersets.py:2547
-#: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
+#: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:979
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgstr ""
@@ -812,7 +812,7 @@ msgstr ""
 #: netbox/templates/vpn/l2vpn.html:26 netbox/templates/vpn/tunnel.html:25
 #: netbox/templates/wireless/wirelesslan.html:22
 #: netbox/templates/wireless/wirelesslink.html:17
-#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195
+#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:201
 #: netbox/virtualization/forms/bulk_edit.py:71
 #: netbox/virtualization/forms/bulk_edit.py:100
 #: netbox/virtualization/forms/bulk_import.py:55
@@ -1003,7 +1003,7 @@ msgstr ""
 #: netbox/ipam/forms/model_forms.py:85 netbox/ipam/forms/model_forms.py:120
 #: netbox/ipam/forms/model_forms.py:142 netbox/ipam/forms/model_forms.py:167
 #: netbox/ipam/forms/model_forms.py:234 netbox/ipam/forms/model_forms.py:272
-#: netbox/ipam/forms/model_forms.py:331 netbox/ipam/forms/model_forms.py:632
+#: netbox/ipam/forms/model_forms.py:331 netbox/ipam/forms/model_forms.py:625
 #: netbox/netbox/navigation/menu.py:24
 #: netbox/templates/dcim/device_edit.html:87
 #: netbox/templates/dcim/htmx/cable_edit.html:75
@@ -1109,7 +1109,7 @@ msgstr ""
 #: netbox/ipam/forms/filtersets.py:305 netbox/ipam/forms/filtersets.py:384
 #: netbox/ipam/forms/filtersets.py:572 netbox/ipam/forms/model_forms.py:195
 #: netbox/ipam/forms/model_forms.py:221 netbox/ipam/forms/model_forms.py:260
-#: netbox/ipam/forms/model_forms.py:695 netbox/ipam/tables/ip.py:210
+#: netbox/ipam/forms/model_forms.py:688 netbox/ipam/tables/ip.py:210
 #: netbox/ipam/tables/ip.py:269 netbox/ipam/tables/ip.py:325
 #: netbox/ipam/tables/vlans.py:101 netbox/ipam/tables/vlans.py:213
 #: netbox/templates/circuits/virtualcircuittermination.html:42
@@ -1377,7 +1377,7 @@ msgstr ""
 #: netbox/templates/extras/configcontext.html:36
 #: netbox/templates/ipam/ipaddress.html:59
 #: netbox/templates/ipam/vlan_edit.html:42
-#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:324
+#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:339
 msgid "Assignment"
 msgstr ""
 
@@ -1386,7 +1386,7 @@ msgstr ""
 #: netbox/circuits/tables/circuits.py:191 netbox/dcim/forms/bulk_edit.py:127
 #: netbox/dcim/forms/bulk_import.py:103 netbox/dcim/forms/model_forms.py:126
 #: netbox/dcim/tables/sites.py:103 netbox/extras/forms/filtersets.py:572
-#: netbox/ipam/filtersets.py:994 netbox/ipam/forms/bulk_edit.py:488
+#: netbox/ipam/filtersets.py:995 netbox/ipam/forms/bulk_edit.py:488
 #: netbox/ipam/forms/bulk_import.py:482 netbox/ipam/forms/model_forms.py:571
 #: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:93
 #: netbox/ipam/tables/vlans.py:204
@@ -1579,7 +1579,7 @@ msgstr ""
 #: netbox/extras/models/notifications.py:131 netbox/extras/models/tags.py:33
 #: netbox/ipam/models/vlans.py:373 netbox/netbox/models/__init__.py:115
 #: netbox/netbox/models/__init__.py:150 netbox/netbox/models/__init__.py:200
-#: netbox/users/models/permissions.py:23 netbox/users/models/tokens.py:57
+#: netbox/users/models/permissions.py:24 netbox/users/models/tokens.py:57
 #: netbox/users/models/users.py:33
 #: netbox/virtualization/models/virtualmachines.py:281
 msgid "description"
@@ -1620,7 +1620,7 @@ msgstr ""
 #: netbox/ipam/models/vrfs.py:75 netbox/netbox/models/__init__.py:142
 #: netbox/netbox/models/__init__.py:190 netbox/tenancy/models/contacts.py:56
 #: netbox/tenancy/models/tenants.py:19 netbox/tenancy/models/tenants.py:42
-#: netbox/users/models/permissions.py:19 netbox/users/models/users.py:28
+#: netbox/users/models/permissions.py:20 netbox/users/models/users.py:28
 #: netbox/virtualization/models/clusters.py:52
 #: netbox/virtualization/models/virtualmachines.py:71
 #: netbox/virtualization/models/virtualmachines.py:276
@@ -2084,7 +2084,7 @@ 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:1630 netbox/dcim/choices.py:1720
+#: netbox/dcim/choices.py:1894 netbox/dcim/choices.py:1984
 #: netbox/virtualization/choices.py:48
 msgid "Failed"
 msgstr ""
@@ -2212,7 +2212,7 @@ msgstr ""
 
 #: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23
 #: netbox/templates/account/password.html:12
-#: netbox/users/forms/model_forms.py:171
+#: netbox/users/forms/model_forms.py:177
 msgid "Password"
 msgstr ""
 
@@ -2255,7 +2255,7 @@ msgid "User name"
 msgstr ""
 
 #: netbox/core/forms/bulk_edit.py:26 netbox/core/forms/filtersets.py:43
-#: netbox/core/tables/data.py:27 netbox/dcim/choices.py:1678
+#: netbox/core/tables/data.py:27 netbox/dcim/choices.py:1942
 #: netbox/dcim/forms/bulk_edit.py:1201 netbox/dcim/forms/bulk_edit.py:1482
 #: netbox/dcim/forms/filtersets.py:1458 netbox/dcim/tables/devices.py:586
 #: netbox/dcim/tables/devicetypes.py:231 netbox/extras/forms/bulk_edit.py:127
@@ -2382,7 +2382,7 @@ msgstr ""
 #: netbox/templates/users/user.html:4 netbox/templates/users/user.html:12
 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174
 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125
-#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193
+#: netbox/users/forms/model_forms.py:162 netbox/users/forms/model_forms.py:199
 #: netbox/users/tables.py:19
 msgid "User"
 msgstr ""
@@ -2443,7 +2443,7 @@ msgstr ""
 msgid "Rack Elevations"
 msgstr ""
 
-#: netbox/core/forms/model_forms.py:160 netbox/dcim/choices.py:1559
+#: netbox/core/forms/model_forms.py:160 netbox/dcim/choices.py:1813
 #: netbox/dcim/forms/bulk_edit.py:1044 netbox/dcim/forms/bulk_edit.py:1436
 #: netbox/dcim/forms/bulk_edit.py:1457 netbox/dcim/tables/racks.py:161
 #: netbox/netbox/navigation/menu.py:313 netbox/netbox/navigation/menu.py:317
@@ -2486,7 +2486,7 @@ msgstr ""
 
 #: netbox/core/forms/model_forms.py:170 netbox/dcim/forms/filtersets.py:762
 #: netbox/templates/core/inc/config_data.html:127
-#: netbox/users/forms/model_forms.py:65
+#: netbox/users/forms/model_forms.py:71
 msgid "Miscellaneous"
 msgstr ""
 
@@ -2617,7 +2617,7 @@ msgstr ""
 #: netbox/dcim/models/device_components.py:548
 #: netbox/extras/models/models.py:74 netbox/extras/models/models.py:313
 #: netbox/extras/models/models.py:494 netbox/extras/models/models.py:573
-#: netbox/users/models/permissions.py:28
+#: netbox/users/models/permissions.py:29
 msgid "enabled"
 msgstr ""
 
@@ -3081,8 +3081,8 @@ msgid "Staging"
 msgstr ""
 
 #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:208
-#: netbox/dcim/choices.py:260 netbox/dcim/choices.py:1572
-#: netbox/dcim/choices.py:1721 netbox/virtualization/choices.py:23
+#: netbox/dcim/choices.py:260 netbox/dcim/choices.py:1836
+#: netbox/dcim/choices.py:1985 netbox/virtualization/choices.py:23
 #: netbox/virtualization/choices.py:49 netbox/vpn/choices.py:282
 msgid "Decommissioning"
 msgstr ""
@@ -3147,7 +3147,7 @@ msgstr ""
 msgid "Millimeters"
 msgstr ""
 
-#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1594
+#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1858
 msgid "Inches"
 msgstr ""
 
@@ -3183,7 +3183,7 @@ msgstr ""
 #: netbox/dcim/tables/devices.py:1006 netbox/dcim/tables/devices.py:1165
 #: netbox/dcim/tables/sites.py:28 netbox/dcim/tables/sites.py:62
 #: netbox/dcim/tables/sites.py:147 netbox/ipam/forms/bulk_import.py:568
-#: netbox/ipam/forms/model_forms.py:777 netbox/ipam/tables/fhrp.py:59
+#: netbox/ipam/forms/model_forms.py:770 netbox/ipam/tables/fhrp.py:59
 #: netbox/ipam/tables/ip.py:336 netbox/ipam/tables/services.py:44
 #: netbox/templates/dcim/devicerole.html:34
 #: netbox/templates/dcim/interface.html:108
@@ -3231,7 +3231,7 @@ msgid "Rear"
 msgstr ""
 
 #: netbox/dcim/choices.py:205 netbox/dcim/choices.py:258
-#: netbox/dcim/choices.py:1719 netbox/virtualization/choices.py:47
+#: netbox/dcim/choices.py:1983 netbox/virtualization/choices.py:47
 msgid "Staged"
 msgstr ""
 
@@ -3264,7 +3264,7 @@ msgid "Top to bottom"
 msgstr ""
 
 #: netbox/dcim/choices.py:235 netbox/dcim/choices.py:280
-#: netbox/dcim/choices.py:1338
+#: netbox/dcim/choices.py:1557
 msgid "Passive"
 msgstr ""
 
@@ -3293,8 +3293,8 @@ msgid "Proprietary"
 msgstr ""
 
 #: netbox/dcim/choices.py:604 netbox/dcim/choices.py:849
-#: netbox/dcim/choices.py:1250 netbox/dcim/choices.py:1252
-#: netbox/dcim/choices.py:1488 netbox/dcim/choices.py:1490
+#: netbox/dcim/choices.py:1469 netbox/dcim/choices.py:1471
+#: netbox/dcim/choices.py:1707 netbox/dcim/choices.py:1709
 #: netbox/netbox/navigation/menu.py:209
 msgid "Other"
 msgstr ""
@@ -3307,11 +3307,11 @@ msgstr ""
 msgid "Physical"
 msgstr ""
 
-#: netbox/dcim/choices.py:880 netbox/dcim/choices.py:1051
+#: netbox/dcim/choices.py:880 netbox/dcim/choices.py:1147
 msgid "Virtual"
 msgstr ""
 
-#: netbox/dcim/choices.py:881 netbox/dcim/choices.py:1127
+#: netbox/dcim/choices.py:881 netbox/dcim/choices.py:1346
 #: netbox/dcim/forms/bulk_edit.py:1642 netbox/dcim/forms/filtersets.py:1418
 #: netbox/dcim/forms/model_forms.py:1126 netbox/dcim/forms/model_forms.py:1579
 #: netbox/netbox/navigation/menu.py:147 netbox/netbox/navigation/menu.py:151
@@ -3319,11 +3319,11 @@ msgstr ""
 msgid "Wireless"
 msgstr ""
 
-#: netbox/dcim/choices.py:1049
+#: netbox/dcim/choices.py:1145
 msgid "Virtual interfaces"
 msgstr ""
 
-#: netbox/dcim/choices.py:1052 netbox/dcim/forms/bulk_edit.py:1495
+#: netbox/dcim/choices.py:1148 netbox/dcim/forms/bulk_edit.py:1495
 #: netbox/dcim/forms/bulk_import.py:922 netbox/dcim/forms/model_forms.py:1108
 #: netbox/dcim/tables/devices.py:713 netbox/templates/dcim/interface.html:112
 #: netbox/templates/virtualization/vminterface.html:43
@@ -3333,27 +3333,67 @@ msgstr ""
 msgid "Bridge"
 msgstr ""
 
-#: netbox/dcim/choices.py:1053
+#: netbox/dcim/choices.py:1149
 msgid "Link Aggregation Group (LAG)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1057
-msgid "Ethernet (fixed)"
+#: netbox/dcim/choices.py:1153
+msgid "FastEthernet (100 Mbps)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1074
-msgid "Ethernet (modular)"
+#: netbox/dcim/choices.py:1162
+msgid "GigabitEthernet (1 Gbps)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1111
-msgid "Ethernet (backplane)"
+#: netbox/dcim/choices.py:1180
+msgid "2.5/5 Gbps Ethernet"
 msgstr ""
 
-#: netbox/dcim/choices.py:1143
+#: netbox/dcim/choices.py:1187
+msgid "10 Gbps Ethernet"
+msgstr ""
+
+#: netbox/dcim/choices.py:1202
+msgid "25 Gbps Ethernet"
+msgstr ""
+
+#: netbox/dcim/choices.py:1212
+msgid "40 Gbps Ethernet"
+msgstr ""
+
+#: netbox/dcim/choices.py:1222
+msgid "50 Gbps Ethernet"
+msgstr ""
+
+#: netbox/dcim/choices.py:1232
+msgid "100 Gbps Ethernet"
+msgstr ""
+
+#: netbox/dcim/choices.py:1252
+msgid "200 Gbps Ethernet"
+msgstr ""
+
+#: netbox/dcim/choices.py:1266
+msgid "400 Gbps Ethernet"
+msgstr ""
+
+#: netbox/dcim/choices.py:1284
+msgid "800 Gbps Ethernet"
+msgstr ""
+
+#: netbox/dcim/choices.py:1293
+msgid "Pluggable transceivers"
+msgstr ""
+
+#: netbox/dcim/choices.py:1330
+msgid "Backplane Ethernet"
+msgstr ""
+
+#: netbox/dcim/choices.py:1362
 msgid "Cellular"
 msgstr ""
 
-#: netbox/dcim/choices.py:1195 netbox/dcim/forms/filtersets.py:385
+#: netbox/dcim/choices.py:1414 netbox/dcim/forms/filtersets.py:385
 #: netbox/dcim/forms/filtersets.py:839 netbox/dcim/forms/filtersets.py:1041
 #: netbox/dcim/forms/filtersets.py:1640
 #: netbox/templates/dcim/inventoryitem.html:56
@@ -3361,127 +3401,147 @@ msgstr ""
 msgid "Serial"
 msgstr ""
 
-#: netbox/dcim/choices.py:1210
+#: netbox/dcim/choices.py:1429
 msgid "Coaxial"
 msgstr ""
 
-#: netbox/dcim/choices.py:1231
+#: netbox/dcim/choices.py:1450
 msgid "Stacking"
 msgstr ""
 
-#: netbox/dcim/choices.py:1283
+#: netbox/dcim/choices.py:1502
 msgid "Half"
 msgstr ""
 
-#: netbox/dcim/choices.py:1284
+#: netbox/dcim/choices.py:1503
 msgid "Full"
 msgstr ""
 
-#: netbox/dcim/choices.py:1285 netbox/netbox/preferences.py:42
+#: netbox/dcim/choices.py:1504 netbox/netbox/preferences.py:42
 #: netbox/wireless/choices.py:480
 msgid "Auto"
 msgstr ""
 
-#: netbox/dcim/choices.py:1297
+#: netbox/dcim/choices.py:1516
 msgid "Access"
 msgstr ""
 
-#: netbox/dcim/choices.py:1298 netbox/ipam/tables/vlans.py:150
+#: netbox/dcim/choices.py:1517 netbox/ipam/tables/vlans.py:150
 #: netbox/ipam/tables/vlans.py:195
 #: netbox/templates/dcim/inc/interface_vlans_table.html:7
 msgid "Tagged"
 msgstr ""
 
-#: netbox/dcim/choices.py:1299
+#: netbox/dcim/choices.py:1518
 msgid "Tagged (All)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1300 netbox/templates/ipam/vlan_edit.html:26
+#: netbox/dcim/choices.py:1519 netbox/templates/ipam/vlan_edit.html:26
 msgid "Q-in-Q (802.1ad)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1329
+#: netbox/dcim/choices.py:1548
 msgid "IEEE Standard"
 msgstr ""
 
-#: netbox/dcim/choices.py:1340
+#: netbox/dcim/choices.py:1559
 msgid "Passive 24V (2-pair)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1341
+#: netbox/dcim/choices.py:1560
 msgid "Passive 24V (4-pair)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1342
+#: netbox/dcim/choices.py:1561
 msgid "Passive 48V (2-pair)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1343
+#: netbox/dcim/choices.py:1562
 msgid "Passive 48V (4-pair)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1416 netbox/dcim/choices.py:1529
+#: netbox/dcim/choices.py:1635
 msgid "Copper"
 msgstr ""
 
-#: netbox/dcim/choices.py:1439
+#: netbox/dcim/choices.py:1658
 msgid "Fiber Optic"
 msgstr ""
 
-#: netbox/dcim/choices.py:1475 netbox/dcim/choices.py:1558
+#: netbox/dcim/choices.py:1694 netbox/dcim/choices.py:1819
 msgid "USB"
 msgstr ""
 
-#: netbox/dcim/choices.py:1545
-msgid "Fiber"
+#: netbox/dcim/choices.py:1763
+msgid "Copper - Twisted Pair (UTP/STP)"
 msgstr ""
 
-#: netbox/dcim/choices.py:1570 netbox/dcim/forms/filtersets.py:1305
+#: netbox/dcim/choices.py:1777
+msgid "Copper - Twinax (DAC)"
+msgstr ""
+
+#: netbox/dcim/choices.py:1784
+msgid "Copper - Coaxial"
+msgstr ""
+
+#: netbox/dcim/choices.py:1790
+msgid "Fiber - Multimode"
+msgstr ""
+
+#: netbox/dcim/choices.py:1801
+msgid "Fiber - Single-mode"
+msgstr ""
+
+#: netbox/dcim/choices.py:1809
+msgid "Fiber - Other"
+msgstr ""
+
+#: netbox/dcim/choices.py:1834 netbox/dcim/forms/filtersets.py:1305
 msgid "Connected"
 msgstr ""
 
-#: netbox/dcim/choices.py:1589 netbox/netbox/choices.py:177
+#: netbox/dcim/choices.py:1853 netbox/netbox/choices.py:177
 msgid "Kilometers"
 msgstr ""
 
-#: netbox/dcim/choices.py:1590 netbox/netbox/choices.py:178
+#: netbox/dcim/choices.py:1854 netbox/netbox/choices.py:178
 #: netbox/templates/dcim/cable_trace.html:65
 msgid "Meters"
 msgstr ""
 
-#: netbox/dcim/choices.py:1591
+#: netbox/dcim/choices.py:1855
 msgid "Centimeters"
 msgstr ""
 
-#: netbox/dcim/choices.py:1592 netbox/netbox/choices.py:179
+#: netbox/dcim/choices.py:1856 netbox/netbox/choices.py:179
 msgid "Miles"
 msgstr ""
 
-#: netbox/dcim/choices.py:1593 netbox/netbox/choices.py:180
+#: netbox/dcim/choices.py:1857 netbox/netbox/choices.py:180
 #: netbox/templates/dcim/cable_trace.html:66
 msgid "Feet"
 msgstr ""
 
-#: netbox/dcim/choices.py:1641
+#: netbox/dcim/choices.py:1905
 msgid "Redundant"
 msgstr ""
 
-#: netbox/dcim/choices.py:1662
+#: netbox/dcim/choices.py:1926
 msgid "Single phase"
 msgstr ""
 
-#: netbox/dcim/choices.py:1663
+#: netbox/dcim/choices.py:1927
 msgid "Three-phase"
 msgstr ""
 
-#: netbox/dcim/choices.py:1679 netbox/extras/choices.py:53
+#: netbox/dcim/choices.py:1943 netbox/extras/choices.py:53
 #: netbox/netbox/preferences.py:32 netbox/netbox/preferences.py:71
 #: netbox/templates/extras/customfield.html:78 netbox/vpn/choices.py:20
 #: netbox/wireless/choices.py:27
 msgid "Disabled"
 msgstr ""
 
-#: netbox/dcim/choices.py:1680
+#: netbox/dcim/choices.py:1944
 msgid "Faulty"
 msgstr ""
 
@@ -3512,7 +3572,7 @@ msgid "Parent site group (slug)"
 msgstr ""
 
 #: netbox/dcim/filtersets.py:167 netbox/extras/filtersets.py:422
-#: netbox/ipam/filtersets.py:836 netbox/ipam/filtersets.py:988
+#: netbox/ipam/filtersets.py:837 netbox/ipam/filtersets.py:989
 msgid "Group (ID)"
 msgstr ""
 
@@ -3559,14 +3619,14 @@ msgstr ""
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:928
 #: netbox/dcim/filtersets.py:1077 netbox/dcim/filtersets.py:2164
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
-#: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
+#: netbox/ipam/filtersets.py:999 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgstr ""
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:934
 #: netbox/dcim/filtersets.py:1084 netbox/dcim/filtersets.py:2170
 #: netbox/extras/filtersets.py:695 netbox/ipam/filtersets.py:382
-#: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
+#: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1005
 #: netbox/virtualization/filtersets.py:184
 msgid "Role (slug)"
 msgstr ""
@@ -3812,14 +3872,14 @@ msgstr ""
 
 #: netbox/dcim/filtersets.py:1487 netbox/dcim/filtersets.py:1585
 #: netbox/dcim/filtersets.py:1775 netbox/ipam/filtersets.py:606
-#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1174
+#: netbox/ipam/filtersets.py:847 netbox/ipam/filtersets.py:1175
 #: netbox/virtualization/filtersets.py:127 netbox/vpn/filtersets.py:382
 msgid "Device (ID)"
 msgstr ""
 
 #: netbox/dcim/filtersets.py:1493 netbox/dcim/filtersets.py:1591
 #: netbox/dcim/filtersets.py:1770 netbox/ipam/filtersets.py:601
-#: netbox/ipam/filtersets.py:841 netbox/ipam/filtersets.py:1169
+#: netbox/ipam/filtersets.py:842 netbox/ipam/filtersets.py:1170
 #: netbox/vpn/filtersets.py:377
 msgid "Device (name)"
 msgstr ""
@@ -3859,13 +3919,13 @@ msgid "Cable (ID)"
 msgstr ""
 
 #: netbox/dcim/filtersets.py:1780 netbox/ipam/filtersets.py:611
-#: netbox/ipam/filtersets.py:851 netbox/ipam/filtersets.py:1179
+#: netbox/ipam/filtersets.py:852 netbox/ipam/filtersets.py:1180
 #: netbox/vpn/filtersets.py:388
 msgid "Virtual machine (name)"
 msgstr ""
 
 #: netbox/dcim/filtersets.py:1785 netbox/ipam/filtersets.py:616
-#: netbox/ipam/filtersets.py:856 netbox/ipam/filtersets.py:1184
+#: netbox/ipam/filtersets.py:857 netbox/ipam/filtersets.py:1185
 #: netbox/virtualization/filtersets.py:253
 #: netbox/virtualization/filtersets.py:304 netbox/vpn/filtersets.py:393
 msgid "Virtual machine (ID)"
@@ -3940,13 +4000,13 @@ msgstr ""
 msgid "VRF (RD)"
 msgstr ""
 
-#: netbox/dcim/filtersets.py:1873 netbox/ipam/filtersets.py:1036
+#: netbox/dcim/filtersets.py:1873 netbox/ipam/filtersets.py:1037
 #: netbox/vpn/filtersets.py:345
 msgid "L2VPN (ID)"
 msgstr ""
 
 #: netbox/dcim/filtersets.py:1879 netbox/dcim/forms/filtersets.py:1531
-#: netbox/dcim/tables/devices.py:603 netbox/ipam/filtersets.py:1042
+#: netbox/dcim/tables/devices.py:603 netbox/ipam/filtersets.py:1043
 #: netbox/ipam/forms/filtersets.py:592 netbox/ipam/tables/vlans.py:115
 #: netbox/templates/dcim/interface.html:99 netbox/templates/ipam/vlan.html:82
 #: netbox/templates/vpn/l2vpntermination.html:12
@@ -3957,14 +4017,14 @@ msgstr ""
 msgid "L2VPN"
 msgstr ""
 
-#: netbox/dcim/filtersets.py:1884 netbox/ipam/filtersets.py:1117
+#: netbox/dcim/filtersets.py:1884 netbox/ipam/filtersets.py:1118
 msgid "VLAN Translation Policy (ID)"
 msgstr ""
 
 #: netbox/dcim/filtersets.py:1890 netbox/dcim/forms/filtersets.py:1497
 #: netbox/dcim/forms/model_forms.py:1562
 #: netbox/dcim/models/device_components.py:611
-#: netbox/ipam/forms/filtersets.py:511 netbox/ipam/forms/model_forms.py:721
+#: netbox/ipam/forms/filtersets.py:511 netbox/ipam/forms/model_forms.py:714
 #: netbox/templates/ipam/vlantranslationpolicy.html:11
 #: netbox/virtualization/forms/bulk_edit.py:248
 #: netbox/virtualization/forms/filtersets.py:251
@@ -5156,7 +5216,7 @@ msgstr ""
 msgid "Parent VM of assigned interface (if any)"
 msgstr ""
 
-#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/filtersets.py:1047
+#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/filtersets.py:1048
 #: netbox/ipam/forms/bulk_import.py:328
 msgid "Assigned interface"
 msgstr ""
@@ -5513,15 +5573,15 @@ msgid "A virtual chassis member already exists in position {vc_position}."
 msgstr ""
 
 #: netbox/dcim/forms/mixins.py:27 netbox/dcim/forms/mixins.py:88
-#: netbox/ipam/forms/bulk_edit.py:425 netbox/ipam/forms/model_forms.py:618
+#: netbox/ipam/forms/bulk_edit.py:425 netbox/ipam/forms/model_forms.py:611
 msgid "Scope type"
 msgstr ""
 
 #: netbox/dcim/forms/mixins.py:30 netbox/dcim/forms/mixins.py:91
 #: netbox/ipam/forms/bulk_edit.py:270 netbox/ipam/forms/bulk_edit.py:428
 #: netbox/ipam/forms/bulk_edit.py:447 netbox/ipam/forms/filtersets.py:181
-#: netbox/ipam/forms/model_forms.py:232 netbox/ipam/forms/model_forms.py:621
-#: netbox/ipam/forms/model_forms.py:631 netbox/ipam/tables/ip.py:195
+#: netbox/ipam/forms/model_forms.py:232 netbox/ipam/forms/model_forms.py:614
+#: netbox/ipam/forms/model_forms.py:624 netbox/ipam/tables/ip.py:195
 #: netbox/ipam/tables/vlans.py:40 netbox/templates/ipam/prefix.html:48
 #: netbox/templates/ipam/vlangroup.html:38
 #: netbox/templates/virtualization/cluster.html:42
@@ -6292,7 +6352,7 @@ msgstr ""
 #: netbox/dcim/models/device_components.py:604
 #: netbox/dcim/tables/devices.py:621 netbox/ipam/forms/bulk_edit.py:521
 #: netbox/ipam/forms/bulk_import.py:514 netbox/ipam/forms/filtersets.py:587
-#: netbox/ipam/forms/model_forms.py:701 netbox/ipam/tables/vlans.py:108
+#: netbox/ipam/forms/model_forms.py:694 netbox/ipam/tables/vlans.py:108
 #: netbox/templates/dcim/interface.html:86 netbox/templates/ipam/vlan.html:77
 #: netbox/templates/virtualization/vminterface.html:60
 msgid "Q-in-Q SVLAN"
@@ -7578,7 +7638,7 @@ msgstr ""
 msgid "Allocated draw (W)"
 msgstr ""
 
-#: netbox/dcim/tables/devices.py:591 netbox/ipam/forms/model_forms.py:794
+#: netbox/dcim/tables/devices.py:591 netbox/ipam/forms/model_forms.py:787
 #: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:683
 #: netbox/ipam/views.py:784 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
@@ -8399,7 +8459,7 @@ msgstr ""
 #: netbox/extras/forms/model_forms.py:256
 #: netbox/extras/forms/model_forms.py:299
 #: netbox/extras/forms/model_forms.py:452
-#: netbox/extras/forms/model_forms.py:569 netbox/users/forms/model_forms.py:284
+#: netbox/extras/forms/model_forms.py:569 netbox/users/forms/model_forms.py:290
 msgid "Object types"
 msgstr ""
 
@@ -8495,8 +8555,8 @@ msgstr ""
 #: netbox/extras/forms/bulk_import.py:285
 #: netbox/extras/forms/model_forms.py:400 netbox/netbox/navigation/menu.py:414
 #: netbox/templates/extras/notificationgroup.html:41
-#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237
-#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:310
+#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:243
+#: netbox/users/forms/model_forms.py:255 netbox/users/forms/model_forms.py:316
 #: netbox/users/tables.py:102
 msgid "Users"
 msgstr ""
@@ -8512,8 +8572,8 @@ msgstr ""
 #: netbox/templates/tenancy/contact.html:21
 #: netbox/tenancy/forms/bulk_edit.py:144 netbox/tenancy/forms/filtersets.py:78
 #: netbox/tenancy/forms/model_forms.py:99 netbox/tenancy/tables/contacts.py:68
-#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194
-#: netbox/users/forms/model_forms.py:315 netbox/users/tables.py:35
+#: netbox/users/forms/model_forms.py:188 netbox/users/forms/model_forms.py:200
+#: netbox/users/forms/model_forms.py:321 netbox/users/tables.py:35
 #: netbox/users/tables.py:106
 msgid "Groups"
 msgstr ""
@@ -10097,51 +10157,51 @@ msgstr ""
 msgid "NAT inside IP address (ID)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1027
+#: netbox/ipam/filtersets.py:1028
 msgid "Q-in-Q SVLAN (ID)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1031
+#: netbox/ipam/filtersets.py:1032
 msgid "Q-in-Q SVLAN number (1-4094)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1052
+#: netbox/ipam/filtersets.py:1053
 msgid "Assigned VM interface"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1123
+#: netbox/ipam/filtersets.py:1124
 msgid "VLAN Translation Policy (name)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1189
+#: netbox/ipam/filtersets.py:1190
 msgid "FHRP Group (name)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1194
+#: netbox/ipam/filtersets.py:1195
 msgid "FHRP Group (ID)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1199
+#: netbox/ipam/filtersets.py:1200
 msgid "IP address (ID)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1205 netbox/ipam/models/ip.py:816
+#: netbox/ipam/filtersets.py:1206 netbox/ipam/models/ip.py:816
 msgid "IP address"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1257
+#: netbox/ipam/filtersets.py:1258
 msgid "Primary IPv4 (ID)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1263
+#: netbox/ipam/filtersets.py:1264
 msgid "Primary IPv4 (address)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1268
+#: netbox/ipam/filtersets.py:1269
 msgid "Primary IPv6 (ID)"
 msgstr ""
 
-#: netbox/ipam/filtersets.py:1274
+#: netbox/ipam/filtersets.py:1275
 msgid "Primary IPv6 (address)"
 msgstr ""
 
@@ -10202,7 +10262,7 @@ msgid "Date added"
 msgstr ""
 
 #: netbox/ipam/forms/bulk_edit.py:213 netbox/ipam/forms/filtersets.py:266
-#: netbox/ipam/forms/model_forms.py:629 netbox/ipam/forms/model_forms.py:677
+#: netbox/ipam/forms/model_forms.py:622 netbox/ipam/forms/model_forms.py:670
 #: netbox/ipam/tables/ip.py:202 netbox/templates/ipam/vlan_edit.html:49
 #: netbox/templates/ipam/vlangroup.html:27
 msgid "VLAN Group"
@@ -10312,14 +10372,14 @@ msgid "Site & Group"
 msgstr ""
 
 #: netbox/ipam/forms/bulk_edit.py:557 netbox/ipam/forms/bulk_import.py:538
-#: netbox/ipam/forms/model_forms.py:733 netbox/ipam/tables/vlans.py:258
+#: netbox/ipam/forms/model_forms.py:726 netbox/ipam/tables/vlans.py:258
 #: netbox/templates/ipam/vlantranslationrule.html:14
 #: netbox/vpn/forms/model_forms.py:322 netbox/vpn/forms/model_forms.py:359
 msgid "Policy"
 msgstr ""
 
-#: netbox/ipam/forms/bulk_edit.py:578 netbox/ipam/forms/model_forms.py:751
-#: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/services.py:19
+#: netbox/ipam/forms/bulk_edit.py:578 netbox/ipam/forms/model_forms.py:744
+#: netbox/ipam/forms/model_forms.py:777 netbox/ipam/tables/services.py:19
 #: netbox/ipam/tables/services.py:49 netbox/templates/ipam/service.html:38
 #: netbox/templates/ipam/servicetemplate.html:23
 msgid "Ports"
@@ -10594,66 +10654,66 @@ msgstr ""
 msgid "Virtual IP Address"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:603
+#: netbox/ipam/forms/model_forms.py:596
 msgid "Assignment already exists"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:612 netbox/templates/ipam/vlangroup.html:42
+#: netbox/ipam/forms/model_forms.py:605 netbox/templates/ipam/vlangroup.html:42
 msgid "VLAN IDs"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:630
+#: netbox/ipam/forms/model_forms.py:623
 msgid "Child VLANs"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:688
+#: netbox/ipam/forms/model_forms.py:681
 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:739
+#: netbox/ipam/forms/model_forms.py:732
 #: netbox/templates/ipam/vlantranslationrule.html:11
 msgid "VLAN Translation Rule"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:756 netbox/ipam/forms/model_forms.py:789
+#: netbox/ipam/forms/model_forms.py:749 netbox/ipam/forms/model_forms.py:782
 msgid ""
 "Comma-separated list of one or more port numbers. A range may be specified "
 "using a hyphen."
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:761
+#: netbox/ipam/forms/model_forms.py:754
 #: netbox/templates/ipam/servicetemplate.html:12
 msgid "Application Service Template"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:774
+#: netbox/ipam/forms/model_forms.py:767
 msgid "Parent type"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:801
+#: netbox/ipam/forms/model_forms.py:794
 msgid "Port(s)"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:802 netbox/ipam/forms/model_forms.py:868
+#: netbox/ipam/forms/model_forms.py:795 netbox/ipam/forms/model_forms.py:861
 msgid "Application Service"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:856
+#: netbox/ipam/forms/model_forms.py:849
 msgid "Application Service template"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:865
+#: netbox/ipam/forms/model_forms.py:858
 msgid "From Template"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:866
+#: netbox/ipam/forms/model_forms.py:859
 msgid "Custom"
 msgstr ""
 
-#: netbox/ipam/forms/model_forms.py:898
+#: netbox/ipam/forms/model_forms.py:891
 msgid ""
 "Must specify name, protocol, and port(s) if not using an application service "
 "template."
@@ -12077,9 +12137,9 @@ msgstr ""
 msgid "API Tokens"
 msgstr ""
 
-#: netbox/netbox/navigation/menu.py:461 netbox/users/forms/model_forms.py:188
-#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243
-#: netbox/users/forms/model_forms.py:250
+#: netbox/netbox/navigation/menu.py:461 netbox/users/forms/model_forms.py:194
+#: netbox/users/forms/model_forms.py:202 netbox/users/forms/model_forms.py:249
+#: netbox/users/forms/model_forms.py:256
 msgid "Permissions"
 msgstr ""
 
@@ -14002,7 +14062,7 @@ msgstr ""
 #: netbox/templates/dcim/virtualchassis_add_member.html:27
 #: netbox/templates/generic/object_edit.html:78
 #: netbox/templates/users/objectpermission.html:31
-#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:322
+#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:337
 msgid "Actions"
 msgstr ""
 
@@ -14365,7 +14425,15 @@ msgstr ""
 msgid "Attach an Image"
 msgstr ""
 
-#: netbox/templates/extras/object_imageattachments.html:39
+#: netbox/templates/extras/object_imageattachments.html:35
+msgid "Thumbnail cannot be generated"
+msgstr ""
+
+#: netbox/templates/extras/object_imageattachments.html:36
+msgid "Click to view original"
+msgstr ""
+
+#: netbox/templates/extras/object_imageattachments.html:49
 #, python-format
 msgid ""
 "\n"
@@ -15133,7 +15201,7 @@ msgid "View"
 msgstr ""
 
 #: netbox/templates/users/objectpermission.html:52
-#: netbox/users/forms/model_forms.py:325
+#: netbox/users/forms/model_forms.py:327 netbox/users/forms/model_forms.py:340
 msgid "Constraints"
 msgstr ""
 
@@ -15609,85 +15677,85 @@ msgstr ""
 msgid "Can Delete"
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:63
+#: netbox/users/forms/model_forms.py:69
 msgid "User Interface"
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:115
+#: netbox/users/forms/model_forms.py:121
 msgid ""
 "Keys must be at least 40 characters in length. <strong>Be sure to record "
 "your key</strong> prior to submitting this form, as it may no longer be "
 "accessible once the token has been created."
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:127
+#: netbox/users/forms/model_forms.py:133
 msgid ""
 "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for "
 "no restrictions. Example: <code>10.1.1.0/24,192.168.10.16/32,2001:"
 "db8:1::/64</code>"
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:176
+#: netbox/users/forms/model_forms.py:182
 msgid "Confirm password"
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:179
+#: netbox/users/forms/model_forms.py:185
 msgid "Enter the same password as before, for verification."
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:228
+#: netbox/users/forms/model_forms.py:234
 msgid "Passwords do not match! Please check your input and try again."
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:289
+#: netbox/users/forms/model_forms.py:295
 msgid "Select the types of objects to which the permission will appy."
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:304
+#: netbox/users/forms/model_forms.py:310
 msgid "Additional actions"
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:307
+#: netbox/users/forms/model_forms.py:313
 msgid "Actions granted in addition to those listed above"
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:323
-msgid "Objects"
-msgstr ""
-
-#: netbox/users/forms/model_forms.py:335
+#: netbox/users/forms/model_forms.py:329
 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:374
+#: netbox/users/forms/model_forms.py:338
+msgid "Objects"
+msgstr ""
+
+#: netbox/users/forms/model_forms.py:396
 msgid "At least one action must be selected."
 msgstr ""
 
-#: netbox/users/forms/model_forms.py:392
+#: netbox/users/forms/model_forms.py:414
 #, python-brace-format
 msgid "Invalid filter for {model}: {error}"
 msgstr ""
 
-#: netbox/users/models/permissions.py:37
+#: netbox/users/models/permissions.py:38
 msgid "The list of actions granted by this permission"
 msgstr ""
 
-#: netbox/users/models/permissions.py:42
+#: netbox/users/models/permissions.py:43
 msgid "constraints"
 msgstr ""
 
-#: netbox/users/models/permissions.py:43
+#: netbox/users/models/permissions.py:44
 msgid "Queryset filter matching the applicable objects of the selected type(s)"
 msgstr ""
 
-#: netbox/users/models/permissions.py:50
+#: netbox/users/models/permissions.py:55
 msgid "permission"
 msgstr ""
 
-#: netbox/users/models/permissions.py:51 netbox/users/models/users.py:47
+#: netbox/users/models/permissions.py:56 netbox/users/models/users.py:47
 msgid "permissions"
 msgstr ""