Przeglądaj źródła

Merge branch 'main' into feature

Jeremy Stretch 5 miesięcy temu
rodzic
commit
d433456e2f
66 zmienionych plików z 2287 dodań i 1926 usunięć
  1. 1 1
      .github/ISSUE_TEMPLATE/01-feature_request.yaml
  2. 1 1
      .github/ISSUE_TEMPLATE/02-bug_report.yaml
  3. 1 1
      docs/administration/error-reporting.md
  4. 1 1
      docs/reference/conditions.md
  5. 28 0
      docs/release-notes/version-4.3.md
  6. 12 2
      netbox/core/api/serializers_/tasks.py
  7. 4 4
      netbox/dcim/api/serializers_/roles.py
  8. 13 1
      netbox/dcim/api/views.py
  9. 15 2
      netbox/dcim/filtersets.py
  10. 5 2
      netbox/dcim/forms/bulk_create.py
  11. 6 1
      netbox/dcim/forms/connections.py
  12. 2 0
      netbox/dcim/forms/model_forms.py
  13. 16 0
      netbox/dcim/tests/test_filtersets.py
  14. 12 3
      netbox/dcim/views.py
  15. 27 1
      netbox/extras/lookups.py
  16. 9 1
      netbox/extras/models/customfields.py
  17. 8 5
      netbox/extras/models/notifications.py
  18. 11 1
      netbox/extras/tests/test_customfields.py
  19. 19 1
      netbox/ipam/views.py
  20. 8 1
      netbox/netbox/filtersets.py
  21. 2 2
      netbox/netbox/views/misc.py
  22. 0 0
      netbox/project-static/dist/netbox.css
  23. 0 0
      netbox/project-static/dist/netbox.js
  24. 0 0
      netbox/project-static/dist/netbox.js.map
  25. 1 1
      netbox/project-static/dist/rack_elevation.css
  26. 3 3
      netbox/project-static/package.json
  27. 8 4
      netbox/project-static/styles/custom/_code.scss
  28. 6 0
      netbox/project-static/styles/overrides/_tomselect.scss
  29. 2 4
      netbox/project-static/styles/svg/rack_elevation.scss
  30. 9 4
      netbox/project-static/yarn.lock
  31. 1 1
      netbox/templates/inc/missing_prerequisites.html
  32. 5 5
      netbox/templates/inc/panels/related_objects.html
  33. BIN
      netbox/translations/cs/LC_MESSAGES/django.mo
  34. 132 124
      netbox/translations/cs/LC_MESSAGES/django.po
  35. BIN
      netbox/translations/da/LC_MESSAGES/django.mo
  36. 130 122
      netbox/translations/da/LC_MESSAGES/django.po
  37. BIN
      netbox/translations/de/LC_MESSAGES/django.mo
  38. 133 124
      netbox/translations/de/LC_MESSAGES/django.po
  39. 129 121
      netbox/translations/en/LC_MESSAGES/django.po
  40. BIN
      netbox/translations/es/LC_MESSAGES/django.mo
  41. 134 122
      netbox/translations/es/LC_MESSAGES/django.po
  42. BIN
      netbox/translations/fr/LC_MESSAGES/django.mo
  43. 135 126
      netbox/translations/fr/LC_MESSAGES/django.po
  44. BIN
      netbox/translations/it/LC_MESSAGES/django.mo
  45. 134 122
      netbox/translations/it/LC_MESSAGES/django.po
  46. BIN
      netbox/translations/ja/LC_MESSAGES/django.mo
  47. 130 122
      netbox/translations/ja/LC_MESSAGES/django.po
  48. BIN
      netbox/translations/nl/LC_MESSAGES/django.mo
  49. 132 122
      netbox/translations/nl/LC_MESSAGES/django.po
  50. BIN
      netbox/translations/pl/LC_MESSAGES/django.mo
  51. 133 122
      netbox/translations/pl/LC_MESSAGES/django.po
  52. BIN
      netbox/translations/pt/LC_MESSAGES/django.mo
  53. 133 122
      netbox/translations/pt/LC_MESSAGES/django.po
  54. BIN
      netbox/translations/ru/LC_MESSAGES/django.mo
  55. 159 146
      netbox/translations/ru/LC_MESSAGES/django.po
  56. BIN
      netbox/translations/tr/LC_MESSAGES/django.mo
  57. 130 122
      netbox/translations/tr/LC_MESSAGES/django.po
  58. BIN
      netbox/translations/uk/LC_MESSAGES/django.mo
  59. 131 122
      netbox/translations/uk/LC_MESSAGES/django.po
  60. BIN
      netbox/translations/zh/LC_MESSAGES/django.mo
  61. 130 122
      netbox/translations/zh/LC_MESSAGES/django.po
  62. 2 0
      netbox/utilities/forms/fields/csv.py
  63. 1 1
      netbox/utilities/templates/buttons/add.html
  64. 2 1
      netbox/utilities/templatetags/buttons.py
  65. 36 5
      netbox/utilities/views.py
  66. 5 5
      requirements.txt

+ 1 - 1
.github/ISSUE_TEMPLATE/01-feature_request.yaml

@@ -15,7 +15,7 @@ body:
     attributes:
     attributes:
       label: NetBox version
       label: NetBox version
       description: What version of NetBox are you currently running?
       description: What version of NetBox are you currently running?
-      placeholder: v4.3.6
+      placeholder: v4.3.7
     validations:
     validations:
       required: true
       required: true
   - type: dropdown
   - type: dropdown

+ 1 - 1
.github/ISSUE_TEMPLATE/02-bug_report.yaml

@@ -27,7 +27,7 @@ body:
     attributes:
     attributes:
       label: NetBox Version
       label: NetBox Version
       description: What version of NetBox are you currently running?
       description: What version of NetBox are you currently running?
-      placeholder: v4.3.6
+      placeholder: v4.3.7
     validations:
     validations:
       required: true
       required: true
   - type: dropdown
   - type: dropdown

+ 1 - 1
docs/administration/error-reporting.md

@@ -4,7 +4,7 @@
 
 
 ### Enabling Error Reporting
 ### Enabling Error Reporting
 
 
-NetBox supports native integration with [Sentry](https://sentry.io/) for automatic error reporting. To enable this functionality, set `SENTRY_ENABLED` to True and define your unique [data source name (DSN)](https://docs.sentry.io/product/sentry-basics/concepts/dsn-explainer/) in `configuration.py`.
+NetBox supports native integration with [Sentry](https://sentry.io/) for automatic error reporting. To enable this functionality, set `SENTRY_ENABLED` to `True` and define your unique [data source name (DSN)](https://docs.sentry.io/product/sentry-basics/concepts/dsn-explainer/) in `configuration.py`.
 
 
 ```python
 ```python
 SENTRY_ENABLED = True
 SENTRY_ENABLED = True

+ 1 - 1
docs/reference/conditions.md

@@ -89,7 +89,7 @@ The following condition will evaluate as true:
 ```
 ```
 
 
 !!! note "Evaluating static choice fields"
 !!! note "Evaluating static choice fields"
-    Pay close attention when evaluating static choice fields, such as the `status` field above. These fields typically render as a dictionary specifying both the field's raw value (`value`) and its human-friendly label (`label`). be sure to specify on which of these you want to match.
+    Pay close attention when evaluating static choice fields, such as the `status` field above. These fields typically render as a dictionary specifying both the field's raw value (`value`) and its human-friendly label (`label`). Be sure to specify on which of these you want to match.
 
 
 ## Condition Sets
 ## Condition Sets
 
 

+ 28 - 0
docs/release-notes/version-4.3.md

@@ -1,5 +1,29 @@
 # NetBox v4.3
 # NetBox v4.3
 
 
+## v4.3.7 (2025-08-26)
+
+### Enhancements
+
+* [#18147](https://github.com/netbox-community/netbox/issues/18147) - Add device & VM interface counts under related objects for VRFs
+* [#19990](https://github.com/netbox-community/netbox/issues/19990) - Button to add a missing prerequisite now includes a return URL
+* [#20122](https://github.com/netbox-community/netbox/issues/20122) - Improve color contrast of highlighted data under changelog diff view
+* [#20131](https://github.com/netbox-community/netbox/issues/20131) - Add object selector for interface to the MAC address edit form
+
+### Bug Fixes
+
+* [#18916](https://github.com/netbox-community/netbox/issues/18916) - Fix dynamic dropdown selection styling for required fields when no selection is made
+* [#19645](https://github.com/netbox-community/netbox/issues/19645) - Fix interface selection when adding a cable for a virtual chassis master
+* [#19669](https://github.com/netbox-community/netbox/issues/19669) - Restore token authentication support for fetching media assets
+* [#19970](https://github.com/netbox-community/netbox/issues/19970) - Device role child device counts should be cumulative
+* [#20012](https://github.com/netbox-community/netbox/issues/20012) - Fix support for `empty` filter lookup on custom fields
+* [#20043](https://github.com/netbox-community/netbox/issues/20043) - Fix page styling when rack elevations are embedded
+* [#20098](https://github.com/netbox-community/netbox/issues/20098) - Fix `AttributeError` exception when assigning tags during bulk import
+* [#20120](https://github.com/netbox-community/netbox/issues/20120) - Fix REST API serialization of jobs under `/api/core/background-tasks/`
+* [#20157](https://github.com/netbox-community/netbox/issues/20157) - Fix `IntegrityError` exception when a duplicate notification is triggered
+* [#20164](https://github.com/netbox-community/netbox/issues/20164) - Fix `ValueError` exception when attempting to add power outlets to devices in bulk
+
+---
+
 ## v4.3.6 (2025-08-12)
 ## v4.3.6 (2025-08-12)
 
 
 ### Enhancements
 ### Enhancements
@@ -29,6 +53,8 @@
 * [#20033](https://github.com/netbox-community/netbox/issues/20033) - Fix `TypeError` exception when bulk deleting bookmarks
 * [#20033](https://github.com/netbox-community/netbox/issues/20033) - Fix `TypeError` exception when bulk deleting bookmarks
 * [#20056](https://github.com/netbox-community/netbox/issues/20056) - Fixed missing RF role options in device type schema validation
 * [#20056](https://github.com/netbox-community/netbox/issues/20056) - Fixed missing RF role options in device type schema validation
 
 
+---
+
 ## v4.3.5 (2025-07-29)
 ## v4.3.5 (2025-07-29)
 
 
 ### Enhancements
 ### Enhancements
@@ -48,6 +74,8 @@
 !!! note "Plugin Developer Advisory"
 !!! note "Plugin Developer Advisory"
     The fix for bug [#18900](https://github.com/netbox-community/netbox/issues/18900) now raises explicit exceptions when API endpoints attempt to paginate unordered querysets. Plugin maintainers should review their API viewsets to ensure proper queryset ordering is applied before pagination, either by using `.order_by()` on querysets or by setting `ordering` in model Meta classes. Previously silent pagination issues in plugin code will now raise `QuerySetNotOrdered` exceptions and may require updates to maintain compatibility.
     The fix for bug [#18900](https://github.com/netbox-community/netbox/issues/18900) now raises explicit exceptions when API endpoints attempt to paginate unordered querysets. Plugin maintainers should review their API viewsets to ensure proper queryset ordering is applied before pagination, either by using `.order_by()` on querysets or by setting `ordering` in model Meta classes. Previously silent pagination issues in plugin code will now raise `QuerySetNotOrdered` exceptions and may require updates to maintain compatibility.
 
 
+---
+
 ## v4.3.4 (2025-07-15)
 ## v4.3.4 (2025-07-15)
 
 
 ### Enhancements
 ### Enhancements

+ 12 - 2
netbox/core/api/serializers_/tasks.py

@@ -18,8 +18,8 @@ class BackgroundTaskSerializer(serializers.Serializer):
     description = serializers.CharField()
     description = serializers.CharField()
     origin = serializers.CharField()
     origin = serializers.CharField()
     func_name = serializers.CharField()
     func_name = serializers.CharField()
-    args = serializers.ListField(child=serializers.CharField())
-    kwargs = serializers.DictField()
+    args = serializers.SerializerMethodField()
+    kwargs = serializers.SerializerMethodField()
     result = serializers.CharField()
     result = serializers.CharField()
     timeout = serializers.IntegerField()
     timeout = serializers.IntegerField()
     result_ttl = serializers.IntegerField()
     result_ttl = serializers.IntegerField()
@@ -42,6 +42,16 @@ class BackgroundTaskSerializer(serializers.Serializer):
     is_scheduled = serializers.BooleanField()
     is_scheduled = serializers.BooleanField()
     is_stopped = serializers.BooleanField()
     is_stopped = serializers.BooleanField()
 
 
+    def get_args(self, obj) -> list:
+        return [
+            str(arg) for arg in obj.args
+        ]
+
+    def get_kwargs(self, obj) -> dict:
+        return {
+            key: str(value) for key, value in obj.kwargs.items()
+        }
+
     def get_position(self, obj) -> int:
     def get_position(self, obj) -> int:
         return obj.get_position()
         return obj.get_position()
 
 

+ 4 - 4
netbox/dcim/api/serializers_/roles.py

@@ -1,3 +1,5 @@
+from rest_framework import serializers
+
 from dcim.models import DeviceRole, InventoryItemRole
 from dcim.models import DeviceRole, InventoryItemRole
 from extras.api.serializers_.configtemplates import ConfigTemplateSerializer
 from extras.api.serializers_.configtemplates import ConfigTemplateSerializer
 from netbox.api.fields import RelatedObjectCountField
 from netbox.api.fields import RelatedObjectCountField
@@ -13,10 +15,8 @@ __all__ = (
 class DeviceRoleSerializer(NestedGroupModelSerializer):
 class DeviceRoleSerializer(NestedGroupModelSerializer):
     parent = NestedDeviceRoleSerializer(required=False, allow_null=True, default=None)
     parent = NestedDeviceRoleSerializer(required=False, allow_null=True, default=None)
     config_template = ConfigTemplateSerializer(nested=True, required=False, allow_null=True, default=None)
     config_template = ConfigTemplateSerializer(nested=True, required=False, allow_null=True, default=None)
-
-    # Related object counts
-    device_count = RelatedObjectCountField('devices')
-    virtualmachine_count = RelatedObjectCountField('virtual_machines')
+    device_count = serializers.IntegerField(read_only=True, default=0)
+    virtualmachine_count = serializers.IntegerField(read_only=True, default=0)
 
 
     class Meta:
     class Meta:
         model = DeviceRole
         model = DeviceRole

+ 13 - 1
netbox/dcim/api/views.py

@@ -352,7 +352,19 @@ class InventoryItemTemplateViewSet(MPTTLockedMixin, NetBoxModelViewSet):
 #
 #
 
 
 class DeviceRoleViewSet(NetBoxModelViewSet):
 class DeviceRoleViewSet(NetBoxModelViewSet):
-    queryset = DeviceRole.objects.all()
+    queryset = DeviceRole.objects.add_related_count(
+        DeviceRole.objects.add_related_count(
+            DeviceRole.objects.all(),
+            VirtualMachine,
+            'role',
+            'virtualmachine_count',
+            cumulative=True
+        ),
+        Device,
+        'role',
+        'device_count',
+        cumulative=True
+    )
     serializer_class = serializers.DeviceRoleSerializer
     serializer_class = serializers.DeviceRoleSerializer
     filterset_class = filtersets.DeviceRoleFilterSet
     filterset_class = filtersets.DeviceRoleFilterSet
 
 

+ 15 - 2
netbox/dcim/filtersets.py

@@ -1918,6 +1918,16 @@ class InterfaceFilterSet(
     PathEndpointFilterSet,
     PathEndpointFilterSet,
     CommonInterfaceFilterSet
     CommonInterfaceFilterSet
 ):
 ):
+    virtual_chassis_member_or_master = MultiValueCharFilter(
+        method='filter_virtual_chassis_member_or_master',
+        field_name='name',
+        label=_('Virtual Chassis Interfaces for Device when device is master')
+    )
+    virtual_chassis_member_or_master_id = MultiValueNumberFilter(
+        method='filter_virtual_chassis_member_or_master',
+        field_name='pk',
+        label=_('Virtual Chassis Interfaces for Device when device is master (ID)')
+    )
     virtual_chassis_member = MultiValueCharFilter(
     virtual_chassis_member = MultiValueCharFilter(
         method='filter_virtual_chassis_member',
         method='filter_virtual_chassis_member',
         field_name='name',
         field_name='name',
@@ -2028,11 +2038,14 @@ class InterfaceFilterSet(
             'cable_id', 'cable_end',
             'cable_id', 'cable_end',
         )
         )
 
 
-    def filter_virtual_chassis_member(self, queryset, name, value):
+    def filter_virtual_chassis_member_or_master(self, queryset, name, value):
+        return self.filter_virtual_chassis_member(queryset, name, value, if_master=True)
+
+    def filter_virtual_chassis_member(self, queryset, name, value, if_master=False):
         try:
         try:
             vc_interface_ids = []
             vc_interface_ids = []
             for device in Device.objects.filter(**{f'{name}__in': value}):
             for device in Device.objects.filter(**{f'{name}__in': value}):
-                vc_interface_ids.extend(device.vc_interfaces(if_master=False).values_list('id', flat=True))
+                vc_interface_ids.extend(device.vc_interfaces(if_master=if_master).values_list('id', flat=True))
             return queryset.filter(pk__in=vc_interface_ids)
             return queryset.filter(pk__in=vc_interface_ids)
         except Device.DoesNotExist:
         except Device.DoesNotExist:
             return queryset.none()
             return queryset.none()

+ 5 - 2
netbox/dcim/forms/bulk_create.py

@@ -69,11 +69,14 @@ class PowerPortBulkCreateForm(
 
 
 
 
 class PowerOutletBulkCreateForm(
 class PowerOutletBulkCreateForm(
-    form_from_model(PowerOutlet, ['type', 'color', 'feed_leg', 'mark_connected']),
+    form_from_model(PowerOutlet, ['type', 'status', 'color', 'feed_leg', 'mark_connected']),
     DeviceBulkAddComponentForm
     DeviceBulkAddComponentForm
 ):
 ):
     model = PowerOutlet
     model = PowerOutlet
-    field_order = ('name', 'label', 'type', 'feed_leg', 'description', 'tags')
+    field_order = (
+        'name', 'label', 'type', 'status', 'color', 'feed_leg', 'mark_connected',
+        'description', 'tags',
+    )
 
 
 
 
 class InterfaceBulkCreateForm(
 class InterfaceBulkCreateForm(

+ 6 - 1
netbox/dcim/forms/connections.py

@@ -19,6 +19,11 @@ def get_cable_form(a_type, b_type):
                 # Device component
                 # Device component
                 if hasattr(term_cls, 'device'):
                 if hasattr(term_cls, 'device'):
 
 
+                    # Dynamically change the param field for interfaces to use virtual_chassis filter
+                    query_param_device_field = 'device_id'
+                    if term_cls == Interface:
+                        query_param_device_field = 'virtual_chassis_member_or_master_id'
+
                     attrs[f'termination_{cable_end}_device'] = DynamicModelMultipleChoiceField(
                     attrs[f'termination_{cable_end}_device'] = DynamicModelMultipleChoiceField(
                         queryset=Device.objects.all(),
                         queryset=Device.objects.all(),
                         label=_('Device'),
                         label=_('Device'),
@@ -36,7 +41,7 @@ def get_cable_form(a_type, b_type):
                             'parent': 'device',
                             'parent': 'device',
                         },
                         },
                         query_params={
                         query_params={
-                            'device_id': f'$termination_{cable_end}_device',
+                            query_param_device_field: f'$termination_{cable_end}_device',
                             'kind': 'physical',  # Exclude virtual interfaces
                             'kind': 'physical',  # Exclude virtual interfaces
                         }
                         }
                     )
                     )

+ 2 - 0
netbox/dcim/forms/model_forms.py

@@ -1899,6 +1899,7 @@ class MACAddressForm(NetBoxModelForm):
         label=_('Interface'),
         label=_('Interface'),
         queryset=Interface.objects.all(),
         queryset=Interface.objects.all(),
         required=False,
         required=False,
+        selector=True,
         context={
         context={
             'parent': 'device',
             'parent': 'device',
         },
         },
@@ -1907,6 +1908,7 @@ class MACAddressForm(NetBoxModelForm):
         label=_('VM Interface'),
         label=_('VM Interface'),
         queryset=VMInterface.objects.all(),
         queryset=VMInterface.objects.all(),
         required=False,
         required=False,
+        selector=True,
         context={
         context={
             'parent': 'virtual_machine',
             'parent': 'virtual_machine',
         },
         },

+ 16 - 0
netbox/dcim/tests/test_filtersets.py

@@ -4444,6 +4444,9 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
         )
         )
         Device.objects.bulk_create(devices)
         Device.objects.bulk_create(devices)
 
 
+        virtual_chassis.master = devices[0]
+        virtual_chassis.save()
+
         module_bays = (
         module_bays = (
             ModuleBay(device=devices[0], name='Module Bay 1'),
             ModuleBay(device=devices[0], name='Module Bay 1'),
             ModuleBay(device=devices[1], name='Module Bay 2'),
             ModuleBay(device=devices[1], name='Module Bay 2'),
@@ -4830,6 +4833,19 @@ class InterfaceTestCase(TestCase, DeviceComponentFilterSetTests, ChangeLoggedFil
         params = {'device': [devices[0].name, devices[1].name]}
         params = {'device': [devices[0].name, devices[1].name]}
         self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
 
 
+    def test_virtual_chassis_member_or_master(self):
+        vc = VirtualChassis.objects.first()
+        master = vc.master
+        member = vc.members.exclude(pk=master.pk).first()
+        params = {'virtual_chassis_member_or_master_id': [master.pk,]}
+        self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
+        params = {'virtual_chassis_member_or_master_id': [member.pk,]}
+        self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
+        params = {'virtual_chassis_member_or_master': [master.name,]}
+        self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
+        params = {'virtual_chassis_member_or_master': [member.name,]}
+        self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
+
     def test_virtual_chassis_member(self):
     def test_virtual_chassis_member(self):
         # Device 1A & 3 have 1 management interface, Device 1B has 1 interfaces
         # Device 1A & 3 have 1 management interface, Device 1B has 1 interfaces
         devices = Device.objects.filter(name__in=['Device 1A', 'Device 3'])
         devices = Device.objects.filter(name__in=['Device 1A', 'Device 3'])

+ 12 - 3
netbox/dcim/views.py

@@ -2040,9 +2040,18 @@ class InventoryItemTemplateBulkDeleteView(generic.BulkDeleteView):
 
 
 @register_model_view(DeviceRole, 'list', path='', detail=False)
 @register_model_view(DeviceRole, 'list', path='', detail=False)
 class DeviceRoleListView(generic.ObjectListView):
 class DeviceRoleListView(generic.ObjectListView):
-    queryset = DeviceRole.objects.annotate(
-        device_count=count_related(Device, 'role'),
-        vm_count=count_related(VirtualMachine, 'role')
+    queryset = DeviceRole.objects.add_related_count(
+        DeviceRole.objects.add_related_count(
+            DeviceRole.objects.all(),
+            VirtualMachine,
+            'role',
+            'vm_count',
+            cumulative=True
+        ),
+        Device,
+        'role',
+        'device_count',
+        cumulative=True
     )
     )
     filterset = filtersets.DeviceRoleFilterSet
     filterset = filtersets.DeviceRoleFilterSet
     filterset_form = forms.DeviceRoleFilterForm
     filterset_form = forms.DeviceRoleFilterForm

+ 27 - 1
netbox/extras/lookups.py

@@ -1,4 +1,5 @@
-from django.db.models import CharField, Lookup
+from django.db.models import CharField, JSONField, Lookup
+from django.db.models.fields.json import KeyTextTransform
 
 
 from .fields import CachedValueField
 from .fields import CachedValueField
 
 
@@ -18,6 +19,30 @@ class Empty(Lookup):
             return f"CAST(LENGTH({sql}) AS BOOLEAN) IS TRUE", params
             return f"CAST(LENGTH({sql}) AS BOOLEAN) IS TRUE", params
 
 
 
 
+class JSONEmpty(Lookup):
+    """
+    Support "empty" lookups for JSONField keys.
+
+    A key is considered empty if it is "", null, or does not exist.
+    """
+    lookup_name = "empty"
+
+    def as_sql(self, compiler, connection):
+        # self.lhs.lhs is the parent expression (could be a JSONField or another KeyTransform)
+        # Rebuild the expression using KeyTextTransform to guarantee ->> (text)
+        text_expr = KeyTextTransform(self.lhs.key_name, self.lhs.lhs)
+        lhs_sql, lhs_params = compiler.compile(text_expr)
+
+        value = self.rhs
+        if value not in (True, False):
+            raise ValueError("The 'empty' lookup only accepts True or False.")
+
+        condition = '' if value else 'NOT '
+        sql = f"(NULLIF({lhs_sql}, '') IS {condition}NULL)"
+
+        return sql, lhs_params
+
+
 class NetHost(Lookup):
 class NetHost(Lookup):
     """
     """
     Similar to ipam.lookups.NetHost, but casts the field to INET.
     Similar to ipam.lookups.NetHost, but casts the field to INET.
@@ -45,5 +70,6 @@ class NetContainsOrEquals(Lookup):
 
 
 
 
 CharField.register_lookup(Empty)
 CharField.register_lookup(Empty)
+JSONField.register_lookup(JSONEmpty)
 CachedValueField.register_lookup(NetHost)
 CachedValueField.register_lookup(NetHost)
 CachedValueField.register_lookup(NetContainsOrEquals)
 CachedValueField.register_lookup(NetContainsOrEquals)

+ 9 - 1
netbox/extras/models/customfields.py

@@ -600,11 +600,19 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel):
         kwargs = {
         kwargs = {
             'field_name': f'custom_field_data__{self.name}'
             'field_name': f'custom_field_data__{self.name}'
         }
         }
+        # Native numeric filters will use `isnull` by default for empty lookups, but
+        # JSON fields require `empty` (see bug #20012).
+        if lookup_expr == 'isnull':
+            lookup_expr = 'empty'
         if lookup_expr is not None:
         if lookup_expr is not None:
             kwargs['lookup_expr'] = lookup_expr
             kwargs['lookup_expr'] = lookup_expr
 
 
+        # 'Empty' lookup is always a boolean
+        if lookup_expr == 'empty':
+            filter_class = django_filters.BooleanFilter
+
         # Text/URL
         # Text/URL
-        if self.type in (
+        elif self.type in (
                 CustomFieldTypeChoices.TYPE_TEXT,
                 CustomFieldTypeChoices.TYPE_TEXT,
                 CustomFieldTypeChoices.TYPE_LONGTEXT,
                 CustomFieldTypeChoices.TYPE_LONGTEXT,
                 CustomFieldTypeChoices.TYPE_URL,
                 CustomFieldTypeChoices.TYPE_URL,

+ 8 - 5
netbox/extras/models/notifications.py

@@ -173,14 +173,17 @@ class NotificationGroup(ChangeLoggedModel):
             User.objects.filter(groups__in=self.groups.all())
             User.objects.filter(groups__in=self.groups.all())
         ).order_by('username')
         ).order_by('username')
 
 
-    def notify(self, **kwargs):
+    def notify(self, object_type, object_id, **kwargs):
         """
         """
         Bulk-create Notifications for all members of this group.
         Bulk-create Notifications for all members of this group.
         """
         """
-        Notification.objects.bulk_create([
-            Notification(user=member, **kwargs)
-            for member in self.members
-        ])
+        for user in self.members:
+            Notification.objects.update_or_create(
+                object_type=object_type,
+                object_id=object_id,
+                user=user,
+                defaults=kwargs
+            )
     notify.alters_data = True
     notify.alters_data = True
 
 
 
 

+ 11 - 1
netbox/extras/tests/test_customfields.py

@@ -1615,6 +1615,7 @@ class CustomFieldModelFilterTest(TestCase):
                 'cf11': manufacturers[2].pk,
                 'cf11': manufacturers[2].pk,
                 'cf12': [manufacturers[2].pk, manufacturers[3].pk],
                 'cf12': [manufacturers[2].pk, manufacturers[3].pk],
             }),
             }),
+            Site(name='Site 4', slug='site-4'),
         ])
         ])
 
 
     def test_filter_integer(self):
     def test_filter_integer(self):
@@ -1624,6 +1625,7 @@ class CustomFieldModelFilterTest(TestCase):
         self.assertEqual(self.filterset({'cf_cf1__gte': [200]}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf1__gte': [200]}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf1__lt': [200]}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf1__lt': [200]}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf1__lte': [200]}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf1__lte': [200]}, self.queryset).qs.count(), 2)
+        self.assertEqual(self.filterset({'cf_cf1__empty': True}, self.queryset).qs.count(), 1)
 
 
     def test_filter_decimal(self):
     def test_filter_decimal(self):
         self.assertEqual(self.filterset({'cf_cf2': [100.1, 200.2]}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf2': [100.1, 200.2]}, self.queryset).qs.count(), 2)
@@ -1632,6 +1634,7 @@ class CustomFieldModelFilterTest(TestCase):
         self.assertEqual(self.filterset({'cf_cf2__gte': [200.2]}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf2__gte': [200.2]}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf2__lt': [200.2]}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf2__lt': [200.2]}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf2__lte': [200.2]}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf2__lte': [200.2]}, self.queryset).qs.count(), 2)
+        self.assertEqual(self.filterset({'cf_cf2__empty': True}, self.queryset).qs.count(), 1)
 
 
     def test_filter_boolean(self):
     def test_filter_boolean(self):
         self.assertEqual(self.filterset({'cf_cf3': True}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf3': True}, self.queryset).qs.count(), 2)
@@ -1648,6 +1651,7 @@ class CustomFieldModelFilterTest(TestCase):
         self.assertEqual(self.filterset({'cf_cf4__niew': ['bar']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf4__niew': ['bar']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf4__ie': ['FOO']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf4__ie': ['FOO']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf4__nie': ['FOO']}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf4__nie': ['FOO']}, self.queryset).qs.count(), 2)
+        self.assertEqual(self.filterset({'cf_cf4__empty': True}, self.queryset).qs.count(), 1)
 
 
     def test_filter_text_loose(self):
     def test_filter_text_loose(self):
         self.assertEqual(self.filterset({'cf_cf5': ['foo']}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf5': ['foo']}, self.queryset).qs.count(), 2)
@@ -1659,6 +1663,7 @@ class CustomFieldModelFilterTest(TestCase):
         self.assertEqual(self.filterset({'cf_cf6__gte': ['2016-06-27']}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf6__gte': ['2016-06-27']}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf6__lt': ['2016-06-27']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf6__lt': ['2016-06-27']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf6__lte': ['2016-06-27']}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf6__lte': ['2016-06-27']}, self.queryset).qs.count(), 2)
+        self.assertEqual(self.filterset({'cf_cf6__empty': True}, self.queryset).qs.count(), 1)
 
 
     def test_filter_url_strict(self):
     def test_filter_url_strict(self):
         self.assertEqual(
         self.assertEqual(
@@ -1674,17 +1679,20 @@ class CustomFieldModelFilterTest(TestCase):
         self.assertEqual(self.filterset({'cf_cf7__niew': ['.com']}, self.queryset).qs.count(), 0)
         self.assertEqual(self.filterset({'cf_cf7__niew': ['.com']}, self.queryset).qs.count(), 0)
         self.assertEqual(self.filterset({'cf_cf7__ie': ['HTTP://A.EXAMPLE.COM']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf7__ie': ['HTTP://A.EXAMPLE.COM']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf7__nie': ['HTTP://A.EXAMPLE.COM']}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf7__nie': ['HTTP://A.EXAMPLE.COM']}, self.queryset).qs.count(), 2)
+        self.assertEqual(self.filterset({'cf_cf7__empty': True}, self.queryset).qs.count(), 1)
 
 
     def test_filter_url_loose(self):
     def test_filter_url_loose(self):
         self.assertEqual(self.filterset({'cf_cf8': ['example.com']}, self.queryset).qs.count(), 3)
         self.assertEqual(self.filterset({'cf_cf8': ['example.com']}, self.queryset).qs.count(), 3)
 
 
     def test_filter_select(self):
     def test_filter_select(self):
         self.assertEqual(self.filterset({'cf_cf9': ['A', 'B']}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf9': ['A', 'B']}, self.queryset).qs.count(), 2)
+        self.assertEqual(self.filterset({'cf_cf9__empty': True}, self.queryset).qs.count(), 1)
 
 
     def test_filter_multiselect(self):
     def test_filter_multiselect(self):
         self.assertEqual(self.filterset({'cf_cf10': ['A']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf10': ['A']}, self.queryset).qs.count(), 1)
         self.assertEqual(self.filterset({'cf_cf10': ['A', 'C']}, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset({'cf_cf10': ['A', 'C']}, self.queryset).qs.count(), 2)
-        self.assertEqual(self.filterset({'cf_cf10': ['null']}, self.queryset).qs.count(), 1)
+        self.assertEqual(self.filterset({'cf_cf10': ['null']}, self.queryset).qs.count(), 1)  # Contains a literal null
+        self.assertEqual(self.filterset({'cf_cf10__empty': True}, self.queryset).qs.count(), 2)
 
 
     def test_filter_object(self):
     def test_filter_object(self):
         manufacturer_ids = Manufacturer.objects.values_list('id', flat=True)
         manufacturer_ids = Manufacturer.objects.values_list('id', flat=True)
@@ -1692,6 +1700,7 @@ class CustomFieldModelFilterTest(TestCase):
             self.filterset({'cf_cf11': [manufacturer_ids[0], manufacturer_ids[1]]}, self.queryset).qs.count(),
             self.filterset({'cf_cf11': [manufacturer_ids[0], manufacturer_ids[1]]}, self.queryset).qs.count(),
             2
             2
         )
         )
+        self.assertEqual(self.filterset({'cf_cf11__empty': True}, self.queryset).qs.count(), 1)
 
 
     def test_filter_multiobject(self):
     def test_filter_multiobject(self):
         manufacturer_ids = Manufacturer.objects.values_list('id', flat=True)
         manufacturer_ids = Manufacturer.objects.values_list('id', flat=True)
@@ -1703,3 +1712,4 @@ class CustomFieldModelFilterTest(TestCase):
             self.filterset({'cf_cf12': [manufacturer_ids[3]]}, self.queryset).qs.count(),
             self.filterset({'cf_cf12': [manufacturer_ids[3]]}, self.queryset).qs.count(),
             3
             3
         )
         )
+        self.assertEqual(self.filterset({'cf_cf12__empty': True}, self.queryset).qs.count(), 1)

+ 19 - 1
netbox/ipam/views.py

@@ -54,8 +54,26 @@ class VRFView(GetRelatedModelsMixin, generic.ObjectView):
         )
         )
         export_targets_table.configure(request)
         export_targets_table.configure(request)
 
 
+        related_models = self.get_related_models(
+            request,
+            instance,
+            omit=(Interface, VMInterface),
+            extra=(
+                (
+                    Interface.objects.restrict(request.user, 'view').filter(vrf=instance),
+                    'vrf_id',
+                    _('Device Interfaces')
+                ),
+                (
+                    VMInterface.objects.restrict(request.user, 'view').filter(vrf=instance),
+                    'vrf_id',
+                    _('VM Interfaces')
+                ),
+            ),
+        )
+
         return {
         return {
-            'related_models': self.get_related_models(request, instance, omit=[Interface, VMInterface]),
+            'related_models': related_models,
             'import_targets_table': import_targets_table,
             'import_targets_table': import_targets_table,
             'export_targets_table': export_targets_table,
             'export_targets_table': export_targets_table,
         }
         }

+ 8 - 1
netbox/netbox/filtersets.py

@@ -29,6 +29,13 @@ __all__ = (
     'OrganizationalModelFilterSet',
     'OrganizationalModelFilterSet',
 )
 )
 
 
+STANDARD_LOOKUPS = (
+    'exact',
+    'iexact',
+    'in',
+    'contains',
+)
+
 
 
 #
 #
 # FilterSets
 # FilterSets
@@ -159,7 +166,7 @@ class BaseFilterSet(django_filters.FilterSet):
             return {}
             return {}
 
 
         # Skip nonstandard lookup expressions
         # Skip nonstandard lookup expressions
-        if existing_filter.method is not None or existing_filter.lookup_expr not in ['exact', 'iexact', 'in']:
+        if existing_filter.method is not None or existing_filter.lookup_expr not in STANDARD_LOOKUPS:
             return {}
             return {}
 
 
         # Choose the lookup expression map based on the filter type
         # Choose the lookup expression map based on the filter type

+ 2 - 2
netbox/netbox/views/misc.py

@@ -20,7 +20,7 @@ from netbox.search.backends import search_backend
 from netbox.tables import SearchTable
 from netbox.tables import SearchTable
 from utilities.htmx import htmx_partial
 from utilities.htmx import htmx_partial
 from utilities.paginator import EnhancedPaginator, get_paginate_count
 from utilities.paginator import EnhancedPaginator, get_paginate_count
-from utilities.views import ConditionalLoginRequiredMixin
+from utilities.views import ConditionalLoginRequiredMixin, TokenConditionalLoginRequiredMixin
 
 
 __all__ = (
 __all__ = (
     'HomeView',
     'HomeView',
@@ -119,7 +119,7 @@ class SearchView(ConditionalLoginRequiredMixin, View):
         })
         })
 
 
 
 
-class MediaView(ConditionalLoginRequiredMixin, View):
+class MediaView(TokenConditionalLoginRequiredMixin, View):
     """
     """
     Wrap Django's serve() view to enforce LOGIN_REQUIRED for static media.
     Wrap Django's serve() view to enforce LOGIN_REQUIRED for static media.
     """
     """

Plik diff jest za duży
+ 0 - 0
netbox/project-static/dist/netbox.css


Plik diff jest za duży
+ 0 - 0
netbox/project-static/dist/netbox.js


Plik diff jest za duży
+ 0 - 0
netbox/project-static/dist/netbox.js.map


+ 1 - 1
netbox/project-static/dist/rack_elevation.css

@@ -1 +1 @@
-svg{--nbx-rack-bg: var(--tblr-bg-surface-secondary);--nbx-rack-border: #000;--nbx-rack-slot-bg: #e9ecef;--nbx-rack-slot-border: #adb5bd;--nbx-rack-slot-hover-bg: #ced4da;--nbx-rack-link-color: #0d6efd;--nbx-rack-unit-color: #6c757d}svg[data-bs-theme=dark]{--nbx-rack-bg: rgb(27, 41, 58);--nbx-rack-border: #6c757d;--nbx-rack-slot-bg: #343a40;--nbx-rack-slot-border: #495057;--nbx-rack-slot-hover-bg: #212529;--nbx-rack-link-color: #9ec5fe;--nbx-rack-unit-color: #adb5bd}*{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:.875rem}rect{box-sizing:border-box}text{text-anchor:middle;dominant-baseline:middle}svg{background-color:var(--nbx-rack-bg)}svg .unit{margin:0;padding:5px 0;fill:var(--nbx-rack-unit-color)}svg .hidden{visibility:hidden}svg rect.shaded,svg image.shaded{opacity:25%}svg text.shaded{opacity:50%}svg .rack{fill:none;stroke-width:2px;stroke:var(--nbx-rack-border)}svg .slot{fill:var(--nbx-rack-slot-bg);stroke:var(--nbx-rack-slot-border)}svg .slot:hover{fill:var(--nbx-rack-slot-hover-bg)}svg .slot+.add-device{fill:var(--nbx-rack-link-color);opacity:0;pointer-events:none}svg .slot:hover+.add-device{opacity:1}svg .slot.occupied[class],svg .slot.occupied:hover[class]{fill:url(#occupied)}svg .slot.blocked[class],svg .slot.blocked:hover[class]{fill:url(#blocked)}svg .slot.blocked:hover+.add-device{opacity:0}svg .reservation[class]{fill:url(#reserved)}
+svg{--nbx-rack-bg: var(--tblr-bg-surface-secondary);--nbx-rack-border: #000;--nbx-rack-slot-bg: #e9ecef;--nbx-rack-slot-border: #adb5bd;--nbx-rack-slot-hover-bg: #ced4da;--nbx-rack-link-color: #0d6efd;--nbx-rack-unit-color: #6c757d}svg[data-bs-theme=dark]{--nbx-rack-bg: rgb(27, 41, 58);--nbx-rack-border: #6c757d;--nbx-rack-slot-bg: #343a40;--nbx-rack-slot-border: #495057;--nbx-rack-slot-hover-bg: #212529;--nbx-rack-link-color: #9ec5fe;--nbx-rack-unit-color: #adb5bd}rect{box-sizing:border-box}text{text-anchor:middle;dominant-baseline:middle}svg{background-color:var(--nbx-rack-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:.875rem}svg .unit{margin:0;padding:5px 0;fill:var(--nbx-rack-unit-color)}svg .hidden{visibility:hidden}svg rect.shaded,svg image.shaded{opacity:25%}svg text.shaded{opacity:50%}svg .rack{fill:none;stroke-width:2px;stroke:var(--nbx-rack-border)}svg .slot{fill:var(--nbx-rack-slot-bg);stroke:var(--nbx-rack-slot-border)}svg .slot:hover{fill:var(--nbx-rack-slot-hover-bg)}svg .slot+.add-device{fill:var(--nbx-rack-link-color);opacity:0;pointer-events:none}svg .slot:hover+.add-device{opacity:1}svg .slot.occupied[class],svg .slot.occupied:hover[class]{fill:url(#occupied)}svg .slot.blocked[class],svg .slot.blocked:hover[class]{fill:url(#blocked)}svg .slot.blocked:hover+.add-device{opacity:0}svg .reservation[class]{fill:url(#reserved)}

+ 3 - 3
netbox/project-static/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "netbox",
   "name": "netbox",
-  "version": "4.3.0",
+  "version": "4.4.0",
   "main": "dist/netbox.js",
   "main": "dist/netbox.js",
   "license": "Apache-2.0",
   "license": "Apache-2.0",
   "private": true,
   "private": true,
@@ -24,13 +24,13 @@
   "dependencies": {
   "dependencies": {
     "@mdi/font": "7.4.47",
     "@mdi/font": "7.4.47",
     "@tabler/core": "1.4.0",
     "@tabler/core": "1.4.0",
-    "bootstrap": "5.3.7",
+    "bootstrap": "5.3.8",
     "clipboard": "2.0.11",
     "clipboard": "2.0.11",
     "flatpickr": "4.6.13",
     "flatpickr": "4.6.13",
     "gridstack": "12.3.3",
     "gridstack": "12.3.3",
     "htmx.org": "2.0.6",
     "htmx.org": "2.0.6",
     "query-string": "9.2.2",
     "query-string": "9.2.2",
-    "sass": "1.90.0",
+    "sass": "1.91.0",
     "tom-select": "2.4.3",
     "tom-select": "2.4.3",
     "typeface-inter": "3.18.1",
     "typeface-inter": "3.18.1",
     "typeface-roboto-mono": "1.1.13"
     "typeface-roboto-mono": "1.1.13"

+ 8 - 4
netbox/project-static/styles/custom/_code.scss

@@ -12,11 +12,13 @@ pre.change-data {
     min-width: fit-content;
     min-width: fit-content;
 
 
     &.added {
     &.added {
-      background-color: $green;
+      color: var(--tblr-dark);
+      background-color: $green-300;
     }
     }
 
 
     &.removed {
     &.removed {
-      background-color: $red;
+      color: var(--tblr-dark);
+      background-color: $red-300;
     }
     }
   }
   }
 }
 }
@@ -26,11 +28,13 @@ pre.change-diff {
   border-color: transparent;
   border-color: transparent;
 
 
   &.change-added {
   &.change-added {
-    background-color: $green;
+    color: var(--tblr-dark);
+    background-color: $green-300;
   }
   }
 
 
   &.change-removed {
   &.change-removed {
-    background-color: $red;
+    color: var(--tblr-dark);
+    background-color: $red-300;
   }
   }
 }
 }
 
 

+ 6 - 0
netbox/project-static/styles/overrides/_tomselect.scss

@@ -6,3 +6,9 @@
     }
     }
   }
   }
 }
 }
+
+// Replicate styling of tom-selected <select> fields tagged with .is-invalid to
+// their corresponding TomSelect dropdowns
+select.tomselected.is-invalid + div.ts-wrapper {
+  @extend .is-invalid;
+}

+ 2 - 4
netbox/project-static/styles/svg/rack_elevation.scss

@@ -28,10 +28,6 @@ svg {
   }
   }
 }
 }
 
 
-* {
-  font-family: $font-family-sans-serif;
-  font-size: $font-size-sm;
-}
 rect {
 rect {
   box-sizing: border-box;
   box-sizing: border-box;
 }
 }
@@ -42,6 +38,8 @@ text {
 
 
 svg {
 svg {
   background-color: var(--nbx-rack-bg);
   background-color: var(--nbx-rack-bg);
+  font-family: $font-family-sans-serif;
+  font-size: $font-size-sm;
 
 
   // Rack unit numbers along left side of rack elevation.
   // Rack unit numbers along left side of rack elevation.
   .unit {
   .unit {

+ 9 - 4
netbox/project-static/yarn.lock

@@ -1116,6 +1116,11 @@ bootstrap@5.3.7:
   resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.7.tgz#8640065036124d961d885d80b5945745e1154d90"
   resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.7.tgz#8640065036124d961d885d80b5945745e1154d90"
   integrity sha512-7KgiD8UHjfcPBHEpDNg+zGz8L3LqR3GVwqZiBRFX04a1BCArZOz1r2kjly2HQ0WokqTO0v1nF+QAt8dsW4lKlw==
   integrity sha512-7KgiD8UHjfcPBHEpDNg+zGz8L3LqR3GVwqZiBRFX04a1BCArZOz1r2kjly2HQ0WokqTO0v1nF+QAt8dsW4lKlw==
 
 
+bootstrap@5.3.8:
+  version "5.3.8"
+  resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.8.tgz#6401a10057a22752d21f4e19055508980656aeed"
+  integrity sha512-HP1SZDqaLDPwsNiqRqi5NcP0SSXciX2s9E+RyqJIIqGo+vJeN5AJVM98CXmW/Wux0nQ5L7jeWUdplCEf0Ee+tg==
+
 brace-expansion@^1.1.7:
 brace-expansion@^1.1.7:
   version "1.1.11"
   version "1.1.11"
   resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
   resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -3185,10 +3190,10 @@ safe-regex-test@^1.1.0:
     es-errors "^1.3.0"
     es-errors "^1.3.0"
     is-regex "^1.2.1"
     is-regex "^1.2.1"
 
 
-sass@1.90.0:
-  version "1.90.0"
-  resolved "https://registry.yarnpkg.com/sass/-/sass-1.90.0.tgz#d6fc2be49c7c086ce86ea0b231a35bf9e33cb84b"
-  integrity sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==
+sass@1.91.0:
+  version "1.91.0"
+  resolved "https://registry.yarnpkg.com/sass/-/sass-1.91.0.tgz#7d4f7f624b35d43f78da1c339cab24426e28d7fa"
+  integrity sha512-aFOZHGf+ur+bp1bCHZ+u8otKGh77ZtmFyXDo4tlYvT7PWql41Kwd8wdkPqhhT+h2879IVblcHFglIMofsFd1EA==
   dependencies:
   dependencies:
     chokidar "^4.0.0"
     chokidar "^4.0.0"
     immutable "^5.0.2"
     immutable "^5.0.2"

+ 1 - 1
netbox/templates/inc/missing_prerequisites.html

@@ -10,7 +10,7 @@
       {% endblocktrans %}
       {% endblocktrans %}
     </div>
     </div>
     <div>
     <div>
-      {% add_button prerequisite_model %}
+      {% add_button prerequisite_model request.path %}
     </div>
     </div>
   </div>
   </div>
 </div>
 </div>

+ 5 - 5
netbox/templates/inc/panels/related_objects.html

@@ -4,12 +4,12 @@
 <div class="card">
 <div class="card">
   <h2 class="card-header">{% trans "Related Objects" %}</h2>
   <h2 class="card-header">{% trans "Related Objects" %}</h2>
   <ul class="list-group list-group-flush" role="presentation">
   <ul class="list-group list-group-flush" role="presentation">
-    {% for qs, filter_param in related_models %}
-      {% action_url qs.model 'list' as list_url %}
+    {% for related_object_count in related_models %}
+      {% action_url related_object_count.queryset.model 'list' as list_url %}
       {% if list_url %}
       {% if list_url %}
-        <a href="{{ list_url }}?{{ filter_param }}={{ object.pk }}" class="list-group-item list-group-item-action d-flex justify-content-between">
-          {{ qs.model|meta:"verbose_name_plural"|bettertitle }}
-          {% with count=qs.count %}
+        <a href="{{ list_url }}?{{ related_object_count.filter_param }}={{ object.pk }}" class="list-group-item list-group-item-action d-flex justify-content-between">
+          {{ related_object_count.name }}
+          {% with count=related_object_count.queryset.count %}
             {% if count %}
             {% if count %}
               <span class="badge text-bg-primary rounded-pill">{{ count }}</span>
               <span class="badge text-bg-primary rounded-pill">{{ count }}</span>
             {% else %}
             {% else %}

BIN
netbox/translations/cs/LC_MESSAGES/django.mo


+ 132 - 124
netbox/translations/cs/LC_MESSAGES/django.po

@@ -9,17 +9,17 @@
 # czarnian, 2025
 # czarnian, 2025
 # Pavel Stetina, 2025
 # Pavel Stetina, 2025
 # Luděk Janča <joelp@email.cz>, 2025
 # Luděk Janča <joelp@email.cz>, 2025
-# Jeremy Stretch, 2025
 # Radim Kabeláč <radim.ekk@gmail.com>, 2025
 # Radim Kabeláč <radim.ekk@gmail.com>, 2025
+# Jeremy Stretch, 2025
 # 
 # 
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
-"Last-Translator: Radim Kabeláč <radim.ekk@gmail.com>, 2025\n"
+"Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Czech (https://app.transifex.com/netbox-community/teams/178115/cs/)\n"
 "Language-Team: Czech (https://app.transifex.com/netbox-community/teams/178115/cs/)\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -174,8 +174,8 @@ msgstr "Mluvil"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Region (ID)"
 msgstr "Region (ID)"
@@ -186,8 +186,8 @@ msgstr "Region (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -198,8 +198,8 @@ msgstr "Region (zkratka)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -210,8 +210,8 @@ msgstr "Skupina umístění (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -327,8 +327,8 @@ msgstr "Typ okruhu (URL zkratka)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -338,7 +338,7 @@ msgstr "Místo (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Umístění (ID)"
 msgstr "Umístění (ID)"
 
 
@@ -350,7 +350,7 @@ msgstr "Zakončení A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -359,7 +359,7 @@ msgstr "Zakončení A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -382,7 +382,7 @@ msgstr "Vyhledávání"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -415,7 +415,7 @@ msgstr "Okruh (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Virtuální obvod (CID)"
 msgstr "Virtuální obvod (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Virtuální obvod (ID)"
 msgstr "Virtuální obvod (ID)"
 
 
@@ -463,7 +463,7 @@ msgstr "Rozhraní (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1924,7 +1924,7 @@ msgstr "Komentáře"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Úkoly"
 msgstr "Úkoly"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Strana"
 msgstr "Strana"
 
 
@@ -1978,7 +1978,7 @@ msgstr "Zakončení"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1989,7 +1989,7 @@ msgstr "Zakončení"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2545,7 +2545,7 @@ msgstr "Protokolování změn není u tohoto typu objektu podporováno ({type}).
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "vytvořil"
 msgstr "vytvořil"
@@ -3489,7 +3489,7 @@ msgstr "Rodičovské umístění (slug)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Výrobce (ID)"
 msgstr "Výrobce (ID)"
 
 
@@ -3497,7 +3497,7 @@ msgstr "Výrobce (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Výrobce (slug)"
 msgstr "Výrobce (slug)"
 
 
@@ -3510,14 +3510,14 @@ msgid "Rack type (ID)"
 msgstr "Typ stojanu (ID)"
 msgstr "Typ stojanu (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Role (ID)"
 msgstr "Role (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3526,7 +3526,7 @@ msgstr "Role (slug)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Stojan (ID)"
 msgstr "Stojan (ID)"
 
 
@@ -3624,7 +3624,7 @@ msgstr "Typ modulu (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Napájecí port (ID)"
 msgstr "Napájecí port (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Nadřazená položka inventáře (ID)"
 msgstr "Nadřazená položka inventáře (ID)"
 
 
@@ -3659,8 +3659,8 @@ msgid "Platform (slug)"
 msgstr "Platforma (URL zkratka)"
 msgstr "Platforma (URL zkratka)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Název lokality (slug)"
 msgstr "Název lokality (slug)"
 
 
@@ -3910,30 +3910,38 @@ msgid "VLAN Translation Policy"
 msgstr "Zásady překladu VLAN"
 msgstr "Zásady překladu VLAN"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr "Virtuální rozhraní šasi pro zařízení, když je zařízení hlavní"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr "Virtuální rozhraní šasi pro zařízení, když je zařízení hlavní (ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Virtuální rozhraní šasi pro zařízení"
 msgstr "Virtuální rozhraní šasi pro zařízení"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Virtuální rozhraní šasi pro zařízení (ID)"
 msgstr "Virtuální rozhraní šasi pro zařízení (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Druh rozhraní"
 msgstr "Druh rozhraní"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Rodičovské rozhraní (ID)"
 msgstr "Rodičovské rozhraní (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Přemostěné rozhraní (ID)"
 msgstr "Přemostěné rozhraní (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "Rozhraní LAG (ID)"
 msgstr "Rozhraní LAG (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3941,78 +3949,78 @@ msgstr "Rozhraní LAG (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "MAC adresa"
 msgstr "MAC adresa"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Primární MAC adresa (ID)"
 msgstr "Primární MAC adresa (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Primární MAC adresa"
 msgstr "Primární MAC adresa"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Kontext virtuálního zařízení"
 msgstr "Kontext virtuálního zařízení"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Kontext virtuálního zařízení (identifikátor)"
 msgstr "Kontext virtuálního zařízení (identifikátor)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "Bezdrátová síť LAN"
 msgstr "Bezdrátová síť LAN"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Bezdrátové spojení"
 msgstr "Bezdrátové spojení"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Ukončení virtuálního obvodu (ID)"
 msgstr "Ukončení virtuálního obvodu (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Pozice nadřazeného modulu (ID)"
 msgstr "Pozice nadřazeného modulu (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Instalovaný modul (ID)"
 msgstr "Instalovaný modul (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Instalované zařízení (ID)"
 msgstr "Instalované zařízení (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Instalované zařízení (název)"
 msgstr "Instalované zařízení (název)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Mistr (ID)"
 msgstr "Mistr (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Mistr (jméno)"
 msgstr "Mistr (jméno)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Nájemce (ID)"
 msgstr "Nájemce (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Nájemce (slug)"
 msgstr "Nájemce (slug)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Neukončený"
 msgstr "Neukončený"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Napájecí panel (ID)"
 msgstr "Napájecí panel (ID)"
 
 
@@ -4027,7 +4035,7 @@ msgstr "Napájecí panel (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Značky"
 msgstr "Značky"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4039,7 +4047,7 @@ msgstr "Značky"
 msgid "Position"
 msgid "Position"
 msgstr "Pozice"
 msgstr "Pozice"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5280,7 +5288,7 @@ msgstr "Nelze adoptovat {model} {name}, protože již patří do modulu"
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "{model} pojmenovaný {name} již existuje"
 msgstr "{model} pojmenovaný {name} již existuje"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5289,7 +5297,7 @@ msgstr "{model} pojmenovaný {name} již existuje"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Napájecí panel"
 msgstr "Napájecí panel"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5695,11 +5703,11 @@ msgstr "Položka inventáře"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Role položky inventáře"
 msgstr "Role položky inventáře"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "Rozhraní VM"
 msgstr "Rozhraní VM"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5716,7 +5724,7 @@ msgstr "Rozhraní VM"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Virtuální stroj"
 msgstr "Virtuální stroj"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "MAC adresu lze přiřadit pouze jednomu objektu."
 msgstr "MAC adresu lze přiřadit pouze jednomu objektu."
 
 
@@ -7514,7 +7522,7 @@ msgstr "Elektrické zásuvky"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7554,7 +7562,7 @@ msgstr "Modulová přihrádka"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7584,8 +7592,8 @@ msgid "Allocated draw (W)"
 msgstr "Přidělené losování (W)"
 msgstr "Přidělené losování (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7690,7 +7698,7 @@ msgid "Instances"
 msgstr "Instance"
 msgstr "Instance"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7701,7 +7709,7 @@ msgid "Console Ports"
 msgstr "Porty konzoly"
 msgstr "Porty konzoly"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7712,7 +7720,7 @@ msgid "Console Server Ports"
 msgstr "Porty konzolového serveru"
 msgstr "Porty konzolového serveru"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7723,7 +7731,7 @@ msgid "Power Ports"
 msgstr "Napájecí porty"
 msgstr "Napájecí porty"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7734,7 +7742,7 @@ msgid "Power Outlets"
 msgstr "Napájecí zásuvky"
 msgstr "Napájecí zásuvky"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7744,7 +7752,7 @@ msgid "Front Ports"
 msgstr "Přední porty"
 msgstr "Přední porty"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7755,7 +7763,7 @@ msgid "Rear Ports"
 msgstr "Zadní porty"
 msgstr "Zadní porty"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7763,7 +7771,7 @@ msgid "Device Bays"
 msgstr "Pozice pro zařízení"
 msgstr "Pozice pro zařízení"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7851,48 +7859,48 @@ msgstr "Rezervace"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Zařízení bez racku"
 msgstr "Zařízení bez racku"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Kontext konfigurace"
 msgstr "Kontext konfigurace"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Konfigurace rendrování"
 msgstr "Konfigurace rendrování"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Virtuální stroje"
 msgstr "Virtuální stroje"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Nainstalované zařízení {device} v zátoce {device_bay}."
 msgstr "Nainstalované zařízení {device} v zátoce {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Odstraněné zařízení {device} od zátoky {device_bay}."
 msgstr "Odstraněné zařízení {device} od zátoky {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Děti"
 msgstr "Děti"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Přidán člen <a href=\"{url}\">{device}</a>"
 msgstr "Přidán člen <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr "Nelze odebrat hlavní zařízení {device} z virtuálního podvozku."
 msgstr "Nelze odebrat hlavní zařízení {device} z virtuálního podvozku."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Odstraněno {device} z virtuálního šasi {chassis}"
 msgstr "Odstraněno {device} z virtuálního šasi {chassis}"
@@ -9171,98 +9179,98 @@ msgstr "Nepravdivé"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr "Hodnoty se musí shodovat s tímto regexem: <code>{regex}</code>"
 msgstr "Hodnoty se musí shodovat s tímto regexem: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "Hodnota musí být řetězec."
 msgstr "Hodnota musí být řetězec."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "Hodnota musí odpovídat regex '{regex}'"
 msgstr "Hodnota musí odpovídat regex '{regex}'"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "Hodnota musí být celé číslo."
 msgstr "Hodnota musí být celé číslo."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "Hodnota musí být alespoň {minimum}"
 msgstr "Hodnota musí být alespoň {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "Hodnota nesmí překročit {maximum}"
 msgstr "Hodnota nesmí překročit {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "Hodnota musí být desetinná."
 msgstr "Hodnota musí být desetinná."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "Hodnota musí být pravdivá nebo nepravdivá."
 msgstr "Hodnota musí být pravdivá nebo nepravdivá."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "Hodnoty data musí být ve formátu ISO 8601 (RRRR-MM-DD)."
 msgstr "Hodnoty data musí být ve formátu ISO 8601 (RRRR-MM-DD)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "Hodnoty data a času musí být ve formátu ISO 8601 (RRRR-MM-DD HH:MM:SS)."
 "Hodnoty data a času musí být ve formátu ISO 8601 (RRRR-MM-DD HH:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Neplatná volba ({value}) pro volitelnou sadu {choiceset}."
 msgstr "Neplatná volba ({value}) pro volitelnou sadu {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Neplatná volba (y){value}) pro volitelnou sadu {choiceset}."
 msgstr "Neplatná volba (y){value}) pro volitelnou sadu {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "Hodnota musí být ID objektu, ne {type}"
 msgstr "Hodnota musí být ID objektu, ne {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "Hodnota musí být seznam ID objektů, ne {type}"
 msgstr "Hodnota musí být seznam ID objektů, ne {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "Nalezeno neplatné ID objektu: {id}"
 msgstr "Nalezeno neplatné ID objektu: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "Povinné pole nesmí být prázdné."
 msgstr "Povinné pole nesmí být prázdné."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Základní sada předdefinovaných možností (volitelné)"
 msgstr "Základní sada předdefinovaných možností (volitelné)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Volby jsou automaticky seřazeny abecedně"
 msgstr "Volby jsou automaticky seřazeny abecedně"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "vlastní sada výběru polí"
 msgstr "vlastní sada výběru polí"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "vlastní sady výběru polí"
 msgstr "vlastní sady výběru polí"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Musí definovat základní nebo další možnosti."
 msgstr "Musí definovat základní nebo další možnosti."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9644,7 +9652,7 @@ msgid "notifications"
 msgstr "oznámení"
 msgstr "oznámení"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Objekty tohoto typu ({type}) nepodporují oznámení."
 msgstr "Objekty tohoto typu ({type}) nepodporují oznámení."
@@ -9666,11 +9674,11 @@ msgstr "oznamovací skupina"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "skupiny oznámení"
 msgstr "skupiny oznámení"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "předplatné"
 msgstr "předplatné"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "předplatné"
 msgstr "předplatné"
 
 
@@ -10597,7 +10605,7 @@ msgstr "Název DNS"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLAN"
 msgstr "VLAN"
@@ -11220,7 +11228,7 @@ msgid "Added"
 msgstr "Přidal"
 msgstr "Přidal"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11362,26 +11370,26 @@ msgstr ""
 "V názvech DNS jsou povoleny pouze alfanumerické znaky, hvězdičky, pomlčky, "
 "V názvech DNS jsou povoleny pouze alfanumerické znaky, hvězdičky, pomlčky, "
 "tečky a podtržítka"
 "tečky a podtržítka"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Rozhraní zařízení"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "Rozhraní virtuálních počítačů"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Dětské předpony"
 msgstr "Dětské předpony"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Dětské rozsahy"
 msgstr "Dětské rozsahy"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "Související IP adresy"
 msgstr "Související IP adresy"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Rozhraní zařízení"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "Rozhraní virtuálních počítačů"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Toto pole nesmí být prázdné."
 msgstr "Toto pole nesmí být prázdné."
@@ -16428,18 +16436,18 @@ msgstr "{value} musí být násobkem {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} Není platným regulárním výrazem."
 msgstr "{value} Není platným regulárním výrazem."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr ""
 msgstr ""
 "{self.__class__.__name__} musí implementovat get_required_permissions ()"
 "{self.__class__.__name__} musí implementovat get_required_permissions ()"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} musí implementovat get_required_permissions ()"
 msgstr "{class_name} musí implementovat get_required_permissions ()"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/da/LC_MESSAGES/django.mo


+ 130 - 122
netbox/translations/da/LC_MESSAGES/django.po

@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Danish (https://app.transifex.com/netbox-community/teams/178115/da/)\n"
 "Language-Team: Danish (https://app.transifex.com/netbox-community/teams/178115/da/)\n"
@@ -171,8 +171,8 @@ msgstr "Talede"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Område (ID)"
 msgstr "Område (ID)"
@@ -183,8 +183,8 @@ msgstr "Område (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -195,8 +195,8 @@ msgstr "Region (slug)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -207,8 +207,8 @@ msgstr "Områdegruppe (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -324,8 +324,8 @@ msgstr "Kredsløbstype (slug)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -335,7 +335,7 @@ msgstr "Område (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Placering (ID)"
 msgstr "Placering (ID)"
 
 
@@ -347,7 +347,7 @@ msgstr "Afslutning A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -356,7 +356,7 @@ msgstr "Afslutning A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -379,7 +379,7 @@ msgstr "Søg"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -412,7 +412,7 @@ msgstr "Kredsløb (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Virtuelt kredsløb (CID)"
 msgstr "Virtuelt kredsløb (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Virtuelt kredsløb (ID)"
 msgstr "Virtuelt kredsløb (ID)"
 
 
@@ -460,7 +460,7 @@ msgstr "Grænseflade (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1921,7 +1921,7 @@ msgstr "Bemærkninger"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Opgaver"
 msgstr "Opgaver"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Side"
 msgstr "Side"
 
 
@@ -1975,7 +1975,7 @@ msgstr "Opsigelser"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1986,7 +1986,7 @@ msgstr "Opsigelser"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2541,7 +2541,7 @@ msgstr "Ændringslogføring understøttes ikke for denne objekttype ({type})."
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "oprettet"
 msgstr "oprettet"
@@ -3487,7 +3487,7 @@ msgstr "Forældreplacering (slug)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Producent (ID)"
 msgstr "Producent (ID)"
 
 
@@ -3495,7 +3495,7 @@ msgstr "Producent (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Producent (slug)"
 msgstr "Producent (slug)"
 
 
@@ -3508,14 +3508,14 @@ msgid "Rack type (ID)"
 msgstr "Racktype (ID)"
 msgstr "Racktype (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Rolle (ID)"
 msgstr "Rolle (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3524,7 +3524,7 @@ msgstr "Rolle (slug)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Rack (ID)"
 msgstr "Rack (ID)"
 
 
@@ -3622,7 +3622,7 @@ msgstr "Modultype (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Strømstik (ID)"
 msgstr "Strømstik (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Overordnet beholdningspost (ID)"
 msgstr "Overordnet beholdningspost (ID)"
 
 
@@ -3657,8 +3657,8 @@ msgid "Platform (slug)"
 msgstr "Platform (slug)"
 msgstr "Platform (slug)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Områdenavn (slug)"
 msgstr "Områdenavn (slug)"
 
 
@@ -3908,30 +3908,38 @@ msgid "VLAN Translation Policy"
 msgstr "VLAN-oversættelsespolitik"
 msgstr "VLAN-oversættelsespolitik"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr "Virtuelle chassisgrænseflader til enhed, når enheden er master"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr "Virtuelle chassisgrænseflader til enhed, når enheden er master (ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Virtuelle chassis-grænseflader til enhed"
 msgstr "Virtuelle chassis-grænseflader til enhed"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Virtuelle chassisgrænseflader til enhed (ID)"
 msgstr "Virtuelle chassisgrænseflader til enhed (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Slags grænseflade"
 msgstr "Slags grænseflade"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Overordnet grænseflade (ID)"
 msgstr "Overordnet grænseflade (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Broet grænseflade (ID)"
 msgstr "Broet grænseflade (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "LAG-grænseflade (ID)"
 msgstr "LAG-grænseflade (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3939,78 +3947,78 @@ msgstr "LAG-grænseflade (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "MAC-adresse"
 msgstr "MAC-adresse"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Primær MAC-adresse (ID)"
 msgstr "Primær MAC-adresse (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Primær MAC-adresse"
 msgstr "Primær MAC-adresse"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Virtuel enhedskontekst"
 msgstr "Virtuel enhedskontekst"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Virtuel enhedskontekst (identifikator)"
 msgstr "Virtuel enhedskontekst (identifikator)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "Trådløst LAN"
 msgstr "Trådløst LAN"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Trådløs forbindelse"
 msgstr "Trådløs forbindelse"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Virtuel kredsløbsafslutning (ID)"
 msgstr "Virtuel kredsløbsafslutning (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Forældremodulplads (ID)"
 msgstr "Forældremodulplads (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Installeret modul (ID)"
 msgstr "Installeret modul (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Installeret enhed (ID)"
 msgstr "Installeret enhed (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Installeret enhed (navn)"
 msgstr "Installeret enhed (navn)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Master (ID)"
 msgstr "Master (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Master (navn)"
 msgstr "Master (navn)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Lejer (ID)"
 msgstr "Lejer (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Lejer (snegle)"
 msgstr "Lejer (snegle)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Uafsluttede"
 msgstr "Uafsluttede"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Strømpanel (ID)"
 msgstr "Strømpanel (ID)"
 
 
@@ -4025,7 +4033,7 @@ msgstr "Strømpanel (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Mærker"
 msgstr "Mærker"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4037,7 +4045,7 @@ msgstr "Mærker"
 msgid "Position"
 msgid "Position"
 msgstr "Position"
 msgstr "Position"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5278,7 +5286,7 @@ msgstr "Kan ikke adoptere {model} {name} da det allerede hører til et modul"
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "EN {model} som hedder {name} findes allerede"
 msgstr "EN {model} som hedder {name} findes allerede"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5287,7 +5295,7 @@ msgstr "EN {model} som hedder {name} findes allerede"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Strømpanel"
 msgstr "Strømpanel"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5695,11 +5703,11 @@ msgstr "Lagergenstand"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Lagervarrolle"
 msgstr "Lagervarrolle"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "VM-grænseflade"
 msgstr "VM-grænseflade"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5716,7 +5724,7 @@ msgstr "VM-grænseflade"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Virtuel maskine"
 msgstr "Virtuel maskine"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "En MAC-adresse kan kun tildeles et enkelt objekt."
 msgstr "En MAC-adresse kan kun tildeles et enkelt objekt."
 
 
@@ -7527,7 +7535,7 @@ msgstr "Strømudtag"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7567,7 +7575,7 @@ msgstr "Modulbugt"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7597,8 +7605,8 @@ msgid "Allocated draw (W)"
 msgstr "Tildelt lodtrækning (W)"
 msgstr "Tildelt lodtrækning (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7703,7 +7711,7 @@ msgid "Instances"
 msgstr "forekomster"
 msgstr "forekomster"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7714,7 +7722,7 @@ msgid "Console Ports"
 msgstr "Konsolporte"
 msgstr "Konsolporte"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7725,7 +7733,7 @@ msgid "Console Server Ports"
 msgstr "Konsolserverporte"
 msgstr "Konsolserverporte"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7736,7 +7744,7 @@ msgid "Power Ports"
 msgstr "Strømstik"
 msgstr "Strømstik"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7747,7 +7755,7 @@ msgid "Power Outlets"
 msgstr "Strømudtag"
 msgstr "Strømudtag"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7757,7 +7765,7 @@ msgid "Front Ports"
 msgstr "Frontporte"
 msgstr "Frontporte"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7768,7 +7776,7 @@ msgid "Rear Ports"
 msgstr "Bageste porte"
 msgstr "Bageste porte"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7776,7 +7784,7 @@ msgid "Device Bays"
 msgstr "Enhedsbugter"
 msgstr "Enhedsbugter"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7864,48 +7872,48 @@ msgstr "Reservationer"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Enheder uden rack"
 msgstr "Enheder uden rack"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Konfigurationskontekst"
 msgstr "Konfigurationskontekst"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Gengivelseskonfiguration"
 msgstr "Gengivelseskonfiguration"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Virtuelle maskiner"
 msgstr "Virtuelle maskiner"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Installeret enhed {device} i bugten {device_bay}."
 msgstr "Installeret enhed {device} i bugten {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Fjernet enhed {device} fra bugten {device_bay}."
 msgstr "Fjernet enhed {device} fra bugten {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Børn"
 msgstr "Børn"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Tilføjet medlem <a href=\"{url}\">{device}</a>"
 msgstr "Tilføjet medlem <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr "Kan ikke fjerne masterenheden {device} fra det virtuelle chassis."
 msgstr "Kan ikke fjerne masterenheden {device} fra det virtuelle chassis."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Fjernet {device} fra virtuelt chassis {chassis}"
 msgstr "Fjernet {device} fra virtuelt chassis {chassis}"
@@ -9190,99 +9198,99 @@ msgstr "Falsk"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr "Værdier skal matche denne regex: <code>{regex}</code>"
 msgstr "Værdier skal matche denne regex: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "Værdien skal være en streng."
 msgstr "Værdien skal være en streng."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "Værdien skal matche regex '{regex}'"
 msgstr "Værdien skal matche regex '{regex}'"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "Værdien skal være et heltal."
 msgstr "Værdien skal være et heltal."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "Værdien skal være mindst {minimum}"
 msgstr "Værdien skal være mindst {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "Værdien må ikke overstige {maximum}"
 msgstr "Værdien må ikke overstige {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "Værdien skal være en decimal."
 msgstr "Værdien skal være en decimal."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "Værdien skal være sand eller falsk."
 msgstr "Værdien skal være sand eller falsk."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "Datoværdierne skal være i ISO 8601-format (ÅÅÅÅ-MM-DD)."
 msgstr "Datoværdierne skal være i ISO 8601-format (ÅÅÅÅ-MM-DD)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "Dato- og klokkeslætsværdierne skal være i ISO 8601-format (ÅÅÅÅÅ-MM-DD "
 "Dato- og klokkeslætsværdierne skal være i ISO 8601-format (ÅÅÅÅÅ-MM-DD "
 "HH:MM:SS)."
 "HH:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Ugyldigt valg ({value}) til valgsæt {choiceset}."
 msgstr "Ugyldigt valg ({value}) til valgsæt {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Ugyldige valg (er) ({value}) til valgsæt {choiceset}."
 msgstr "Ugyldige valg (er) ({value}) til valgsæt {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "Værdien skal være et objekt-id, ikke {type}"
 msgstr "Værdien skal være et objekt-id, ikke {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "Værdien skal være en liste over objekt-id'er, ikke {type}"
 msgstr "Værdien skal være en liste over objekt-id'er, ikke {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "Fundet ugyldigt objekt-id: {id}"
 msgstr "Fundet ugyldigt objekt-id: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "Obligatorisk felt kan ikke være tomt."
 msgstr "Obligatorisk felt kan ikke være tomt."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Basisæt af foruddefinerede valg (valgfrit)"
 msgstr "Basisæt af foruddefinerede valg (valgfrit)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Valg sorteres automatisk alfabetisk"
 msgstr "Valg sorteres automatisk alfabetisk"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "brugerdefineret felt valgsæt"
 msgstr "brugerdefineret felt valgsæt"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "brugerdefinerede feltvalgssæt"
 msgstr "brugerdefinerede feltvalgssæt"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Skal definere base eller ekstra valg."
 msgstr "Skal definere base eller ekstra valg."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9663,7 +9671,7 @@ msgid "notifications"
 msgstr "notifikationer"
 msgstr "notifikationer"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Objekter af denne type ({type}) understøtter ikke underretninger."
 msgstr "Objekter af denne type ({type}) understøtter ikke underretninger."
@@ -9685,11 +9693,11 @@ msgstr "meddelelsesgruppe"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "meddelelsesgrupper"
 msgstr "meddelelsesgrupper"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "abonnement"
 msgstr "abonnement"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "abonnementer"
 msgstr "abonnementer"
 
 
@@ -10614,7 +10622,7 @@ msgstr "DNS-navn"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLAN'er"
 msgstr "VLAN'er"
@@ -11247,7 +11255,7 @@ msgid "Added"
 msgstr "Tilføjet"
 msgstr "Tilføjet"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11389,26 +11397,26 @@ msgstr ""
 "Kun alfanumeriske tegn, stjerner, bindestreger, punktum og understregninger "
 "Kun alfanumeriske tegn, stjerner, bindestreger, punktum og understregninger "
 "er tilladt i DNS-navne"
 "er tilladt i DNS-navne"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Enhedsgrænseflader"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "VM-grænseflader"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Børnepræfikser"
 msgstr "Børnepræfikser"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Børneområder"
 msgstr "Børneområder"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "Relaterede IP'er"
 msgstr "Relaterede IP'er"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Enhedsgrænseflader"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "VM-grænseflader"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Dette felt må ikke være tomt."
 msgstr "Dette felt må ikke være tomt."
@@ -16470,18 +16478,18 @@ msgstr "{value} skal være et multiplum af {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} er ikke et gyldigt regulært udtryk."
 msgstr "{value} er ikke et gyldigt regulært udtryk."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr ""
 msgstr ""
 "{self.__class__.__name__} skal implementere get_required_permissions ()"
 "{self.__class__.__name__} skal implementere get_required_permissions ()"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} skal implementere get_required_permissions ()"
 msgstr "{class_name} skal implementere get_required_permissions ()"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/de/LC_MESSAGES/django.mo


+ 133 - 124
netbox/translations/de/LC_MESSAGES/django.po

@@ -10,17 +10,17 @@
 # haagehan, 2024
 # haagehan, 2024
 # Robin Reinhardt, 2024
 # Robin Reinhardt, 2024
 # Niklas, 2025
 # Niklas, 2025
-# chbally, 2025
 # Jeremy Stretch, 2025
 # Jeremy Stretch, 2025
+# chbally, 2025
 # 
 # 
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
-"Last-Translator: Jeremy Stretch, 2025\n"
+"Last-Translator: chbally, 2025\n"
 "Language-Team: German (https://app.transifex.com/netbox-community/teams/178115/de/)\n"
 "Language-Team: German (https://app.transifex.com/netbox-community/teams/178115/de/)\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -176,8 +176,8 @@ msgstr "Spoke"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Region (ID)"
 msgstr "Region (ID)"
@@ -188,8 +188,8 @@ msgstr "Region (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -200,8 +200,8 @@ msgstr "Region (URL-Slug)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -212,8 +212,8 @@ msgstr "Standortgruppe (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -329,8 +329,8 @@ msgstr "Transportnetz Typ (URL-Slug)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -340,7 +340,7 @@ msgstr "Standort (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Lokation (ID)"
 msgstr "Lokation (ID)"
 
 
@@ -352,7 +352,7 @@ msgstr "Abschlusspunkt A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -361,7 +361,7 @@ msgstr "Abschlusspunkt A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -384,7 +384,7 @@ msgstr "Suche"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -417,7 +417,7 @@ msgstr "Transportnetz (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Virtuelle Verbindung (CID)"
 msgstr "Virtuelle Verbindung (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Virtuelle Verbindung (ID)"
 msgstr "Virtuelle Verbindung (ID)"
 
 
@@ -465,7 +465,7 @@ msgstr "Schnittstelle (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1928,7 +1928,7 @@ msgstr "Kommentare"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Zuweisungen"
 msgstr "Zuweisungen"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Seite"
 msgstr "Seite"
 
 
@@ -1982,7 +1982,7 @@ msgstr "Abschlusspunkte"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1993,7 +1993,7 @@ msgstr "Abschlusspunkte"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2555,7 +2555,7 @@ msgstr ""
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "erstellt"
 msgstr "erstellt"
@@ -3504,7 +3504,7 @@ msgstr "Übergeordnete Lokation (URL-Slug)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Hersteller (ID)"
 msgstr "Hersteller (ID)"
 
 
@@ -3512,7 +3512,7 @@ msgstr "Hersteller (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Hersteller (Slug)"
 msgstr "Hersteller (Slug)"
 
 
@@ -3525,14 +3525,14 @@ msgid "Rack type (ID)"
 msgstr "Racktyp (ID)"
 msgstr "Racktyp (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Rolle (ID)"
 msgstr "Rolle (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3541,7 +3541,7 @@ msgstr "Rolle (URL-Slug)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Rack (ID)"
 msgstr "Rack (ID)"
 
 
@@ -3639,7 +3639,7 @@ msgstr "Modultyp (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Stromanschluss (ID)"
 msgstr "Stromanschluss (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Übergeordneter Inventarartikel (ID)"
 msgstr "Übergeordneter Inventarartikel (ID)"
 
 
@@ -3674,8 +3674,8 @@ msgid "Platform (slug)"
 msgstr "Betriebssystem (URL-Slug)"
 msgstr "Betriebssystem (URL-Slug)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Standortname (URL-Slug)"
 msgstr "Standortname (URL-Slug)"
 
 
@@ -3925,30 +3925,39 @@ msgid "VLAN Translation Policy"
 msgstr "VLAN-Übersetzungsrichtlinie"
 msgstr "VLAN-Übersetzungsrichtlinie"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr "Virtuelle Gehäuseschnittstellen für Gerät, wenn das Gerät Master ist"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr ""
+"Virtuelle Gehäuseschnittstellen für Gerät, wenn das Gerät Master ist (ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Virtuelle Gehäuseschnittstellen für Gerät"
 msgstr "Virtuelle Gehäuseschnittstellen für Gerät"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Virtuelle Gehäuseschnittstellen für Gerät (ID)"
 msgstr "Virtuelle Gehäuseschnittstellen für Gerät (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Art der Schnittstelle"
 msgstr "Art der Schnittstelle"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Übergeordnete Schnittstelle (ID)"
 msgstr "Übergeordnete Schnittstelle (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Überbrückte Schnittstelle (ID)"
 msgstr "Überbrückte Schnittstelle (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "LAG-Schnittstelle (ID)"
 msgstr "LAG-Schnittstelle (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3956,78 +3965,78 @@ msgstr "LAG-Schnittstelle (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "MAC-Adresse"
 msgstr "MAC-Adresse"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Primäre MAC-Adresse (ID)"
 msgstr "Primäre MAC-Adresse (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Primäre MAC-Adresse"
 msgstr "Primäre MAC-Adresse"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Virtual Device Context"
 msgstr "Virtual Device Context"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Virtual Device Context (Identifier)"
 msgstr "Virtual Device Context (Identifier)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "WLAN"
 msgstr "WLAN"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "WLAN Verbindung"
 msgstr "WLAN Verbindung"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Virtueller Verbindungsabschluß (ID)"
 msgstr "Virtueller Verbindungsabschluß (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Hauptmodulschacht (ID)"
 msgstr "Hauptmodulschacht (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Installiertes Modul (ID)"
 msgstr "Installiertes Modul (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Installiertes Gerät (ID)"
 msgstr "Installiertes Gerät (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Installiertes Gerät (Name)"
 msgstr "Installiertes Gerät (Name)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Master (ID)"
 msgstr "Master (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Master (Name)"
 msgstr "Master (Name)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Mandant (ID)"
 msgstr "Mandant (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Mandant (URL-Slug)"
 msgstr "Mandant (URL-Slug)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Nicht terminiert"
 msgstr "Nicht terminiert"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Stromverteiler (ID)"
 msgstr "Stromverteiler (ID)"
 
 
@@ -4042,7 +4051,7 @@ msgstr "Stromverteiler (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Tags"
 msgstr "Tags"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4054,7 +4063,7 @@ msgstr "Tags"
 msgid "Position"
 msgid "Position"
 msgstr "Position"
 msgstr "Position"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5308,7 +5317,7 @@ msgstr ""
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "Ein {model} genannt {name} existiert bereits"
 msgstr "Ein {model} genannt {name} existiert bereits"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5317,7 +5326,7 @@ msgstr "Ein {model} genannt {name} existiert bereits"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Stromverteiler"
 msgstr "Stromverteiler"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5730,11 +5739,11 @@ msgstr "Inventar-Artikel"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Rolle des Inventarartikels"
 msgstr "Rolle des Inventarartikels"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "VM-Schnittstelle"
 msgstr "VM-Schnittstelle"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5751,7 +5760,7 @@ msgstr "VM-Schnittstelle"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Virtuelle Maschine"
 msgstr "Virtuelle Maschine"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "Eine MAC-Adresse kann nur einem einzelnen Objekt zugewiesen werden."
 msgstr "Eine MAC-Adresse kann nur einem einzelnen Objekt zugewiesen werden."
 
 
@@ -7638,7 +7647,7 @@ msgstr "Steckdosen"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7678,7 +7687,7 @@ msgstr "Moduleinsatz"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7708,8 +7717,8 @@ msgid "Allocated draw (W)"
 msgstr "Zugewiesener Stromverbrauch (W)"
 msgstr "Zugewiesener Stromverbrauch (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7814,7 +7823,7 @@ msgid "Instances"
 msgstr "Instanzen"
 msgstr "Instanzen"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7825,7 +7834,7 @@ msgid "Console Ports"
 msgstr "Konsolenanschlüsse"
 msgstr "Konsolenanschlüsse"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7836,7 +7845,7 @@ msgid "Console Server Ports"
 msgstr "Konsolenserveranschlüsse"
 msgstr "Konsolenserveranschlüsse"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7847,7 +7856,7 @@ msgid "Power Ports"
 msgstr "Stromanschlüsse"
 msgstr "Stromanschlüsse"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7858,7 +7867,7 @@ msgid "Power Outlets"
 msgstr "Steckdosen"
 msgstr "Steckdosen"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7868,7 +7877,7 @@ msgid "Front Ports"
 msgstr "Frontanschlüsse"
 msgstr "Frontanschlüsse"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7879,7 +7888,7 @@ msgid "Rear Ports"
 msgstr "Rückanschlüsse"
 msgstr "Rückanschlüsse"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7887,7 +7896,7 @@ msgid "Device Bays"
 msgstr "Geräteeinsätze"
 msgstr "Geräteeinsätze"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7975,50 +7984,50 @@ msgstr "Rackreservierungen"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Nicht in einem Rack befindliche Geräte"
 msgstr "Nicht in einem Rack befindliche Geräte"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Konfigurationsvorlage"
 msgstr "Konfigurationsvorlage"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Konfiguration rendern"
 msgstr "Konfiguration rendern"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Virtuelle Maschinen"
 msgstr "Virtuelle Maschinen"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Gerät {device} im Schacht {device_bay} installiert."
 msgstr "Gerät {device} im Schacht {device_bay} installiert."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Gerät {device} im Schacht {device_bay} entfernt."
 msgstr "Gerät {device} im Schacht {device_bay} entfernt."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Untergeordnet"
 msgstr "Untergeordnet"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Mitglied hinzugefügt <a href=\"{url}\">{device}</a>"
 msgstr "Mitglied hinzugefügt <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr ""
 msgstr ""
 "Ein Hauptgerät (Master Device) {device} kann von einem virtuellen Gehäuse "
 "Ein Hauptgerät (Master Device) {device} kann von einem virtuellen Gehäuse "
 "nicht entfernt werden."
 "nicht entfernt werden."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "{device} vom virtuellen Gehäuse {chassis} entfernt."
 msgstr "{device} vom virtuellen Gehäuse {chassis} entfernt."
@@ -9341,99 +9350,99 @@ msgid "Values must match this regex: <code>{regex}</code>"
 msgstr ""
 msgstr ""
 "Die Werte müssen mit diesem Regex übereinstimmen: <code>{regex}</code>"
 "Die Werte müssen mit diesem Regex übereinstimmen: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "Der Wert muss eine Zeichenfolge sein."
 msgstr "Der Wert muss eine Zeichenfolge sein."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "Wert muss mit Regex '{regex}' übereinstimmen"
 msgstr "Wert muss mit Regex '{regex}' übereinstimmen"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "Der Wert muss eine Ganzzahl sein."
 msgstr "Der Wert muss eine Ganzzahl sein."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "Wert muss mindestens {minimum} sein"
 msgstr "Wert muss mindestens {minimum} sein"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "Wert darf nicht {maximum} überschreiten"
 msgstr "Wert darf nicht {maximum} überschreiten"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "Der Wert muss eine Dezimalzahl sein."
 msgstr "Der Wert muss eine Dezimalzahl sein."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "Der Wert muss wahr oder falsch sein."
 msgstr "Der Wert muss wahr oder falsch sein."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "Datumswerte müssen im ISO 8601-Format (YYYY-MM-DD) vorliegen."
 msgstr "Datumswerte müssen im ISO 8601-Format (YYYY-MM-DD) vorliegen."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "Datums- und Uhrzeitwerte müssen im ISO 8601-Format (YYYY-MM-DD HH:MM:SS) "
 "Datums- und Uhrzeitwerte müssen im ISO 8601-Format (YYYY-MM-DD HH:MM:SS) "
 "vorliegen."
 "vorliegen."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Ungültige Auswahl ({value}) für Auswahlsatz {choiceset}."
 msgstr "Ungültige Auswahl ({value}) für Auswahlsatz {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Ungültige Auswahl (en) ({value}) für Auswahlsatz {choiceset}."
 msgstr "Ungültige Auswahl (en) ({value}) für Auswahlsatz {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "Der Wert muss eine Objekt-ID sein, nicht {type}"
 msgstr "Der Wert muss eine Objekt-ID sein, nicht {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "Der Wert muss eine Liste von Objekt-IDs sein, nicht {type}"
 msgstr "Der Wert muss eine Liste von Objekt-IDs sein, nicht {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "Ungültige Objekt-ID gefunden: {id}"
 msgstr "Ungültige Objekt-ID gefunden: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "Das erforderliche Feld darf nicht leer sein."
 msgstr "Das erforderliche Feld darf nicht leer sein."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Basissatz vordefinierter Auswahlmöglichkeiten (optional)"
 msgstr "Basissatz vordefinierter Auswahlmöglichkeiten (optional)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Die Auswahlmöglichkeiten werden automatisch alphabetisch sortiert"
 msgstr "Die Auswahlmöglichkeiten werden automatisch alphabetisch sortiert"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "benutzerdefinierter Feldauswahlsatz"
 msgstr "benutzerdefinierter Feldauswahlsatz"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "Benutzerdefinierte Feldoptionen"
 msgstr "Benutzerdefinierte Feldoptionen"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Muss Basis- oder zusätzliche Auswahlmöglichkeiten definieren."
 msgstr "Muss Basis- oder zusätzliche Auswahlmöglichkeiten definieren."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9821,7 +9830,7 @@ msgid "notifications"
 msgstr "Benachrichtigungen"
 msgstr "Benachrichtigungen"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Objekte dieses Typs ({type}) unterstützen keine Benachrichtigungen."
 msgstr "Objekte dieses Typs ({type}) unterstützen keine Benachrichtigungen."
@@ -9843,11 +9852,11 @@ msgstr "Benachrichtigungsgruppe"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "Benachrichtigungsgruppen"
 msgstr "Benachrichtigungsgruppen"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "Abonnement"
 msgstr "Abonnement"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "Abonnements"
 msgstr "Abonnements"
 
 
@@ -10787,7 +10796,7 @@ msgstr "DNS-Name"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLANs"
 msgstr "VLANs"
@@ -11431,7 +11440,7 @@ msgid "Added"
 msgstr "Hinzugefügt"
 msgstr "Hinzugefügt"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11573,26 +11582,26 @@ msgstr ""
 "In DNS-Namen sind nur alphanumerische Zeichen, Sternchen, Bindestriche, "
 "In DNS-Namen sind nur alphanumerische Zeichen, Sternchen, Bindestriche, "
 "Punkte und Unterstriche zulässig"
 "Punkte und Unterstriche zulässig"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Geräteschnittstellen"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "VM-Schnittstellen"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "untergeordnete Prefixe"
 msgstr "untergeordnete Prefixe"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "untergeordnete Bereiche"
 msgstr "untergeordnete Bereiche"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "Verwandte IPs"
 msgstr "Verwandte IPs"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Geräteschnittstellen"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "VM-Schnittstellen"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Dieses Feld darf nicht leer sein."
 msgstr "Dieses Feld darf nicht leer sein."
@@ -16697,18 +16706,18 @@ msgstr "{value} muss ein Vielfaches von sein {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} ist kein gültiger regulärer Ausdruck."
 msgstr "{value} ist kein gültiger regulärer Ausdruck."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr ""
 msgstr ""
 "{self.__class__.__name__} muss get_required_permission() implementieren"
 "{self.__class__.__name__} muss get_required_permission() implementieren"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} muss get_required_permission() implementieren"
 msgstr "{class_name} muss get_required_permission() implementieren"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

+ 129 - 121
netbox/translations/en/LC_MESSAGES/django.po

@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -165,8 +165,8 @@ msgstr ""
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr ""
 msgstr ""
@@ -177,8 +177,8 @@ msgstr ""
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -189,8 +189,8 @@ msgstr ""
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -201,8 +201,8 @@ msgstr ""
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -318,8 +318,8 @@ msgstr ""
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -329,7 +329,7 @@ msgstr ""
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr ""
 msgstr ""
 
 
@@ -341,7 +341,7 @@ msgstr ""
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -350,7 +350,7 @@ msgstr ""
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -373,7 +373,7 @@ msgstr ""
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -406,7 +406,7 @@ msgstr ""
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr ""
 msgstr ""
 
 
@@ -453,7 +453,7 @@ msgstr ""
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1895,7 +1895,7 @@ msgstr ""
 msgid "Assignments"
 msgid "Assignments"
 msgstr ""
 msgstr ""
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr ""
 msgstr ""
 
 
@@ -1949,7 +1949,7 @@ msgstr ""
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1960,7 +1960,7 @@ msgstr ""
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2512,7 +2512,7 @@ msgstr ""
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr ""
 msgstr ""
@@ -3449,7 +3449,7 @@ msgstr ""
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr ""
 msgstr ""
 
 
@@ -3457,7 +3457,7 @@ msgstr ""
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr ""
 msgstr ""
 
 
@@ -3470,14 +3470,14 @@ msgid "Rack type (ID)"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3486,7 +3486,7 @@ msgstr ""
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr ""
 msgstr ""
 
 
@@ -3584,7 +3584,7 @@ msgstr ""
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr ""
 msgstr ""
 
 
@@ -3619,8 +3619,8 @@ msgid "Platform (slug)"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr ""
 msgstr ""
 
 
@@ -3870,30 +3870,38 @@ msgid "VLAN Translation Policy"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
-msgid "Virtual Chassis Interfaces for Device"
+msgid "Virtual Chassis Interfaces for Device when device is master"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/filtersets.py:1896
 #: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr ""
+
+#: netbox/dcim/filtersets.py:1901
+msgid "Virtual Chassis Interfaces for Device"
+msgstr ""
+
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3901,77 +3909,77 @@ msgstr ""
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1973 netbox/templates/wireless/wirelesslan.html:11
+#: netbox/dcim/filtersets.py:1983 netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr ""
 msgstr ""
 
 
@@ -3986,7 +3994,7 @@ msgstr ""
 msgid "Tags"
 msgid "Tags"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -3998,7 +4006,7 @@ msgstr ""
 msgid "Position"
 msgid "Position"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5213,7 +5221,7 @@ msgstr ""
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5222,7 +5230,7 @@ msgstr ""
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5614,11 +5622,11 @@ msgstr ""
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5635,7 +5643,7 @@ msgstr ""
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr ""
 msgstr ""
 
 
@@ -7351,7 +7359,7 @@ msgstr ""
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7390,7 +7398,7 @@ msgstr ""
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7420,8 +7428,8 @@ msgid "Allocated draw (W)"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7526,7 +7534,7 @@ msgid "Instances"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7537,7 +7545,7 @@ msgid "Console Ports"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7548,7 +7556,7 @@ msgid "Console Server Ports"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7559,7 +7567,7 @@ msgid "Power Ports"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7570,7 +7578,7 @@ msgid "Power Outlets"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7580,7 +7588,7 @@ msgid "Front Ports"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7591,7 +7599,7 @@ msgid "Rear Ports"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7599,7 +7607,7 @@ msgid "Device Bays"
 msgstr ""
 msgstr ""
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7687,48 +7695,48 @@ msgstr ""
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr ""
 msgstr ""
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr ""
 msgstr ""
@@ -8952,97 +8960,97 @@ msgstr ""
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9396,7 +9404,7 @@ msgid "notifications"
 msgstr ""
 msgstr ""
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr ""
 msgstr ""
@@ -9418,11 +9426,11 @@ msgstr ""
 msgid "notification groups"
 msgid "notification groups"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr ""
 msgstr ""
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr ""
 msgstr ""
 
 
@@ -10340,7 +10348,7 @@ msgstr ""
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr ""
 msgstr ""
@@ -10937,7 +10945,7 @@ msgid "Added"
 msgstr ""
 msgstr ""
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11077,24 +11085,24 @@ msgid ""
 "are allowed in DNS names"
 "are allowed in DNS names"
 msgstr ""
 msgstr ""
 
 
-#: netbox/ipam/views.py:569
-msgid "Child Prefixes"
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
 msgstr ""
 msgstr ""
 
 
-#: netbox/ipam/views.py:605
-msgid "Child Ranges"
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
 msgstr ""
 msgstr ""
 
 
-#: netbox/ipam/views.py:951
-msgid "Related IPs"
+#: netbox/ipam/views.py:587
+msgid "Child Prefixes"
 msgstr ""
 msgstr ""
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
+#: netbox/ipam/views.py:623
+msgid "Child Ranges"
 msgstr ""
 msgstr ""
 
 
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
+#: netbox/ipam/views.py:969
+msgid "Related IPs"
 msgstr ""
 msgstr ""
 
 
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
@@ -15997,17 +16005,17 @@ msgstr ""
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr ""
 msgstr ""
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr ""
 msgstr ""
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr ""
 msgstr ""
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only "
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only "

BIN
netbox/translations/es/LC_MESSAGES/django.mo


+ 134 - 122
netbox/translations/es/LC_MESSAGES/django.po

@@ -12,7 +12,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Spanish (https://app.transifex.com/netbox-community/teams/178115/es/)\n"
 "Language-Team: Spanish (https://app.transifex.com/netbox-community/teams/178115/es/)\n"
@@ -171,8 +171,8 @@ msgstr "Habló"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Región (ID)"
 msgstr "Región (ID)"
@@ -183,8 +183,8 @@ msgstr "Región (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -195,8 +195,8 @@ msgstr "Región (babosa)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -207,8 +207,8 @@ msgstr "Grupo de sitios (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -324,8 +324,8 @@ msgstr "Tipo de circuito (slug)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -335,7 +335,7 @@ msgstr "Sitio (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Ubicación (ID)"
 msgstr "Ubicación (ID)"
 
 
@@ -347,7 +347,7 @@ msgstr "Terminación A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -356,7 +356,7 @@ msgstr "Terminación A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -379,7 +379,7 @@ msgstr "Búsqueda"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -412,7 +412,7 @@ msgstr "Circuito (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Circuito virtual (CID)"
 msgstr "Circuito virtual (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Circuito virtual (ID)"
 msgstr "Circuito virtual (ID)"
 
 
@@ -460,7 +460,7 @@ msgstr "Interfaz (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1922,7 +1922,7 @@ msgstr "Comentarios"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Asignaciones"
 msgstr "Asignaciones"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Lado"
 msgstr "Lado"
 
 
@@ -1976,7 +1976,7 @@ msgstr "Terminaciones"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1987,7 +1987,7 @@ msgstr "Terminaciones"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2545,7 +2545,7 @@ msgstr ""
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "creado"
 msgstr "creado"
@@ -3495,7 +3495,7 @@ msgstr "Ubicación principal (slug)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Fabricante (ID)"
 msgstr "Fabricante (ID)"
 
 
@@ -3503,7 +3503,7 @@ msgstr "Fabricante (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Fabricante (babosa)"
 msgstr "Fabricante (babosa)"
 
 
@@ -3516,14 +3516,14 @@ msgid "Rack type (ID)"
 msgstr "Tipo de bastidor (ID)"
 msgstr "Tipo de bastidor (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Función (ID)"
 msgstr "Función (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3532,7 +3532,7 @@ msgstr "Rol (babosa)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Rack (ID)"
 msgstr "Rack (ID)"
 
 
@@ -3630,7 +3630,7 @@ msgstr "Tipo de módulo (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Puerto de alimentación (ID)"
 msgstr "Puerto de alimentación (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Artículo del inventario principal (ID)"
 msgstr "Artículo del inventario principal (ID)"
 
 
@@ -3665,8 +3665,8 @@ msgid "Platform (slug)"
 msgstr "Plataforma (babosa)"
 msgstr "Plataforma (babosa)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Nombre del sitio (slug)"
 msgstr "Nombre del sitio (slug)"
 
 
@@ -3916,30 +3916,42 @@ msgid "VLAN Translation Policy"
 msgstr "Política de traducción de VLAN"
 msgstr "Política de traducción de VLAN"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr ""
+"Interfaces de chasis virtuales para dispositivos cuando el dispositivo es "
+"maestro"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr ""
+"Interfaces de chasis virtuales para dispositivos cuando el dispositivo es "
+"maestro (ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Interfaces de chasis virtuales para dispositivos"
 msgstr "Interfaces de chasis virtuales para dispositivos"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Interfaces de chasis virtuales para dispositivos (ID)"
 msgstr "Interfaces de chasis virtuales para dispositivos (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Tipo de interfaz"
 msgstr "Tipo de interfaz"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Interfaz principal (ID)"
 msgstr "Interfaz principal (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Interfaz puenteada (ID)"
 msgstr "Interfaz puenteada (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "Interfaz LAG (ID)"
 msgstr "Interfaz LAG (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3947,78 +3959,78 @@ msgstr "Interfaz LAG (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "Dirección MAC"
 msgstr "Dirección MAC"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Dirección MAC principal (ID)"
 msgstr "Dirección MAC principal (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Dirección MAC principal"
 msgstr "Dirección MAC principal"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Contexto de dispositivo virtual"
 msgstr "Contexto de dispositivo virtual"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Contexto de dispositivo virtual (identificador)"
 msgstr "Contexto de dispositivo virtual (identificador)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "LAN inalámbrica"
 msgstr "LAN inalámbrica"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Enlace inalámbrico"
 msgstr "Enlace inalámbrico"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Terminación de circuito virtual (ID)"
 msgstr "Terminación de circuito virtual (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Compartimento del módulo principal (ID)"
 msgstr "Compartimento del módulo principal (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Módulo instalado (ID)"
 msgstr "Módulo instalado (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Dispositivo instalado (ID)"
 msgstr "Dispositivo instalado (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Dispositivo instalado (nombre)"
 msgstr "Dispositivo instalado (nombre)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Maestro (ID)"
 msgstr "Maestro (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Maestro (nombre)"
 msgstr "Maestro (nombre)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Inquilino (ID)"
 msgstr "Inquilino (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Inquilino (babosa)"
 msgstr "Inquilino (babosa)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Inacabado"
 msgstr "Inacabado"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Panel de alimentación (ID)"
 msgstr "Panel de alimentación (ID)"
 
 
@@ -4033,7 +4045,7 @@ msgstr "Panel de alimentación (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Etiquetas"
 msgstr "Etiquetas"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4045,7 +4057,7 @@ msgstr "Etiquetas"
 msgid "Position"
 msgid "Position"
 msgstr "Posición"
 msgstr "Posición"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5297,7 +5309,7 @@ msgstr "No puede adoptar {model} {name} porque ya pertenece a un módulo"
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "UN {model} llamado {name} ya existe"
 msgstr "UN {model} llamado {name} ya existe"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5306,7 +5318,7 @@ msgstr "UN {model} llamado {name} ya existe"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Panel de alimentación"
 msgstr "Panel de alimentación"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5716,11 +5728,11 @@ msgstr "Artículo de inventario"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Función del artículo de inventario"
 msgstr "Función del artículo de inventario"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "Interfaz VM"
 msgstr "Interfaz VM"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5737,7 +5749,7 @@ msgstr "Interfaz VM"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Máquina virtual"
 msgstr "Máquina virtual"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "Una dirección MAC solo se puede asignar a un único objeto."
 msgstr "Una dirección MAC solo se puede asignar a un único objeto."
 
 
@@ -7598,7 +7610,7 @@ msgstr "tomas de corriente"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7638,7 +7650,7 @@ msgstr "Bahía de módulos"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7668,8 +7680,8 @@ msgid "Allocated draw (W)"
 msgstr "Sorteo asignado (W)"
 msgstr "Sorteo asignado (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7774,7 +7786,7 @@ msgid "Instances"
 msgstr "Instancias"
 msgstr "Instancias"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7785,7 +7797,7 @@ msgid "Console Ports"
 msgstr "Puertos de consola"
 msgstr "Puertos de consola"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7796,7 +7808,7 @@ msgid "Console Server Ports"
 msgstr "Puertos de servidor de consola"
 msgstr "Puertos de servidor de consola"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7807,7 +7819,7 @@ msgid "Power Ports"
 msgstr "Puertos de alimentación"
 msgstr "Puertos de alimentación"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7818,7 +7830,7 @@ msgid "Power Outlets"
 msgstr "Tomas de corriente"
 msgstr "Tomas de corriente"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7828,7 +7840,7 @@ msgid "Front Ports"
 msgstr "Puertos frontales"
 msgstr "Puertos frontales"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7839,7 +7851,7 @@ msgid "Rear Ports"
 msgstr "Puertos traseros"
 msgstr "Puertos traseros"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7847,7 +7859,7 @@ msgid "Device Bays"
 msgstr "Bahías de dispositivos"
 msgstr "Bahías de dispositivos"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7935,50 +7947,50 @@ msgstr "Reservaciones"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Dispositivos no rakeados"
 msgstr "Dispositivos no rakeados"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Contexto de configuración"
 msgstr "Contexto de configuración"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Configuración de renderizado"
 msgstr "Configuración de renderizado"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Máquinas virtuales"
 msgstr "Máquinas virtuales"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Dispositivo instalado {device} en la bahía {device_bay}."
 msgstr "Dispositivo instalado {device} en la bahía {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Dispositivo eliminado {device} desde la bahía {device_bay}."
 msgstr "Dispositivo eliminado {device} desde la bahía {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Niños"
 msgstr "Niños"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Miembro agregado <a href=\"{url}\">{device}</a>"
 msgstr "Miembro agregado <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr ""
 msgstr ""
 "No se puede eliminar el dispositivo maestro {device} desde el chasis "
 "No se puede eliminar el dispositivo maestro {device} desde el chasis "
 "virtual."
 "virtual."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Eliminado {device} desde un chasis virtual {chassis}"
 msgstr "Eliminado {device} desde un chasis virtual {chassis}"
@@ -9286,101 +9298,101 @@ msgid "Values must match this regex: <code>{regex}</code>"
 msgstr ""
 msgstr ""
 "Los valores deben coincidir con esta expresión regular: <code>{regex}</code>"
 "Los valores deben coincidir con esta expresión regular: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "El valor debe ser una cadena."
 msgstr "El valor debe ser una cadena."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "El valor debe coincidir con la expresión regular '{regex}'"
 msgstr "El valor debe coincidir con la expresión regular '{regex}'"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "El valor debe ser un número entero."
 msgstr "El valor debe ser un número entero."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "El valor debe ser al menos {minimum}"
 msgstr "El valor debe ser al menos {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "El valor no debe superar {maximum}"
 msgstr "El valor no debe superar {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "El valor debe ser decimal."
 msgstr "El valor debe ser decimal."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "El valor debe ser verdadero o falso."
 msgstr "El valor debe ser verdadero o falso."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "Los valores de fecha deben estar en formato ISO 8601 (AAAA-MM-DD)."
 msgstr "Los valores de fecha deben estar en formato ISO 8601 (AAAA-MM-DD)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "Los valores de fecha y hora deben estar en formato ISO 8601 (AAAA-MM-DD "
 "Los valores de fecha y hora deben estar en formato ISO 8601 (AAAA-MM-DD "
 "HH:MM:SS)."
 "HH:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr ""
 msgstr ""
 "Elección no válida ({value}) para el conjunto de opciones {choiceset}."
 "Elección no válida ({value}) para el conjunto de opciones {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr ""
 msgstr ""
 "Elecciones no válidas ({value}) para el conjunto de opciones {choiceset}."
 "Elecciones no válidas ({value}) para el conjunto de opciones {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "El valor debe ser un ID de objeto, no {type}"
 msgstr "El valor debe ser un ID de objeto, no {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "El valor debe ser una lista de identificadores de objetos, no {type}"
 msgstr "El valor debe ser una lista de identificadores de objetos, no {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "Se encontró un ID de objeto no válido: {id}"
 msgstr "Se encontró un ID de objeto no válido: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "El campo obligatorio no puede estar vacío."
 msgstr "El campo obligatorio no puede estar vacío."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Conjunto básico de opciones predefinidas (opcional)"
 msgstr "Conjunto básico de opciones predefinidas (opcional)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Las opciones se ordenan alfabéticamente automáticamente"
 msgstr "Las opciones se ordenan alfabéticamente automáticamente"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "conjunto de opciones de campo personalizadas"
 msgstr "conjunto de opciones de campo personalizadas"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "conjuntos de opciones de campo personalizadas"
 msgstr "conjuntos de opciones de campo personalizadas"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Debe definir opciones básicas o adicionales."
 msgstr "Debe definir opciones básicas o adicionales."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9769,7 +9781,7 @@ msgid "notifications"
 msgstr "notificaciones"
 msgstr "notificaciones"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Objetos de este tipo ({type}) no admiten notificaciones."
 msgstr "Objetos de este tipo ({type}) no admiten notificaciones."
@@ -9791,11 +9803,11 @@ msgstr "grupo de notificaciones"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "grupos de notificaciones"
 msgstr "grupos de notificaciones"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "suscripción"
 msgstr "suscripción"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "suscripciones"
 msgstr "suscripciones"
 
 
@@ -10733,7 +10745,7 @@ msgstr "Nombre DNS"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLAN"
 msgstr "VLAN"
@@ -11371,7 +11383,7 @@ msgid "Added"
 msgstr "Añadido"
 msgstr "Añadido"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11513,26 +11525,26 @@ msgstr ""
 "Solo se permiten caracteres alfanuméricos, asteriscos, guiones, puntos y "
 "Solo se permiten caracteres alfanuméricos, asteriscos, guiones, puntos y "
 "guiones bajos en los nombres DNS"
 "guiones bajos en los nombres DNS"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Interfaces de dispositivos"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "Interfaces de VM"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Prefijos infantiles"
 msgstr "Prefijos infantiles"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Rangos infantiles"
 msgstr "Rangos infantiles"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "IPs relacionadas"
 msgstr "IPs relacionadas"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Interfaces de dispositivos"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "Interfaces de VM"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Es posible que este campo no esté en blanco."
 msgstr "Es posible que este campo no esté en blanco."
@@ -16634,17 +16646,17 @@ msgstr "{value} debe ser un múltiplo de {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} no es una expresión regular válida."
 msgstr "{value} no es una expresión regular válida."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr "{self.__class__.__name__} debe implementar get_required_permission ()"
 msgstr "{self.__class__.__name__} debe implementar get_required_permission ()"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} debe implementar get_required_permission ()"
 msgstr "{class_name} debe implementar get_required_permission ()"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/fr/LC_MESSAGES/django.mo


+ 135 - 126
netbox/translations/fr/LC_MESSAGES/django.po

@@ -10,21 +10,21 @@
 # thomas rivemale, 2024
 # thomas rivemale, 2024
 # Jeff Gehlbach, 2024
 # Jeff Gehlbach, 2024
 # marcpaulchand <paul@u129.fr>, 2025
 # marcpaulchand <paul@u129.fr>, 2025
-# Mathieu, 2025
 # Étienne Brunel, 2025
 # Étienne Brunel, 2025
 # Jean Benoit <jean@unistra.fr>, 2025
 # Jean Benoit <jean@unistra.fr>, 2025
 # Julia, 2025
 # Julia, 2025
 # Quentin Laurent, 2025
 # Quentin Laurent, 2025
 # Jeremy Stretch, 2025
 # Jeremy Stretch, 2025
+# Mathieu, 2025
 # 
 # 
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
-"Last-Translator: Jeremy Stretch, 2025\n"
+"Last-Translator: Mathieu, 2025\n"
 "Language-Team: French (https://app.transifex.com/netbox-community/teams/178115/fr/)\n"
 "Language-Team: French (https://app.transifex.com/netbox-community/teams/178115/fr/)\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -181,8 +181,8 @@ msgstr "Spoke"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Région (ID)"
 msgstr "Région (ID)"
@@ -193,8 +193,8 @@ msgstr "Région (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -205,8 +205,8 @@ msgstr "Région (slug)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -217,8 +217,8 @@ msgstr "Groupe de sites (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -334,8 +334,8 @@ msgstr "Type de circuit (slug)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -345,7 +345,7 @@ msgstr "Site (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Lieu (ID)"
 msgstr "Lieu (ID)"
 
 
@@ -357,7 +357,7 @@ msgstr "Terminaison A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -366,7 +366,7 @@ msgstr "Terminaison A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -389,7 +389,7 @@ msgstr "Rechercher"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -422,7 +422,7 @@ msgstr "Circuit (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Circuit virtuel (CID)"
 msgstr "Circuit virtuel (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Circuit virtuel (ID)"
 msgstr "Circuit virtuel (ID)"
 
 
@@ -470,7 +470,7 @@ msgstr "Interface (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1932,7 +1932,7 @@ msgstr "Commentaires"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Allocations"
 msgstr "Allocations"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Côté"
 msgstr "Côté"
 
 
@@ -1986,7 +1986,7 @@ msgstr "Terminaisons"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1997,7 +1997,7 @@ msgstr "Terminaisons"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2560,7 +2560,7 @@ msgstr ""
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "créé"
 msgstr "créé"
@@ -3511,7 +3511,7 @@ msgstr "Localisation du parent (slug)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Fabricant (ID)"
 msgstr "Fabricant (ID)"
 
 
@@ -3519,7 +3519,7 @@ msgstr "Fabricant (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Fabricant (slug)"
 msgstr "Fabricant (slug)"
 
 
@@ -3532,14 +3532,14 @@ msgid "Rack type (ID)"
 msgstr "Type de baie (ID)"
 msgstr "Type de baie (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Rôle (ID)"
 msgstr "Rôle (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3548,7 +3548,7 @@ msgstr "Rôle (slug)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Baie (ID)"
 msgstr "Baie (ID)"
 
 
@@ -3646,7 +3646,7 @@ msgstr "Type de module (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Port d'alimentation (ID)"
 msgstr "Port d'alimentation (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Article d'inventaire parent (ID)"
 msgstr "Article d'inventaire parent (ID)"
 
 
@@ -3681,8 +3681,8 @@ msgid "Platform (slug)"
 msgstr "Plateforme (slug)"
 msgstr "Plateforme (slug)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Nom du site (slug)"
 msgstr "Nom du site (slug)"
 
 
@@ -3932,30 +3932,39 @@ msgid "VLAN Translation Policy"
 msgstr "Politique de traduction VLAN"
 msgstr "Politique de traduction VLAN"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
-msgid "Virtual Chassis Interfaces for Device"
-msgstr "Interfaces de châssis virtuelles pour appareils"
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr "Interfaces de châssis virtuel pour l'appareil quand il est master"
 
 
 #: netbox/dcim/filtersets.py:1896
 #: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr ""
+"Interfaces de châssis virtuel pour l'appareil quand il est master (ID)"
+
+#: netbox/dcim/filtersets.py:1901
+msgid "Virtual Chassis Interfaces for Device"
+msgstr "Interfaces de châssis virtuel pour l'appareil"
+
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
-msgstr "Interfaces de châssis virtuel pour le périphérique (ID)"
+msgstr "Interfaces de châssis virtuel pour l'appareil (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Type d'interface"
 msgstr "Type d'interface"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Interface parente (ID)"
 msgstr "Interface parente (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Interface pontée (ID)"
 msgstr "Interface pontée (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "Interface LAG (ID)"
 msgstr "Interface LAG (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3963,78 +3972,78 @@ msgstr "Interface LAG (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "Adresse MAC"
 msgstr "Adresse MAC"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Adresse MAC principale (ID)"
 msgstr "Adresse MAC principale (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Adresse MAC principale"
 msgstr "Adresse MAC principale"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Contexte du périphérique virtuel"
 msgstr "Contexte du périphérique virtuel"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Contexte du périphérique virtuel (Identifiant)"
 msgstr "Contexte du périphérique virtuel (Identifiant)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "LAN sans fil"
 msgstr "LAN sans fil"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Liaison sans fil"
 msgstr "Liaison sans fil"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Terminaison du circuit virtuel (ID)"
 msgstr "Terminaison du circuit virtuel (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Baie du module parent (ID)"
 msgstr "Baie du module parent (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Module installé (ID)"
 msgstr "Module installé (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Appareil installé (ID)"
 msgstr "Appareil installé (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Appareil installé (nom)"
 msgstr "Appareil installé (nom)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Maître (ID)"
 msgstr "Maître (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Master (nom)"
 msgstr "Master (nom)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Entité (ID)"
 msgstr "Entité (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Entité (slug)"
 msgstr "Entité (slug)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Non terminé"
 msgstr "Non terminé"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Panneau d'alimentation (ID)"
 msgstr "Panneau d'alimentation (ID)"
 
 
@@ -4049,7 +4058,7 @@ msgstr "Panneau d'alimentation (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Étiquettes"
 msgstr "Étiquettes"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4061,7 +4070,7 @@ msgstr "Étiquettes"
 msgid "Position"
 msgid "Position"
 msgstr "Position"
 msgstr "Position"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5313,7 +5322,7 @@ msgstr ""
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "UN {model} nommé {name} existe déjà"
 msgstr "UN {model} nommé {name} existe déjà"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5322,7 +5331,7 @@ msgstr "UN {model} nommé {name} existe déjà"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Panneau d'alimentation"
 msgstr "Panneau d'alimentation"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5731,11 +5740,11 @@ msgstr "Article d'inventaire"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Rôle de l'article d'inventaire"
 msgstr "Rôle de l'article d'inventaire"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "Interface de machine virtuelle"
 msgstr "Interface de machine virtuelle"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5752,7 +5761,7 @@ msgstr "Interface de machine virtuelle"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Machine virtuelle"
 msgstr "Machine virtuelle"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "Une adresse MAC ne peut être attribuée qu'à un seul objet."
 msgstr "Une adresse MAC ne peut être attribuée qu'à un seul objet."
 
 
@@ -7612,7 +7621,7 @@ msgstr "Prises de courant"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7652,7 +7661,7 @@ msgstr "Module Bay"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7682,8 +7691,8 @@ msgid "Allocated draw (W)"
 msgstr "Tirage alloué (W)"
 msgstr "Tirage alloué (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7788,7 +7797,7 @@ msgid "Instances"
 msgstr "Instances"
 msgstr "Instances"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7799,7 +7808,7 @@ msgid "Console Ports"
 msgstr "Ports de console"
 msgstr "Ports de console"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7810,7 +7819,7 @@ msgid "Console Server Ports"
 msgstr "Ports du serveur de consoles"
 msgstr "Ports du serveur de consoles"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7821,7 +7830,7 @@ msgid "Power Ports"
 msgstr "Ports d'alimentation"
 msgstr "Ports d'alimentation"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7832,7 +7841,7 @@ msgid "Power Outlets"
 msgstr "Prises de courant"
 msgstr "Prises de courant"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7842,7 +7851,7 @@ msgid "Front Ports"
 msgstr "Ports avant"
 msgstr "Ports avant"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7853,7 +7862,7 @@ msgid "Rear Ports"
 msgstr "Ports arrière"
 msgstr "Ports arrière"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7861,7 +7870,7 @@ msgid "Device Bays"
 msgstr "Baies pour appareils"
 msgstr "Baies pour appareils"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7949,50 +7958,50 @@ msgstr "Réservations"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Appareils non mis en baie"
 msgstr "Appareils non mis en baie"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Contexte de configuration"
 msgstr "Contexte de configuration"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Configuration du rendu"
 msgstr "Configuration du rendu"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Machines virtuelles"
 msgstr "Machines virtuelles"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Appareil installé {device} dans la baie {device_bay}."
 msgstr "Appareil installé {device} dans la baie {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Appareil retiré {device} depuis la baie {device_bay}."
 msgstr "Appareil retiré {device} depuis la baie {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Enfants"
 msgstr "Enfants"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Membre ajouté <a href=\"{url}\">{device}</a>"
 msgstr "Membre ajouté <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr ""
 msgstr ""
 "Impossible de supprimer le périphérique principal {device} depuis le châssis"
 "Impossible de supprimer le périphérique principal {device} depuis le châssis"
 " virtuel."
 " virtuel."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Supprimé {device} depuis un châssis virtuel {chassis}"
 msgstr "Supprimé {device} depuis un châssis virtuel {chassis}"
@@ -9318,99 +9327,99 @@ msgstr ""
 "Les valeurs doivent correspondre à cette expression régulière : "
 "Les valeurs doivent correspondre à cette expression régulière : "
 "<code>{regex}</code>"
 "<code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "La valeur doit être une chaîne."
 msgstr "La valeur doit être une chaîne."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "La valeur doit correspondre à « regex »{regex}'"
 msgstr "La valeur doit correspondre à « regex »{regex}'"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "La valeur doit être un entier."
 msgstr "La valeur doit être un entier."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "La valeur doit être d'au moins {minimum}"
 msgstr "La valeur doit être d'au moins {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "La valeur ne doit pas dépasser {maximum}"
 msgstr "La valeur ne doit pas dépasser {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "La valeur doit être une décimale."
 msgstr "La valeur doit être une décimale."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "La valeur doit être vraie ou fausse."
 msgstr "La valeur doit être vraie ou fausse."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "Les valeurs de date doivent être au format ISO 8601 (AAAA-MM-JJ)."
 msgstr "Les valeurs de date doivent être au format ISO 8601 (AAAA-MM-JJ)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "Les valeurs de date et d'heure doivent être au format ISO 8601 (YYYY-MM-DD "
 "Les valeurs de date et d'heure doivent être au format ISO 8601 (YYYY-MM-DD "
 "HH:MM:SS)."
 "HH:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Choix non valide ({value}) pour le set de choix {choiceset}."
 msgstr "Choix non valide ({value}) pour le set de choix {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Choix (s) non valide ({value}) pour le set de choix {choiceset}."
 msgstr "Choix (s) non valide ({value}) pour le set de choix {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "La valeur doit être un identifiant d'objet, et non {type}"
 msgstr "La valeur doit être un identifiant d'objet, et non {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "La valeur doit être une liste d'identifiants d'objets, et non {type}"
 msgstr "La valeur doit être une liste d'identifiants d'objets, et non {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "ID d'objet non valide trouvé : {id}"
 msgstr "ID d'objet non valide trouvé : {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "Le champ obligatoire ne peut pas être vide."
 msgstr "Le champ obligatoire ne peut pas être vide."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Ensemble de base de choix prédéfinis (facultatif)"
 msgstr "Ensemble de base de choix prédéfinis (facultatif)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Les choix sont automatiquement classés par ordre alphabétique"
 msgstr "Les choix sont automatiquement classés par ordre alphabétique"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "ensemble de choix de champs personnalisés"
 msgstr "ensemble de choix de champs personnalisés"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "ensembles de choix de champs personnalisés"
 msgstr "ensembles de choix de champs personnalisés"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Doit définir des choix de base ou supplémentaires."
 msgstr "Doit définir des choix de base ou supplémentaires."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9798,7 +9807,7 @@ msgid "notifications"
 msgstr "notifications"
 msgstr "notifications"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr ""
 msgstr ""
@@ -9821,11 +9830,11 @@ msgstr "groupe de notifications"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "groupes de notifications"
 msgstr "groupes de notifications"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "abonnement"
 msgstr "abonnement"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "abonnements"
 msgstr "abonnements"
 
 
@@ -10762,7 +10771,7 @@ msgstr "Nom DNS"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLAN"
 msgstr "VLAN"
@@ -11406,7 +11415,7 @@ msgid "Added"
 msgstr "Ajouté"
 msgstr "Ajouté"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11550,26 +11559,26 @@ msgstr ""
 "Seuls les caractères alphanumériques, les astérisques, les tirets, les "
 "Seuls les caractères alphanumériques, les astérisques, les tirets, les "
 "points et les traits de soulignement sont autorisés dans les noms DNS"
 "points et les traits de soulignement sont autorisés dans les noms DNS"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Interfaces des appareils"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "Interfaces de machines virtuelles"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Préfixes pour enfants"
 msgstr "Préfixes pour enfants"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Plages pour enfants"
 msgstr "Plages pour enfants"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "IP associées"
 msgstr "IP associées"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Interfaces des appareils"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "Interfaces de machines virtuelles"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Ce champ n'est peut-être pas vide."
 msgstr "Ce champ n'est peut-être pas vide."
@@ -16676,17 +16685,17 @@ msgstr "{value} doit être un multiple de {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} n'est pas une expression rationnelle valide."
 msgstr "{value} n'est pas une expression rationnelle valide."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr "{self.__class__.__name__} doit implémenter get_required_permission()"
 msgstr "{self.__class__.__name__} doit implémenter get_required_permission()"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} doit implémenter get_required_permission()"
 msgstr "{class_name} doit implémenter get_required_permission()"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/it/LC_MESSAGES/django.mo


+ 134 - 122
netbox/translations/it/LC_MESSAGES/django.po

@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Italian (https://app.transifex.com/netbox-community/teams/178115/it/)\n"
 "Language-Team: Italian (https://app.transifex.com/netbox-community/teams/178115/it/)\n"
@@ -173,8 +173,8 @@ msgstr "Ha parlato"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Regione (ID)"
 msgstr "Regione (ID)"
@@ -185,8 +185,8 @@ msgstr "Regione (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -197,8 +197,8 @@ msgstr "Regione (slug)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -209,8 +209,8 @@ msgstr "Gruppo del sito (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -326,8 +326,8 @@ msgstr "Tipo di circuito (slug)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -337,7 +337,7 @@ msgstr "Sito (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Ubicazione (ID)"
 msgstr "Ubicazione (ID)"
 
 
@@ -349,7 +349,7 @@ msgstr "Terminazione A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -358,7 +358,7 @@ msgstr "Terminazione A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -381,7 +381,7 @@ msgstr "Cerca"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -414,7 +414,7 @@ msgstr "Circuito (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Circuito virtuale (CID)"
 msgstr "Circuito virtuale (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Circuito virtuale (ID)"
 msgstr "Circuito virtuale (ID)"
 
 
@@ -462,7 +462,7 @@ msgstr "Interfaccia (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1924,7 +1924,7 @@ msgstr "Commenti"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Incarichi"
 msgstr "Incarichi"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Lato"
 msgstr "Lato"
 
 
@@ -1978,7 +1978,7 @@ msgstr "Terminazioni"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1989,7 +1989,7 @@ msgstr "Terminazioni"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2550,7 +2550,7 @@ msgstr ""
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "creato"
 msgstr "creato"
@@ -3500,7 +3500,7 @@ msgstr "Sede principale (slug)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Produttore (ID)"
 msgstr "Produttore (ID)"
 
 
@@ -3508,7 +3508,7 @@ msgstr "Produttore (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Produttore (lumaca)"
 msgstr "Produttore (lumaca)"
 
 
@@ -3521,14 +3521,14 @@ msgid "Rack type (ID)"
 msgstr "Tipo di rack (ID)"
 msgstr "Tipo di rack (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Ruolo (ID)"
 msgstr "Ruolo (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3537,7 +3537,7 @@ msgstr "Ruolo (slug)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Cremagliera (ID)"
 msgstr "Cremagliera (ID)"
 
 
@@ -3635,7 +3635,7 @@ msgstr "Tipo di modulo (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Porta di alimentazione (ID)"
 msgstr "Porta di alimentazione (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Articolo di inventario principale (ID)"
 msgstr "Articolo di inventario principale (ID)"
 
 
@@ -3670,8 +3670,8 @@ msgid "Platform (slug)"
 msgstr "Piattaforma (slug)"
 msgstr "Piattaforma (slug)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Nome del sito (slug)"
 msgstr "Nome del sito (slug)"
 
 
@@ -3921,30 +3921,42 @@ msgid "VLAN Translation Policy"
 msgstr "Politica di traduzione VLAN"
 msgstr "Politica di traduzione VLAN"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr ""
+"Interfacce virtuali dello chassis per il dispositivo quando il dispositivo è"
+" master"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr ""
+"Interfacce virtuali dello chassis per il dispositivo quando il dispositivo è"
+" master (ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Interfacce virtuali dello chassis per dispositivi"
 msgstr "Interfacce virtuali dello chassis per dispositivi"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Interfacce virtuali dello chassis per dispositivi (ID)"
 msgstr "Interfacce virtuali dello chassis per dispositivi (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Tipo di interfaccia"
 msgstr "Tipo di interfaccia"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Interfaccia principale (ID)"
 msgstr "Interfaccia principale (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Interfaccia con ponte (ID)"
 msgstr "Interfaccia con ponte (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "Interfaccia LAG (ID)"
 msgstr "Interfaccia LAG (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3952,78 +3964,78 @@ msgstr "Interfaccia LAG (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "Indirizzo MAC"
 msgstr "Indirizzo MAC"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Indirizzo MAC (ID) primario"
 msgstr "Indirizzo MAC (ID) primario"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Indirizzo MAC primario"
 msgstr "Indirizzo MAC primario"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Contesto del dispositivo virtuale"
 msgstr "Contesto del dispositivo virtuale"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Contesto del dispositivo virtuale (identificatore)"
 msgstr "Contesto del dispositivo virtuale (identificatore)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "LAN senza fili"
 msgstr "LAN senza fili"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Collegamento wireless"
 msgstr "Collegamento wireless"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Terminazione del circuito virtuale (ID)"
 msgstr "Terminazione del circuito virtuale (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Alloggiamento del modulo principale (ID)"
 msgstr "Alloggiamento del modulo principale (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Modulo installato (ID)"
 msgstr "Modulo installato (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Dispositivo installato (ID)"
 msgstr "Dispositivo installato (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Dispositivo installato (nome)"
 msgstr "Dispositivo installato (nome)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Maestro (ID)"
 msgstr "Maestro (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Master (nome)"
 msgstr "Master (nome)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Inquilino (ID)"
 msgstr "Inquilino (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Inquilino (slug)"
 msgstr "Inquilino (slug)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Interminato"
 msgstr "Interminato"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Pannello di alimentazione (ID)"
 msgstr "Pannello di alimentazione (ID)"
 
 
@@ -4038,7 +4050,7 @@ msgstr "Pannello di alimentazione (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Etichette"
 msgstr "Etichette"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4050,7 +4062,7 @@ msgstr "Etichette"
 msgid "Position"
 msgid "Position"
 msgstr "Posizione"
 msgstr "Posizione"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5304,7 +5316,7 @@ msgstr "Non può adottare {model} {name} in quanto appartiene già a un modulo"
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "UN {model} denominato {name} esiste già"
 msgstr "UN {model} denominato {name} esiste già"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5313,7 +5325,7 @@ msgstr "UN {model} denominato {name} esiste già"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Pannello di alimentazione"
 msgstr "Pannello di alimentazione"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5725,11 +5737,11 @@ msgstr "Articolo di inventario"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Ruolo dell'articolo di inventario"
 msgstr "Ruolo dell'articolo di inventario"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "Interfaccia VM"
 msgstr "Interfaccia VM"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5746,7 +5758,7 @@ msgstr "Interfaccia VM"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Macchina virtuale"
 msgstr "Macchina virtuale"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "Un indirizzo MAC può essere assegnato a un solo oggetto."
 msgstr "Un indirizzo MAC può essere assegnato a un solo oggetto."
 
 
@@ -7623,7 +7635,7 @@ msgstr "Prese di corrente"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7663,7 +7675,7 @@ msgstr "Modulo Bay"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7693,8 +7705,8 @@ msgid "Allocated draw (W)"
 msgstr "Pareggio assegnato (W)"
 msgstr "Pareggio assegnato (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7799,7 +7811,7 @@ msgid "Instances"
 msgstr "Istanze"
 msgstr "Istanze"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7810,7 +7822,7 @@ msgid "Console Ports"
 msgstr "Porte console"
 msgstr "Porte console"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7821,7 +7833,7 @@ msgid "Console Server Ports"
 msgstr "Porte Console Server"
 msgstr "Porte Console Server"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7832,7 +7844,7 @@ msgid "Power Ports"
 msgstr "Porte di alimentazione"
 msgstr "Porte di alimentazione"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7843,7 +7855,7 @@ msgid "Power Outlets"
 msgstr "Prese di corrente"
 msgstr "Prese di corrente"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7853,7 +7865,7 @@ msgid "Front Ports"
 msgstr "Porte anteriori"
 msgstr "Porte anteriori"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7864,7 +7876,7 @@ msgid "Rear Ports"
 msgstr "Porte posteriori"
 msgstr "Porte posteriori"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7872,7 +7884,7 @@ msgid "Device Bays"
 msgstr "Alloggiamenti per dispositivi"
 msgstr "Alloggiamenti per dispositivi"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7960,49 +7972,49 @@ msgstr "Prenotazioni"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Dispositivi non montati su rack"
 msgstr "Dispositivi non montati su rack"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Contesto di configurazione"
 msgstr "Contesto di configurazione"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Configurazione del rendering"
 msgstr "Configurazione del rendering"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Macchine virtuali"
 msgstr "Macchine virtuali"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Dispositivo installato {device} nella baia {device_bay}."
 msgstr "Dispositivo installato {device} nella baia {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Dispositivo rimosso {device} dalla baia {device_bay}."
 msgstr "Dispositivo rimosso {device} dalla baia {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Bambini"
 msgstr "Bambini"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Membro aggiunto <a href=\"{url}\">{device}</a>"
 msgstr "Membro aggiunto <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr ""
 msgstr ""
 "Impossibile rimuovere il dispositivo master {device} dallo chassis virtuale."
 "Impossibile rimuovere il dispositivo master {device} dallo chassis virtuale."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Rimosso {device} da chassis virtuale {chassis}"
 msgstr "Rimosso {device} da chassis virtuale {chassis}"
@@ -9315,99 +9327,99 @@ msgstr "Falso"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr "I valori devono corrispondere a questa regex: <code>{regex}</code>"
 msgstr "I valori devono corrispondere a questa regex: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "Il valore deve essere una stringa."
 msgstr "Il valore deve essere una stringa."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "Il valore deve corrispondere a regex '{regex}»"
 msgstr "Il valore deve corrispondere a regex '{regex}»"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "Il valore deve essere un numero intero."
 msgstr "Il valore deve essere un numero intero."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "Il valore deve essere almeno {minimum}"
 msgstr "Il valore deve essere almeno {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "Il valore non deve superare {maximum}"
 msgstr "Il valore non deve superare {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "Il valore deve essere decimale."
 msgstr "Il valore deve essere decimale."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "Il valore deve essere vero o falso."
 msgstr "Il valore deve essere vero o falso."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "I valori della data devono essere in formato ISO 8601 (AAAA-MM-GG)."
 msgstr "I valori della data devono essere in formato ISO 8601 (AAAA-MM-GG)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "I valori di data e ora devono essere in formato ISO 8601 (AAAA-MM-GG "
 "I valori di data e ora devono essere in formato ISO 8601 (AAAA-MM-GG "
 "HH:MM:SS)."
 "HH:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Scelta non valida ({value}) per il set a scelta {choiceset}."
 msgstr "Scelta non valida ({value}) per il set a scelta {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Scelte non valide ({value}) per il set a scelta {choiceset}."
 msgstr "Scelte non valide ({value}) per il set a scelta {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "Il valore deve essere un ID oggetto, non {type}"
 msgstr "Il valore deve essere un ID oggetto, non {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "Il valore deve essere un elenco di ID oggetto, non {type}"
 msgstr "Il valore deve essere un elenco di ID oggetto, non {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "È stato trovato un ID oggetto non valido: {id}"
 msgstr "È stato trovato un ID oggetto non valido: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "Il campo obbligatorio non può essere vuoto."
 msgstr "Il campo obbligatorio non può essere vuoto."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Set base di scelte predefinite (opzionale)"
 msgstr "Set base di scelte predefinite (opzionale)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Le scelte vengono ordinate automaticamente alfabeticamente"
 msgstr "Le scelte vengono ordinate automaticamente alfabeticamente"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "set di scelta dei campi personalizzati"
 msgstr "set di scelta dei campi personalizzati"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "set di scelte di campi personalizzati"
 msgstr "set di scelte di campi personalizzati"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "È necessario definire scelte di base o extra."
 msgstr "È necessario definire scelte di base o extra."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9795,7 +9807,7 @@ msgid "notifications"
 msgstr "notifiche"
 msgstr "notifiche"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Oggetti di questo tipo ({type}) non supportano le notifiche."
 msgstr "Oggetti di questo tipo ({type}) non supportano le notifiche."
@@ -9817,11 +9829,11 @@ msgstr "gruppo di notifiche"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "gruppi di notifica"
 msgstr "gruppi di notifica"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "sottoscrizione"
 msgstr "sottoscrizione"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "sottoscrizioni"
 msgstr "sottoscrizioni"
 
 
@@ -10755,7 +10767,7 @@ msgstr "Nome DNS"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLAN"
 msgstr "VLAN"
@@ -11399,7 +11411,7 @@ msgid "Added"
 msgstr "Aggiunto"
 msgstr "Aggiunto"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11543,26 +11555,26 @@ msgstr ""
 "Nei nomi DNS sono consentiti solo caratteri alfanumerici, asterischi, "
 "Nei nomi DNS sono consentiti solo caratteri alfanumerici, asterischi, "
 "trattini, punti e trattini bassi"
 "trattini, punti e trattini bassi"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Interfacce dei dispositivi"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "Interfacce VM"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Prefissi per bambini"
 msgstr "Prefissi per bambini"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Gamme per bambini"
 msgstr "Gamme per bambini"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "IP correlati"
 msgstr "IP correlati"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Interfacce dei dispositivi"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "Interfacce VM"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Questo campo non può essere vuoto."
 msgstr "Questo campo non può essere vuoto."
@@ -16657,18 +16669,18 @@ msgstr "{value} deve essere un multiplo di {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} non è un'espressione regolare valida."
 msgstr "{value} non è un'espressione regolare valida."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr ""
 msgstr ""
 "{self.__class__.__name__} deve implementare get_required_permission ()"
 "{self.__class__.__name__} deve implementare get_required_permission ()"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} deve implementare get_required_permission ()"
 msgstr "{class_name} deve implementare get_required_permission ()"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/ja/LC_MESSAGES/django.mo


+ 130 - 122
netbox/translations/ja/LC_MESSAGES/django.po

@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Japanese (https://app.transifex.com/netbox-community/teams/178115/ja/)\n"
 "Language-Team: Japanese (https://app.transifex.com/netbox-community/teams/178115/ja/)\n"
@@ -170,8 +170,8 @@ msgstr "スポーク"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "リージョン (ID)"
 msgstr "リージョン (ID)"
@@ -182,8 +182,8 @@ msgstr "リージョン (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -194,8 +194,8 @@ msgstr "リージョン (slug)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -206,8 +206,8 @@ msgstr "サイトグループ (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -323,8 +323,8 @@ msgstr "回線タイプ (slug)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -334,7 +334,7 @@ msgstr "サイト (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "ロケーション (ID)"
 msgstr "ロケーション (ID)"
 
 
@@ -346,7 +346,7 @@ msgstr "ターミネーション A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -355,7 +355,7 @@ msgstr "ターミネーション A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -378,7 +378,7 @@ msgstr "検索"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -411,7 +411,7 @@ msgstr "回線 (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "仮想回線 (CID)"
 msgstr "仮想回線 (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "仮想回線 (ID)"
 msgstr "仮想回線 (ID)"
 
 
@@ -459,7 +459,7 @@ msgstr "インタフェース (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1920,7 +1920,7 @@ msgstr "コメント"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "割当"
 msgstr "割当"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "サイド"
 msgstr "サイド"
 
 
@@ -1974,7 +1974,7 @@ msgstr "終端"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1985,7 +1985,7 @@ msgstr "終端"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2540,7 +2540,7 @@ msgstr "このオブジェクトタイプ ({type}) では変更ログはサポ
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "作成"
 msgstr "作成"
@@ -3481,7 +3481,7 @@ msgstr "親のロケーション (slug)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "メーカ (ID)"
 msgstr "メーカ (ID)"
 
 
@@ -3489,7 +3489,7 @@ msgstr "メーカ (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "メーカ (slug)"
 msgstr "メーカ (slug)"
 
 
@@ -3502,14 +3502,14 @@ msgid "Rack type (ID)"
 msgstr "ラックタイプ (ID)"
 msgstr "ラックタイプ (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "ロール (ID)"
 msgstr "ロール (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3518,7 +3518,7 @@ msgstr "ロール (slug)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "ラック (ID)"
 msgstr "ラック (ID)"
 
 
@@ -3616,7 +3616,7 @@ msgstr "モジュールタイプ (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "電源ポート (ID)"
 msgstr "電源ポート (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "親在庫品目 (ID)"
 msgstr "親在庫品目 (ID)"
 
 
@@ -3651,8 +3651,8 @@ msgid "Platform (slug)"
 msgstr "プラットフォーム (slug)"
 msgstr "プラットフォーム (slug)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "サイト名 (slug)"
 msgstr "サイト名 (slug)"
 
 
@@ -3902,30 +3902,38 @@ msgid "VLAN Translation Policy"
 msgstr "VLAN 変換ポリシー"
 msgstr "VLAN 変換ポリシー"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr "デバイスがマスターの場合のデバイスの仮想シャーシインターフェイス"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr "デバイスがマスターの場合のデバイスの仮想シャーシインターフェイス(ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "バーチャルシャーシインタフェース"
 msgstr "バーチャルシャーシインタフェース"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "バーチャルシャーシインタフェース (ID)"
 msgstr "バーチャルシャーシインタフェース (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "インタフェースの種類"
 msgstr "インタフェースの種類"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "親インタフェース (ID)"
 msgstr "親インタフェース (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "ブリッジインタフェース (ID)"
 msgstr "ブリッジインタフェース (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "LAG インタフェース (ID)"
 msgstr "LAG インタフェース (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3933,78 +3941,78 @@ msgstr "LAG インタフェース (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "MAC アドレス"
 msgstr "MAC アドレス"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "プライマリ MAC アドレス (ID)"
 msgstr "プライマリ MAC アドレス (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "プライマリ MAC アドレス"
 msgstr "プライマリ MAC アドレス"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "仮想デバイスコンテキスト"
 msgstr "仮想デバイスコンテキスト"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "仮想デバイスコンテキスト (識別子)"
 msgstr "仮想デバイスコンテキスト (識別子)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "無線 LAN"
 msgstr "無線 LAN"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "無線リンク"
 msgstr "無線リンク"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "仮想回線終端 (ID)"
 msgstr "仮想回線終端 (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "親モジュールベイ (ID)"
 msgstr "親モジュールベイ (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "インストール済モジュール (ID)"
 msgstr "インストール済モジュール (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "インストール済デバイス (ID)"
 msgstr "インストール済デバイス (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "インストール済デバイス (名前)"
 msgstr "インストール済デバイス (名前)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "マスター (ID)"
 msgstr "マスター (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "マスター (名前)"
 msgstr "マスター (名前)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "テナント (ID)"
 msgstr "テナント (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "テナント (slug)"
 msgstr "テナント (slug)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "未終端"
 msgstr "未終端"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "電源盤 (ID)"
 msgstr "電源盤 (ID)"
 
 
@@ -4019,7 +4027,7 @@ msgstr "電源盤 (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "タグ"
 msgstr "タグ"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4031,7 +4039,7 @@ msgstr "タグ"
 msgid "Position"
 msgid "Position"
 msgstr "ポジション"
 msgstr "ポジション"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5258,7 +5266,7 @@ msgstr " {model} {name} は既にモジュールに属しているので採用
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "{model} {name} は既に存在しています"
 msgstr "{model} {name} は既に存在しています"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5267,7 +5275,7 @@ msgstr "{model} {name} は既に存在しています"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "電源盤"
 msgstr "電源盤"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5666,11 +5674,11 @@ msgstr "在庫品目"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "在庫品目ロール"
 msgstr "在庫品目ロール"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "VM インターフェイス"
 msgstr "VM インターフェイス"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5687,7 +5695,7 @@ msgstr "VM インターフェイス"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "仮想マシン"
 msgstr "仮想マシン"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "MAC アドレスは 1 つのオブジェクトにのみ割り当てることができます。"
 msgstr "MAC アドレスは 1 つのオブジェクトにのみ割り当てることができます。"
 
 
@@ -7426,7 +7434,7 @@ msgstr "電源コンセント"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7466,7 +7474,7 @@ msgstr "モジュールベイ"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7496,8 +7504,8 @@ msgid "Allocated draw (W)"
 msgstr "割当電力 (W)"
 msgstr "割当電力 (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7602,7 +7610,7 @@ msgid "Instances"
 msgstr "インスタンス"
 msgstr "インスタンス"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7613,7 +7621,7 @@ msgid "Console Ports"
 msgstr "コンソールポート"
 msgstr "コンソールポート"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7624,7 +7632,7 @@ msgid "Console Server Ports"
 msgstr "コンソールサーバポート"
 msgstr "コンソールサーバポート"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7635,7 +7643,7 @@ msgid "Power Ports"
 msgstr "電源ポート"
 msgstr "電源ポート"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7646,7 +7654,7 @@ msgid "Power Outlets"
 msgstr "電源コンセント"
 msgstr "電源コンセント"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7656,7 +7664,7 @@ msgid "Front Ports"
 msgstr "前面ポート"
 msgstr "前面ポート"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7667,7 +7675,7 @@ msgid "Rear Ports"
 msgstr "背面ポート"
 msgstr "背面ポート"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7675,7 +7683,7 @@ msgid "Device Bays"
 msgstr "デバイスベイ"
 msgstr "デバイスベイ"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7763,48 +7771,48 @@ msgstr "予約"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "ラック搭載でないデバイス"
 msgstr "ラック搭載でないデバイス"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "コンフィグコンテキスト"
 msgstr "コンフィグコンテキスト"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "レンダーコンフィグ"
 msgstr "レンダーコンフィグ"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "仮想マシン"
 msgstr "仮想マシン"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "インストール済みデバイス {device} イン・ベイ {device_bay}。"
 msgstr "インストール済みデバイス {device} イン・ベイ {device_bay}。"
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "削除されたデバイス {device} ベイから {device_bay}。"
 msgstr "削除されたデバイス {device} ベイから {device_bay}。"
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "子ども"
 msgstr "子ども"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "メンバー追加 <a href=\"{url}\">{device}</a>"
 msgstr "メンバー追加 <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr "マスターデバイスを削除できません {device} バーチャルシャーシから。"
 msgstr "マスターデバイスを削除できません {device} バーチャルシャーシから。"
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "削除済み {device} バーチャルシャーシから {chassis}"
 msgstr "削除済み {device} バーチャルシャーシから {chassis}"
@@ -9055,97 +9063,97 @@ msgstr "偽"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr "値は次の正規表現とマッチする必要があります。 <code>{regex}</code>"
 msgstr "値は次の正規表現とマッチする必要があります。 <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "値は文字列でなければなりません。"
 msgstr "値は文字列でなければなりません。"
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "値は正規表現 '{regex}'と一致する必要があります"
 msgstr "値は正規表現 '{regex}'と一致する必要があります"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "値は整数でなければなりません。"
 msgstr "値は整数でなければなりません。"
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "値は {minimum} 以上でなければなりません"
 msgstr "値は {minimum} 以上でなければなりません"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "値は {maximum} を超えてはいけません"
 msgstr "値は {maximum} を超えてはいけません"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "値は実数でなければなりません。"
 msgstr "値は実数でなければなりません。"
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "値は true または false でなければなりません。"
 msgstr "値は true または false でなければなりません。"
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "日付値は ISO 8601 フォーマット (YYYY-MM-DD) である必要があります。"
 msgstr "日付値は ISO 8601 フォーマット (YYYY-MM-DD) である必要があります。"
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr "日付と時刻の値は ISO 8601 フォーマット (YYYY-MM-DD HH:MM:SS) である必要があります。"
 msgstr "日付と時刻の値は ISO 8601 フォーマット (YYYY-MM-DD HH:MM:SS) である必要があります。"
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "{value}は選択肢 {choiceset} に含まれていません。"
 msgstr "{value}は選択肢 {choiceset} に含まれていません。"
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "{value}は選択肢 {choiceset} に含まれていません。"
 msgstr "{value}は選択肢 {choiceset} に含まれていません。"
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "{type}ではなく、オブジェクトIDを指定してください"
 msgstr "{type}ではなく、オブジェクトIDを指定してください"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "{type} ではなくオブジェクト ID のリストを入力してください"
 msgstr "{type} ではなくオブジェクト ID のリストを入力してください"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "無効なオブジェクト ID が見つかりました: {id}"
 msgstr "無効なオブジェクト ID が見つかりました: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "必須フィールドを空にすることはできません。"
 msgstr "必須フィールドを空にすることはできません。"
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "定義済みの選択肢の基本セット (オプション)"
 msgstr "定義済みの選択肢の基本セット (オプション)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "選択肢は自動的にアルファベット順に並べられます"
 msgstr "選択肢は自動的にアルファベット順に並べられます"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "カスタムフィールド選択肢"
 msgstr "カスタムフィールド選択肢"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "カスタムフィールド選択肢"
 msgstr "カスタムフィールド選択肢"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "基本選択肢または追加選択肢を定義する必要があります。"
 msgstr "基本選択肢または追加選択肢を定義する必要があります。"
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9512,7 +9520,7 @@ msgid "notifications"
 msgstr "通知"
 msgstr "通知"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "このタイプのオブジェクト ({type}) 通知はサポートしていません。"
 msgstr "このタイプのオブジェクト ({type}) 通知はサポートしていません。"
@@ -9534,11 +9542,11 @@ msgstr "通知グループ"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "通知グループ"
 msgstr "通知グループ"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "サブスクリプション"
 msgstr "サブスクリプション"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "サブスクリプション"
 msgstr "サブスクリプション"
 
 
@@ -10460,7 +10468,7 @@ msgstr "DNS名"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLAN"
 msgstr "VLAN"
@@ -11060,7 +11068,7 @@ msgid "Added"
 msgstr "追加日"
 msgstr "追加日"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11200,26 +11208,26 @@ msgid ""
 "are allowed in DNS names"
 "are allowed in DNS names"
 msgstr "DNS 名に使用できるのは、英数字、アスタリスク、ハイフン、ピリオド、アンダースコアのみです。"
 msgstr "DNS 名に使用できるのは、英数字、アスタリスク、ハイフン、ピリオド、アンダースコアのみです。"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "デバイスインタフェース"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "VM インタフェース"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "子プレフィックス"
 msgstr "子プレフィックス"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "子レンジ"
 msgstr "子レンジ"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "関連IPアドレス"
 msgstr "関連IPアドレス"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "デバイスインタフェース"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "VM インタフェース"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "このフィールドは空白であってはなりません。"
 msgstr "このフィールドは空白であってはなりません。"
@@ -16190,17 +16198,17 @@ msgstr "{value} は{multiple}の倍数でなければなりません 。"
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} は有効な正規表現ではありません。"
 msgstr "{value} は有効な正規表現ではありません。"
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr "{self.__class__.__name__} get_required_permission () を実装する必要があります"
 msgstr "{self.__class__.__name__} get_required_permission () を実装する必要があります"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} get_required_permission () を実装する必要があります"
 msgstr "{class_name} get_required_permission () を実装する必要があります"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/nl/LC_MESSAGES/django.mo


+ 132 - 122
netbox/translations/nl/LC_MESSAGES/django.po

@@ -16,7 +16,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Dutch (https://app.transifex.com/netbox-community/teams/178115/nl/)\n"
 "Language-Team: Dutch (https://app.transifex.com/netbox-community/teams/178115/nl/)\n"
@@ -175,8 +175,8 @@ msgstr "Spoke"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Regio (ID)"
 msgstr "Regio (ID)"
@@ -187,8 +187,8 @@ msgstr "Regio (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -199,8 +199,8 @@ msgstr "Regio (slug)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -211,8 +211,8 @@ msgstr "Sitegroep (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -328,8 +328,8 @@ msgstr "Circuittype (slug)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -339,7 +339,7 @@ msgstr "Locatie (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Locatie (ID)"
 msgstr "Locatie (ID)"
 
 
@@ -351,7 +351,7 @@ msgstr "Eindpunt A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -360,7 +360,7 @@ msgstr "Eindpunt A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -383,7 +383,7 @@ msgstr "Zoeken"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -416,7 +416,7 @@ msgstr "Circuit (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Virtueel circuit (CID)"
 msgstr "Virtueel circuit (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Virtueel circuit (ID)"
 msgstr "Virtueel circuit (ID)"
 
 
@@ -464,7 +464,7 @@ msgstr "Interface (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1926,7 +1926,7 @@ msgstr "Opmerkingen"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Toewijzingen"
 msgstr "Toewijzingen"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Kant"
 msgstr "Kant"
 
 
@@ -1980,7 +1980,7 @@ msgstr "Beëindigingen"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1991,7 +1991,7 @@ msgstr "Beëindigingen"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2553,7 +2553,7 @@ msgstr ""
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "aangemaakt"
 msgstr "aangemaakt"
@@ -3502,7 +3502,7 @@ msgstr "Locatie van de ouder (slug)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Fabrikant (ID)"
 msgstr "Fabrikant (ID)"
 
 
@@ -3510,7 +3510,7 @@ msgstr "Fabrikant (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Fabrikant (slug)"
 msgstr "Fabrikant (slug)"
 
 
@@ -3523,14 +3523,14 @@ msgid "Rack type (ID)"
 msgstr "Racktype (ID)"
 msgstr "Racktype (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Rol (ID)"
 msgstr "Rol (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3539,7 +3539,7 @@ msgstr "Rol (slug)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Rek (ID)"
 msgstr "Rek (ID)"
 
 
@@ -3637,7 +3637,7 @@ msgstr "Moduletype (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Voedingspoort (ID)"
 msgstr "Voedingspoort (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Onderliggend inventarisitem (ID)"
 msgstr "Onderliggend inventarisitem (ID)"
 
 
@@ -3672,8 +3672,8 @@ msgid "Platform (slug)"
 msgstr "Platform (slug)"
 msgstr "Platform (slug)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Sitenaam (slug)"
 msgstr "Sitenaam (slug)"
 
 
@@ -3923,30 +3923,40 @@ msgid "VLAN Translation Policy"
 msgstr "VLAN-vertaalbeleid"
 msgstr "VLAN-vertaalbeleid"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr ""
+"Virtuele chassisinterfaces voor apparaat wanneer het apparaat master is"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr ""
+"Virtuele chassisinterfaces voor apparaat wanneer het apparaat master (ID) is"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Virtuele chassisinterfaces voor apparaten"
 msgstr "Virtuele chassisinterfaces voor apparaten"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Virtuele chassisinterfaces voor apparaat (ID)"
 msgstr "Virtuele chassisinterfaces voor apparaat (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Soort interface"
 msgstr "Soort interface"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Ouderinterface (ID)"
 msgstr "Ouderinterface (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Overbrugde interface (ID)"
 msgstr "Overbrugde interface (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "LAG-interface (ID)"
 msgstr "LAG-interface (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3954,78 +3964,78 @@ msgstr "LAG-interface (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "MAC-adres"
 msgstr "MAC-adres"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Primair MAC-adres (ID)"
 msgstr "Primair MAC-adres (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Primair MAC-adres"
 msgstr "Primair MAC-adres"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Context van het virtuele apparaat"
 msgstr "Context van het virtuele apparaat"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Context van het virtuele apparaat (ID)"
 msgstr "Context van het virtuele apparaat (ID)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "Draadloos LAN"
 msgstr "Draadloos LAN"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Draadloze link"
 msgstr "Draadloze link"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Beëindiging van het virtuele circuit (ID)"
 msgstr "Beëindiging van het virtuele circuit (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Baai voor oudermodule (ID)"
 msgstr "Baai voor oudermodule (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Geïnstalleerde module (ID)"
 msgstr "Geïnstalleerde module (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Geïnstalleerd apparaat (ID)"
 msgstr "Geïnstalleerd apparaat (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Geïnstalleerd apparaat (naam)"
 msgstr "Geïnstalleerd apparaat (naam)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Meester (ID)"
 msgstr "Meester (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Master (naam)"
 msgstr "Master (naam)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Tenant (ID)"
 msgstr "Tenant (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Tenant (slug)"
 msgstr "Tenant (slug)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Onbeëindigd"
 msgstr "Onbeëindigd"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Voedingspaneel (ID)"
 msgstr "Voedingspaneel (ID)"
 
 
@@ -4040,7 +4050,7 @@ msgstr "Voedingspaneel (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Labels"
 msgstr "Labels"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4052,7 +4062,7 @@ msgstr "Labels"
 msgid "Position"
 msgid "Position"
 msgstr "Positie"
 msgstr "Positie"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5305,7 +5315,7 @@ msgstr "Kan niet adopteren {model} {name} omdat het al bij een module hoort"
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "EEN {model} genoemd {name} bestaat al"
 msgstr "EEN {model} genoemd {name} bestaat al"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5314,7 +5324,7 @@ msgstr "EEN {model} genoemd {name} bestaat al"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Voedingspaneel"
 msgstr "Voedingspaneel"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5726,11 +5736,11 @@ msgstr "Inventarisitem"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Rol van het inventarisitem"
 msgstr "Rol van het inventarisitem"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "VM-interface"
 msgstr "VM-interface"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5747,7 +5757,7 @@ msgstr "VM-interface"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Virtuele machine"
 msgstr "Virtuele machine"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "Een MAC-adres kan slechts aan één object worden toegewezen."
 msgstr "Een MAC-adres kan slechts aan één object worden toegewezen."
 
 
@@ -7603,7 +7613,7 @@ msgstr "Stopcontacten"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7643,7 +7653,7 @@ msgstr "Modulebaai"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7673,8 +7683,8 @@ msgid "Allocated draw (W)"
 msgstr "Toegewezen trekking (W)"
 msgstr "Toegewezen trekking (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7779,7 +7789,7 @@ msgid "Instances"
 msgstr "Instanties"
 msgstr "Instanties"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7790,7 +7800,7 @@ msgid "Console Ports"
 msgstr "Consolepoorten"
 msgstr "Consolepoorten"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7801,7 +7811,7 @@ msgid "Console Server Ports"
 msgstr "Serverpoorten voor de console"
 msgstr "Serverpoorten voor de console"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7812,7 +7822,7 @@ msgid "Power Ports"
 msgstr "Voedingspoorten"
 msgstr "Voedingspoorten"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7823,7 +7833,7 @@ msgid "Power Outlets"
 msgstr "Stopcontacten"
 msgstr "Stopcontacten"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7833,7 +7843,7 @@ msgid "Front Ports"
 msgstr "Ports aan de voorkant"
 msgstr "Ports aan de voorkant"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7844,7 +7854,7 @@ msgid "Rear Ports"
 msgstr "Poorten achteraan"
 msgstr "Poorten achteraan"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7852,7 +7862,7 @@ msgid "Device Bays"
 msgstr "Apparaatvakken"
 msgstr "Apparaatvakken"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7940,49 +7950,49 @@ msgstr "Reserveringen"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Apparaten zonder rack"
 msgstr "Apparaten zonder rack"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Context van de configuratie"
 msgstr "Context van de configuratie"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Render-configuratie"
 msgstr "Render-configuratie"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Virtuele machines"
 msgstr "Virtuele machines"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Geïnstalleerd apparaat {device} in de baai {device_bay}."
 msgstr "Geïnstalleerd apparaat {device} in de baai {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Apparaat verwijderd {device} van bay {device_bay}."
 msgstr "Apparaat verwijderd {device} van bay {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Kinderen"
 msgstr "Kinderen"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Lid toegevoegd <a href=\"{url}\">{device}</a>"
 msgstr "Lid toegevoegd <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr ""
 msgstr ""
 "Kan het masterapparaat niet verwijderen {device} vanaf het virtuele chassis."
 "Kan het masterapparaat niet verwijderen {device} vanaf het virtuele chassis."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Verwijderd {device} vanaf een virtueel chassis {chassis}"
 msgstr "Verwijderd {device} vanaf een virtueel chassis {chassis}"
@@ -9297,99 +9307,99 @@ msgstr "Onwaar"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr "Waarden moeten overeenkomen met deze regex: <code>{regex}</code>"
 msgstr "Waarden moeten overeenkomen met deze regex: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "De waarde moet een tekenreeks zijn."
 msgstr "De waarde moet een tekenreeks zijn."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "De waarde moet overeenkomen met regex '{regex}'"
 msgstr "De waarde moet overeenkomen met regex '{regex}'"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "De waarde moet een geheel getal zijn."
 msgstr "De waarde moet een geheel getal zijn."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "De waarde moet minstens {minimum}"
 msgstr "De waarde moet minstens {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "De waarde mag niet hoger zijn dan {maximum}"
 msgstr "De waarde mag niet hoger zijn dan {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "De waarde moet een decimaal getal zijn."
 msgstr "De waarde moet een decimaal getal zijn."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "De waarde moet waar of onwaar zijn."
 msgstr "De waarde moet waar of onwaar zijn."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "De datumwaarden moeten de indeling ISO 8601 hebben (JJJJ-MM-DD)."
 msgstr "De datumwaarden moeten de indeling ISO 8601 hebben (JJJJ-MM-DD)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "De datum- en tijdwaarden moeten de indeling ISO 8601 hebben (JJJJ-MM-DD "
 "De datum- en tijdwaarden moeten de indeling ISO 8601 hebben (JJJJ-MM-DD "
 "H:MM:SS)."
 "H:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Ongeldige keuze ({value}) voor keuzeset {choiceset}."
 msgstr "Ongeldige keuze ({value}) voor keuzeset {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Ongeldige keuze (s) ({value}) voor keuzeset {choiceset}."
 msgstr "Ongeldige keuze (s) ({value}) voor keuzeset {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "De waarde moet een object-ID zijn, niet {type}"
 msgstr "De waarde moet een object-ID zijn, niet {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "De waarde moet een lijst met object-ID's zijn, niet {type}"
 msgstr "De waarde moet een lijst met object-ID's zijn, niet {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "Ongeldige object-ID gevonden: {id}"
 msgstr "Ongeldige object-ID gevonden: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "Het verplichte veld mag niet leeg zijn."
 msgstr "Het verplichte veld mag niet leeg zijn."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Basisset van vooraf gedefinieerde keuzes (optioneel)"
 msgstr "Basisset van vooraf gedefinieerde keuzes (optioneel)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Keuzes worden automatisch alfabetisch gerangschikt"
 msgstr "Keuzes worden automatisch alfabetisch gerangschikt"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "aangepaste veldkeuzeset"
 msgstr "aangepaste veldkeuzeset"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "aangepaste veldkeuzesets"
 msgstr "aangepaste veldkeuzesets"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Moet basis- of extra keuzes definiëren."
 msgstr "Moet basis- of extra keuzes definiëren."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9775,7 +9785,7 @@ msgid "notifications"
 msgstr "meldingen"
 msgstr "meldingen"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Objecten van dit type ({type}) ondersteunen geen meldingen."
 msgstr "Objecten van dit type ({type}) ondersteunen geen meldingen."
@@ -9797,11 +9807,11 @@ msgstr "meldingsgroep"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "meldingsgroepen"
 msgstr "meldingsgroepen"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "abonnement"
 msgstr "abonnement"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "abonnementen"
 msgstr "abonnementen"
 
 
@@ -10736,7 +10746,7 @@ msgstr "DNS-naam"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLAN's"
 msgstr "VLAN's"
@@ -11373,7 +11383,7 @@ msgid "Added"
 msgstr "Toegevoegd"
 msgstr "Toegevoegd"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11518,26 +11528,26 @@ msgstr ""
 "Alleen alfanumerieke tekens, sterretjes, koppeltekens, punten en "
 "Alleen alfanumerieke tekens, sterretjes, koppeltekens, punten en "
 "onderstrepingstekens zijn toegestaan in DNS-namen"
 "onderstrepingstekens zijn toegestaan in DNS-namen"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Interfaces voor apparaten"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "VM-interfaces"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Prefixen voor kinderen"
 msgstr "Prefixen voor kinderen"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Ranges voor kinderen"
 msgstr "Ranges voor kinderen"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "Gerelateerde IP's"
 msgstr "Gerelateerde IP's"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Interfaces voor apparaten"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "VM-interfaces"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Dit veld is mogelijk niet leeg."
 msgstr "Dit veld is mogelijk niet leeg."
@@ -16631,18 +16641,18 @@ msgstr "{value} moet een veelvoud zijn van {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} is geen geldige reguliere expressie."
 msgstr "{value} is geen geldige reguliere expressie."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr ""
 msgstr ""
 "{self.__class__.__name__} moet get_required_permission () implementeren"
 "{self.__class__.__name__} moet get_required_permission () implementeren"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} moet get_required_permission () implementeren"
 msgstr "{class_name} moet get_required_permission () implementeren"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/pl/LC_MESSAGES/django.mo


+ 133 - 122
netbox/translations/pl/LC_MESSAGES/django.po

@@ -15,7 +15,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Polish (https://app.transifex.com/netbox-community/teams/178115/pl/)\n"
 "Language-Team: Polish (https://app.transifex.com/netbox-community/teams/178115/pl/)\n"
@@ -174,8 +174,8 @@ msgstr "Mówił"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Region (ID)"
 msgstr "Region (ID)"
@@ -186,8 +186,8 @@ msgstr "Region (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -198,8 +198,8 @@ msgstr "Region (uproszczona nazwa)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -210,8 +210,8 @@ msgstr "Grupa placówek (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -327,8 +327,8 @@ msgstr "Typ łącza (uproszczona nazwa)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -338,7 +338,7 @@ msgstr "Placówka (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Lokalizacja (ID)"
 msgstr "Lokalizacja (ID)"
 
 
@@ -350,7 +350,7 @@ msgstr "Strona A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -359,7 +359,7 @@ msgstr "Strona A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -382,7 +382,7 @@ msgstr "Szukaj"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -415,7 +415,7 @@ msgstr "Łącze (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Łącze wirtualne (CID dostawcy)"
 msgstr "Łącze wirtualne (CID dostawcy)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Łącze wirtualne (ID)"
 msgstr "Łącze wirtualne (ID)"
 
 
@@ -463,7 +463,7 @@ msgstr "Interfejs (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1924,7 +1924,7 @@ msgstr "Komentarze"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Zadania"
 msgstr "Zadania"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Strona"
 msgstr "Strona"
 
 
@@ -1978,7 +1978,7 @@ msgstr "Zakończenia"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1989,7 +1989,7 @@ msgstr "Zakończenia"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2546,7 +2546,7 @@ msgstr ""
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "utworzony"
 msgstr "utworzony"
@@ -3492,7 +3492,7 @@ msgstr "Lokalizacja nadrzędna (uproszczona nazwa)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Producent (ID)"
 msgstr "Producent (ID)"
 
 
@@ -3500,7 +3500,7 @@ msgstr "Producent (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Producent (uproszczona nazwa)"
 msgstr "Producent (uproszczona nazwa)"
 
 
@@ -3513,14 +3513,14 @@ msgid "Rack type (ID)"
 msgstr "Typ szafy (ID)"
 msgstr "Typ szafy (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Rola (ID)"
 msgstr "Rola (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3529,7 +3529,7 @@ msgstr "Rola (uproszczona nazwa)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Szafa (ID)"
 msgstr "Szafa (ID)"
 
 
@@ -3627,7 +3627,7 @@ msgstr "Typ modułu (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Port zasilania (ID)"
 msgstr "Port zasilania (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Nadrzędny element inwentarza (ID)"
 msgstr "Nadrzędny element inwentarza (ID)"
 
 
@@ -3662,8 +3662,8 @@ msgid "Platform (slug)"
 msgstr "Platforma (uproszczona nazwa)"
 msgstr "Platforma (uproszczona nazwa)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Nazwa placówki (uproszczona nazwa)"
 msgstr "Nazwa placówki (uproszczona nazwa)"
 
 
@@ -3913,30 +3913,41 @@ msgid "VLAN Translation Policy"
 msgstr "Polityka tłumaczenia VLAN"
 msgstr "Polityka tłumaczenia VLAN"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr ""
+"Interfejsy wirtualnej obudowy dla urządzenia, gdy urządzenie jest głównym"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr ""
+"Interfejsy wirtualnej obudowy dla urządzenia, gdy urządzenie jest głównym "
+"(ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Interfejsy wirtualnego stosu dla urządzenia"
 msgstr "Interfejsy wirtualnego stosu dla urządzenia"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Interfejsy wirtualnego stosu dla urządzenia (ID)"
 msgstr "Interfejsy wirtualnego stosu dla urządzenia (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Typ interfejsu"
 msgstr "Typ interfejsu"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Interfejs nadrzędny (ID)"
 msgstr "Interfejs nadrzędny (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Interfejs mostkowy (ID)"
 msgstr "Interfejs mostkowy (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "Interfejs LAG (ID)"
 msgstr "Interfejs LAG (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3944,78 +3955,78 @@ msgstr "Interfejs LAG (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "Adres MAC"
 msgstr "Adres MAC"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Podstawowy adres MAC (ID)"
 msgstr "Podstawowy adres MAC (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Podstawowy adres MAC"
 msgstr "Podstawowy adres MAC"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Kontekst urządzenia wirtualnego"
 msgstr "Kontekst urządzenia wirtualnego"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Kontekst urządzenia wirtualnego (identyfikator)"
 msgstr "Kontekst urządzenia wirtualnego (identyfikator)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "Bezprzewodowa sieć LAN"
 msgstr "Bezprzewodowa sieć LAN"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Połączenie bezprzewodowe"
 msgstr "Połączenie bezprzewodowe"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Zakończenie łącza wirtualnego (ID)"
 msgstr "Zakończenie łącza wirtualnego (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Nadrzędna zatoka modułu (ID)"
 msgstr "Nadrzędna zatoka modułu (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Zainstalowany moduł (ID)"
 msgstr "Zainstalowany moduł (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Zainstalowane urządzenie (ID)"
 msgstr "Zainstalowane urządzenie (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Zainstalowane urządzenie (nazwa)"
 msgstr "Zainstalowane urządzenie (nazwa)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Master (ID)"
 msgstr "Master (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Master (nazwa)"
 msgstr "Master (nazwa)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Najemca (ID)"
 msgstr "Najemca (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Najemca (uproszczona nazwa)"
 msgstr "Najemca (uproszczona nazwa)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Niezakończony"
 msgstr "Niezakończony"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Rozdzielnica zasilająca (ID)"
 msgstr "Rozdzielnica zasilająca (ID)"
 
 
@@ -4030,7 +4041,7 @@ msgstr "Rozdzielnica zasilająca (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Tagi"
 msgstr "Tagi"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4042,7 +4053,7 @@ msgstr "Tagi"
 msgid "Position"
 msgid "Position"
 msgstr "Pozycja"
 msgstr "Pozycja"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5287,7 +5298,7 @@ msgstr "Nie można adoptować {model} {name} ponieważ już należy do modułu"
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "A {model} o nazwie {name} już istnieje"
 msgstr "A {model} o nazwie {name} już istnieje"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5296,7 +5307,7 @@ msgstr "A {model} o nazwie {name} już istnieje"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Rozdzielnica zasilająca"
 msgstr "Rozdzielnica zasilająca"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5704,11 +5715,11 @@ msgstr "Przedmiot zapasów"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Rola pozycji zapasów"
 msgstr "Rola pozycji zapasów"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "Interfejs VM"
 msgstr "Interfejs VM"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5725,7 +5736,7 @@ msgstr "Interfejs VM"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Maszyna wirtualna"
 msgstr "Maszyna wirtualna"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "Adres MAC można przypisać tylko do jednego obiektu."
 msgstr "Adres MAC można przypisać tylko do jednego obiektu."
 
 
@@ -7560,7 +7571,7 @@ msgstr "Gniazdka elektryczne"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7600,7 +7611,7 @@ msgstr "Moduł Bay"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7630,8 +7641,8 @@ msgid "Allocated draw (W)"
 msgstr "Przydzielone losowanie (W)"
 msgstr "Przydzielone losowanie (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7736,7 +7747,7 @@ msgid "Instances"
 msgstr "Instancje"
 msgstr "Instancje"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7747,7 +7758,7 @@ msgid "Console Ports"
 msgstr "Porty konsoli"
 msgstr "Porty konsoli"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7758,7 +7769,7 @@ msgid "Console Server Ports"
 msgstr "Porty serwera konsoli"
 msgstr "Porty serwera konsoli"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7769,7 +7780,7 @@ msgid "Power Ports"
 msgstr "Porty zasilania"
 msgstr "Porty zasilania"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7780,7 +7791,7 @@ msgid "Power Outlets"
 msgstr "Gniazdka elektryczne"
 msgstr "Gniazdka elektryczne"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7790,7 +7801,7 @@ msgid "Front Ports"
 msgstr "Porty przednie"
 msgstr "Porty przednie"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7801,7 +7812,7 @@ msgid "Rear Ports"
 msgstr "Tylne porty"
 msgstr "Tylne porty"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7809,7 +7820,7 @@ msgid "Device Bays"
 msgstr "Wnęsy na urządzenia"
 msgstr "Wnęsy na urządzenia"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7897,48 +7908,48 @@ msgstr "Rezerwacje"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Urządzenia poza szafami"
 msgstr "Urządzenia poza szafami"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Kontekst konfiguracji"
 msgstr "Kontekst konfiguracji"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Konfiguracja renderowania"
 msgstr "Konfiguracja renderowania"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Maszyny wirtualne"
 msgstr "Maszyny wirtualne"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Zainstalowane urządzenie {device} w zatoce {device_bay}."
 msgstr "Zainstalowane urządzenie {device} w zatoce {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Usunięte urządzenie {device} z zatoki {device_bay}."
 msgstr "Usunięte urządzenie {device} z zatoki {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Dzieci"
 msgstr "Dzieci"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Dodano członka <a href=\"{url}\">{device}</a>"
 msgstr "Dodano członka <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr "Nie można usunąć urządzenia głównego {device} z wirtualnego podwozia."
 msgstr "Nie można usunąć urządzenia głównego {device} z wirtualnego podwozia."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Usunięto {device} z wirtualnego podwozia {chassis}"
 msgstr "Usunięto {device} z wirtualnego podwozia {chassis}"
@@ -9233,99 +9244,99 @@ msgstr "Fałszywe"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr "Wartości muszą być zgodne z tym regex: <code>{regex}</code>"
 msgstr "Wartości muszą być zgodne z tym regex: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "Wartość musi być ciągiem."
 msgstr "Wartość musi być ciągiem."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "Wartość musi być zgodna z regex '{regex}”"
 msgstr "Wartość musi być zgodna z regex '{regex}”"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "Wartość musi być liczbą całkowitą."
 msgstr "Wartość musi być liczbą całkowitą."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "Wartość musi być co najmniej {minimum}"
 msgstr "Wartość musi być co najmniej {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "Wartość nie może przekraczać {maximum}"
 msgstr "Wartość nie może przekraczać {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "Wartość musi być dziesiętna."
 msgstr "Wartość musi być dziesiętna."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "Wartość musi być prawdziwa lub fałszywa."
 msgstr "Wartość musi być prawdziwa lub fałszywa."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "Wartości dat muszą być w formacie ISO 8601 (RRRR-MM-DD)."
 msgstr "Wartości dat muszą być w formacie ISO 8601 (RRRR-MM-DD)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "Wartości daty i godziny muszą być zgodne z normą ISO 8601 (RRRR-MM-DD "
 "Wartości daty i godziny muszą być zgodne z normą ISO 8601 (RRRR-MM-DD "
 "HH:MM:SS)."
 "HH:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Nieprawidłowy wybór ({value}) do wyboru zestawu {choiceset}."
 msgstr "Nieprawidłowy wybór ({value}) do wyboru zestawu {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Nieprawidłowy wybór (y) ({value}) do wyboru zestawu {choiceset}."
 msgstr "Nieprawidłowy wybór (y) ({value}) do wyboru zestawu {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "Wartość musi być identyfikatorem obiektu, a nie {type}"
 msgstr "Wartość musi być identyfikatorem obiektu, a nie {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "Wartość musi być listą identyfikatorów obiektów, a nie {type}"
 msgstr "Wartość musi być listą identyfikatorów obiektów, a nie {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "Znaleziono nieprawidłowy identyfikator obiektu: {id}"
 msgstr "Znaleziono nieprawidłowy identyfikator obiektu: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "Pole wymagane nie może być puste."
 msgstr "Pole wymagane nie może być puste."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Podstawowy zestaw predefiniowanych opcji (opcjonalnie)"
 msgstr "Podstawowy zestaw predefiniowanych opcji (opcjonalnie)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Wybory są automatycznie uporządkowane alfabetycznie"
 msgstr "Wybory są automatycznie uporządkowane alfabetycznie"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "niestandardowy zestaw wyboru pola"
 msgstr "niestandardowy zestaw wyboru pola"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "niestandardowe zestawy wyboru pól"
 msgstr "niestandardowe zestawy wyboru pól"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Musi zdefiniować opcje bazowe lub dodatkowe."
 msgstr "Musi zdefiniować opcje bazowe lub dodatkowe."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9709,7 +9720,7 @@ msgid "notifications"
 msgstr "powiadomienia"
 msgstr "powiadomienia"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Obiekty tego typu ({type}) nie obsługują powiadomień."
 msgstr "Obiekty tego typu ({type}) nie obsługują powiadomień."
@@ -9731,11 +9742,11 @@ msgstr "grupa powiadomień"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "grupy powiadomień"
 msgstr "grupy powiadomień"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "subskrypcja"
 msgstr "subskrypcja"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "subskrypcje"
 msgstr "subskrypcje"
 
 
@@ -10664,7 +10675,7 @@ msgstr "Nazwa DNS"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "sieci VLAN"
 msgstr "sieci VLAN"
@@ -11300,7 +11311,7 @@ msgid "Added"
 msgstr "Dodano"
 msgstr "Dodano"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11443,26 +11454,26 @@ msgstr ""
 "W nazwach DNS dozwolone są tylko znaki alfanumeryczne, gwiazdki, łączniki, "
 "W nazwach DNS dozwolone są tylko znaki alfanumeryczne, gwiazdki, łączniki, "
 "kropki i podkreślenia"
 "kropki i podkreślenia"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Interfejsy urządzeń"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "Interfejsy VM"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Prefiksy podrzędne"
 msgstr "Prefiksy podrzędne"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Zakresy dla dzieci"
 msgstr "Zakresy dla dzieci"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "Powiązane adresy IP"
 msgstr "Powiązane adresy IP"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Interfejsy urządzeń"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "Interfejsy VM"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "To pole może nie być puste."
 msgstr "To pole może nie być puste."
@@ -16538,17 +16549,17 @@ msgstr "{value} musi być wielokrotnością {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} nie jest prawidłowym wyrażeniem regularnym."
 msgstr "{value} nie jest prawidłowym wyrażeniem regularnym."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr "{self.__class__.__name__} musi zaimplementować get_required_permit ()"
 msgstr "{self.__class__.__name__} musi zaimplementować get_required_permit ()"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} musi zaimplementować get_required_permit ()"
 msgstr "{class_name} musi zaimplementować get_required_permit ()"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/pt/LC_MESSAGES/django.mo


+ 133 - 122
netbox/translations/pt/LC_MESSAGES/django.po

@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n"
 "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n"
@@ -173,8 +173,8 @@ msgstr "Spoke"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Região (ID)"
 msgstr "Região (ID)"
@@ -185,8 +185,8 @@ msgstr "Região (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -197,8 +197,8 @@ msgstr "Região (slug)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -209,8 +209,8 @@ msgstr "Grupo de sites (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -326,8 +326,8 @@ msgstr "Tipo de circuito (slug)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -337,7 +337,7 @@ msgstr "Site (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Local (ID)"
 msgstr "Local (ID)"
 
 
@@ -349,7 +349,7 @@ msgstr "Terminação A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -358,7 +358,7 @@ msgstr "Terminação A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -381,7 +381,7 @@ msgstr "Busca"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -414,7 +414,7 @@ msgstr "Circuito (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Circuito virtual (CID)"
 msgstr "Circuito virtual (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Circuito virtual (ID)"
 msgstr "Circuito virtual (ID)"
 
 
@@ -462,7 +462,7 @@ msgstr "Interface (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1924,7 +1924,7 @@ msgstr "Comentários"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Atribuições"
 msgstr "Atribuições"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Lado"
 msgstr "Lado"
 
 
@@ -1978,7 +1978,7 @@ msgstr "Terminações"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1989,7 +1989,7 @@ msgstr "Terminações"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2548,7 +2548,7 @@ msgstr "Changelog não é suportado para este tipo de objeto ({type})."
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "criado"
 msgstr "criado"
@@ -3497,7 +3497,7 @@ msgstr "Local pai (slug)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Fabricante (ID)"
 msgstr "Fabricante (ID)"
 
 
@@ -3505,7 +3505,7 @@ msgstr "Fabricante (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Fabricante (slug)"
 msgstr "Fabricante (slug)"
 
 
@@ -3518,14 +3518,14 @@ msgid "Rack type (ID)"
 msgstr "Tipo de rack (ID)"
 msgstr "Tipo de rack (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Função (ID)"
 msgstr "Função (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3534,7 +3534,7 @@ msgstr "Função (slug)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Rack (ID)"
 msgstr "Rack (ID)"
 
 
@@ -3632,7 +3632,7 @@ msgstr "Tipo de módulo (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Porta de alimentação (ID)"
 msgstr "Porta de alimentação (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Item principal do inventário (ID)"
 msgstr "Item principal do inventário (ID)"
 
 
@@ -3667,8 +3667,8 @@ msgid "Platform (slug)"
 msgstr "Plataforma (slug)"
 msgstr "Plataforma (slug)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Nome do site (slug)"
 msgstr "Nome do site (slug)"
 
 
@@ -3918,30 +3918,41 @@ msgid "VLAN Translation Policy"
 msgstr "Política de Tradução de VLAN"
 msgstr "Política de Tradução de VLAN"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr ""
+"Interfaces de chassi virtual para dispositivo quando o dispositivo é mestre"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr ""
+"Interfaces de chassi virtual para dispositivo quando o dispositivo é mestre "
+"(ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Interfaces de Chassi Virtual para Dispositivo"
 msgstr "Interfaces de Chassi Virtual para Dispositivo"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Interfaces de Chassi Virtual para Dispositivo (ID)"
 msgstr "Interfaces de Chassi Virtual para Dispositivo (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Tipo de interface"
 msgstr "Tipo de interface"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Interface pai (ID)"
 msgstr "Interface pai (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Interface bridged (ID)"
 msgstr "Interface bridged (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "Interface LAG (ID)"
 msgstr "Interface LAG (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3949,78 +3960,78 @@ msgstr "Interface LAG (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "Endereço MAC"
 msgstr "Endereço MAC"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Endereço MAC primário (ID)"
 msgstr "Endereço MAC primário (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Endereço MAC primário"
 msgstr "Endereço MAC primário"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Contexto de Dispositivo Virtual"
 msgstr "Contexto de Dispositivo Virtual"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Contexto de Dispositivo Virtual (ID)"
 msgstr "Contexto de Dispositivo Virtual (ID)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "Rede Wireless"
 msgstr "Rede Wireless"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Link Wireless"
 msgstr "Link Wireless"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Terminação de circuito virtual (ID)"
 msgstr "Terminação de circuito virtual (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Compartimento de módulo pai (ID)"
 msgstr "Compartimento de módulo pai (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Módulo instalado (ID)"
 msgstr "Módulo instalado (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Dispositivo instalado (ID)"
 msgstr "Dispositivo instalado (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Dispositivo instalado (nome)"
 msgstr "Dispositivo instalado (nome)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Mestre (ID)"
 msgstr "Mestre (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Mestre (nome)"
 msgstr "Mestre (nome)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Inquilino (ID)"
 msgstr "Inquilino (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Inquilino (slug)"
 msgstr "Inquilino (slug)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Não terminado"
 msgstr "Não terminado"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Quadro de alimentação (ID)"
 msgstr "Quadro de alimentação (ID)"
 
 
@@ -4035,7 +4046,7 @@ msgstr "Quadro de alimentação (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Etiquetas"
 msgstr "Etiquetas"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4047,7 +4058,7 @@ msgstr "Etiquetas"
 msgid "Position"
 msgid "Position"
 msgstr "Posição"
 msgstr "Posição"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5296,7 +5307,7 @@ msgstr "Não é possível adotar {model} {name} pois já pertence a outro módul
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "Um {model} com nome {name} já existe."
 msgstr "Um {model} com nome {name} já existe."
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5305,7 +5316,7 @@ msgstr "Um {model} com nome {name} já existe."
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Quadro de Alimentação"
 msgstr "Quadro de Alimentação"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5712,11 +5723,11 @@ msgstr "Item de Inventário"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Função do Item de Inventário"
 msgstr "Função do Item de Inventário"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "Interface de VM"
 msgstr "Interface de VM"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5733,7 +5744,7 @@ msgstr "Interface de VM"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Máquina Virtual"
 msgstr "Máquina Virtual"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "Um endereço MAC só pode ser atribuído a um único objeto."
 msgstr "Um endereço MAC só pode ser atribuído a um único objeto."
 
 
@@ -7579,7 +7590,7 @@ msgstr "Tomadas elétricas"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7619,7 +7630,7 @@ msgstr "Compartimento de módulo"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7649,8 +7660,8 @@ msgid "Allocated draw (W)"
 msgstr "Consumo alocado (W)"
 msgstr "Consumo alocado (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7755,7 +7766,7 @@ msgid "Instances"
 msgstr "Instâncias"
 msgstr "Instâncias"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7766,7 +7777,7 @@ msgid "Console Ports"
 msgstr "Portas de Console"
 msgstr "Portas de Console"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7777,7 +7788,7 @@ msgid "Console Server Ports"
 msgstr "Portas de Servidor de Console"
 msgstr "Portas de Servidor de Console"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7788,7 +7799,7 @@ msgid "Power Ports"
 msgstr "Portas de Alimentação"
 msgstr "Portas de Alimentação"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7799,7 +7810,7 @@ msgid "Power Outlets"
 msgstr "Tomadas Elétricas"
 msgstr "Tomadas Elétricas"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7809,7 +7820,7 @@ msgid "Front Ports"
 msgstr "Portas Frontais"
 msgstr "Portas Frontais"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7820,7 +7831,7 @@ msgid "Rear Ports"
 msgstr "Portas Traseiras"
 msgstr "Portas Traseiras"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7828,7 +7839,7 @@ msgid "Device Bays"
 msgstr "Compartimentos de Dispositivos"
 msgstr "Compartimentos de Dispositivos"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7916,49 +7927,49 @@ msgstr "Reservas"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Dispositivos Não Montados em Rack"
 msgstr "Dispositivos Não Montados em Rack"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Contexto de Configuração"
 msgstr "Contexto de Configuração"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Renderização de Configuração"
 msgstr "Renderização de Configuração"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Máquinas Virtuais"
 msgstr "Máquinas Virtuais"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Dispositivo instalado {device} no compartimento {device_bay}."
 msgstr "Dispositivo instalado {device} no compartimento {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Dispositivo  {device} removido do compartimento {device_bay}."
 msgstr "Dispositivo  {device} removido do compartimento {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Filhos"
 msgstr "Filhos"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Membro <a href=\"{url}\">{device}</a> adicionado"
 msgstr "Membro <a href=\"{url}\">{device}</a> adicionado"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr ""
 msgstr ""
 "Não é possível remover o dispositivo principal {device} do chassi virtual."
 "Não é possível remover o dispositivo principal {device} do chassi virtual."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Removido {device} do chassi virtual {chassis}"
 msgstr "Removido {device} do chassi virtual {chassis}"
@@ -9262,99 +9273,99 @@ msgid "Values must match this regex: <code>{regex}</code>"
 msgstr ""
 msgstr ""
 "Os valores devem corresponder a esta expressão regular: <code>{regex}</code>"
 "Os valores devem corresponder a esta expressão regular: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "O valor deve ser uma string."
 msgstr "O valor deve ser uma string."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "O valor deve corresponder à expressão regular '{regex}'"
 msgstr "O valor deve corresponder à expressão regular '{regex}'"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "O valor deve ser um número inteiro."
 msgstr "O valor deve ser um número inteiro."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "O valor deve ser pelo menos {minimum}"
 msgstr "O valor deve ser pelo menos {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "O valor não deve exceder {maximum}"
 msgstr "O valor não deve exceder {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "O valor deve ser decimal."
 msgstr "O valor deve ser decimal."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "O valor deve ser verdadeiro ou falso."
 msgstr "O valor deve ser verdadeiro ou falso."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "Os valores de data devem estar no formato ISO 8601 (AAAA-MM-DD)."
 msgstr "Os valores de data devem estar no formato ISO 8601 (AAAA-MM-DD)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "Os valores de data e hora devem estar no formato ISO 8601 (AAAA-MM-DD "
 "Os valores de data e hora devem estar no formato ISO 8601 (AAAA-MM-DD "
 "HH:MM:SS)."
 "HH:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Escolha {value} é inválida para o conjunto de escolhas {choiceset}."
 msgstr "Escolha {value} é inválida para o conjunto de escolhas {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Escolha {value} é inválida para o conjunto de escolhas {choiceset}."
 msgstr "Escolha {value} é inválida para o conjunto de escolhas {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "O valor deve ser um ID de objeto, não {type}"
 msgstr "O valor deve ser um ID de objeto, não {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "O valor deve ser uma lista de IDs de objetos, não {type}"
 msgstr "O valor deve ser uma lista de IDs de objetos, não {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "ID de objeto inválida encontrada: {id}"
 msgstr "ID de objeto inválida encontrada: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "O campo obrigatório não pode estar vazio."
 msgstr "O campo obrigatório não pode estar vazio."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Conjunto básico de opções predefinidas (opcional)"
 msgstr "Conjunto básico de opções predefinidas (opcional)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "As opções são ordenadas automaticamente em ordem alfabética"
 msgstr "As opções são ordenadas automaticamente em ordem alfabética"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "conjunto de opções de campo personalizado"
 msgstr "conjunto de opções de campo personalizado"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "conjuntos de opções de campos personalizados"
 msgstr "conjuntos de opções de campos personalizados"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Deve definir opções básicas ou extras."
 msgstr "Deve definir opções básicas ou extras."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9739,7 +9750,7 @@ msgid "notifications"
 msgstr "notificações"
 msgstr "notificações"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Objetos deste tipo ({type}) não suportam notificações."
 msgstr "Objetos deste tipo ({type}) não suportam notificações."
@@ -9761,11 +9772,11 @@ msgstr "grupo de notificação"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "grupos de notificação"
 msgstr "grupos de notificação"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "subscrição"
 msgstr "subscrição"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "subscrições"
 msgstr "subscrições"
 
 
@@ -10697,7 +10708,7 @@ msgstr "Nome DNS"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLANs"
 msgstr "VLANs"
@@ -11327,7 +11338,7 @@ msgid "Added"
 msgstr "Adicionado"
 msgstr "Adicionado"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11469,26 +11480,26 @@ msgstr ""
 "Somente caracteres alfanuméricos, asteriscos, hífens, pontos e sublinhados "
 "Somente caracteres alfanuméricos, asteriscos, hífens, pontos e sublinhados "
 "são permitidos em nomes DNS"
 "são permitidos em nomes DNS"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Interfaces de dispositivos"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "Interfaces de Máquina Virtual"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Prefixos Filhos"
 msgstr "Prefixos Filhos"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Intervalos Filhos"
 msgstr "Intervalos Filhos"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "IPs relacionados"
 msgstr "IPs relacionados"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Interfaces de dispositivos"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "Interfaces de Máquina Virtual"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Este campo pode não estar em branco."
 msgstr "Este campo pode não estar em branco."
@@ -16565,17 +16576,17 @@ msgstr "{value} deve ser um múltiplo de {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} não é uma expressão regular válida."
 msgstr "{value} não é uma expressão regular válida."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr "{self.__class__.__name__} deve implementar get_required_permission ()"
 msgstr "{self.__class__.__name__} deve implementar get_required_permission ()"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} deve implementar get_required_permission ()"
 msgstr "{class_name} deve implementar get_required_permission ()"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/ru/LC_MESSAGES/django.mo


Plik diff jest za duży
+ 159 - 146
netbox/translations/ru/LC_MESSAGES/django.po


BIN
netbox/translations/tr/LC_MESSAGES/django.mo


+ 130 - 122
netbox/translations/tr/LC_MESSAGES/django.po

@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Turkish (https://app.transifex.com/netbox-community/teams/178115/tr/)\n"
 "Language-Team: Turkish (https://app.transifex.com/netbox-community/teams/178115/tr/)\n"
@@ -172,8 +172,8 @@ msgstr "konuştu"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Bölge (ID)"
 msgstr "Bölge (ID)"
@@ -184,8 +184,8 @@ msgstr "Bölge (ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -196,8 +196,8 @@ msgstr "Bölge (kısa ad)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -208,8 +208,8 @@ msgstr "Site grubu (ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -325,8 +325,8 @@ msgstr "Devre tipi (kısa ad)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -336,7 +336,7 @@ msgstr "Site (ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Konum (ID)"
 msgstr "Konum (ID)"
 
 
@@ -348,7 +348,7 @@ msgstr "Fesih A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -357,7 +357,7 @@ msgstr "Fesih A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -380,7 +380,7 @@ msgstr "Arama"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -413,7 +413,7 @@ msgstr "Devre (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Sanal devre (CID)"
 msgstr "Sanal devre (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Sanal devre (ID)"
 msgstr "Sanal devre (ID)"
 
 
@@ -461,7 +461,7 @@ msgstr "Arayüz (ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1922,7 +1922,7 @@ msgstr "Yorumlar"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Ödevler"
 msgstr "Ödevler"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Yan"
 msgstr "Yan"
 
 
@@ -1976,7 +1976,7 @@ msgstr "Fesih"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1987,7 +1987,7 @@ msgstr "Fesih"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2544,7 +2544,7 @@ msgstr "Değişiklik günlüğü bu nesne türü için desteklenmez ({type})."
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "oluşturulan"
 msgstr "oluşturulan"
@@ -3490,7 +3490,7 @@ msgstr "Ana konum (kısa ad)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Üretici (ID)"
 msgstr "Üretici (ID)"
 
 
@@ -3498,7 +3498,7 @@ msgstr "Üretici (ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Üretici (kısa ad)"
 msgstr "Üretici (kısa ad)"
 
 
@@ -3511,14 +3511,14 @@ msgid "Rack type (ID)"
 msgstr "Raf tipi (ID)"
 msgstr "Raf tipi (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Rol (ID)"
 msgstr "Rol (ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3527,7 +3527,7 @@ msgstr "Rol (kısa ad)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Raf (ID)"
 msgstr "Raf (ID)"
 
 
@@ -3625,7 +3625,7 @@ msgstr "Modül tipi (ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Güç bağlantı noktası (ID)"
 msgstr "Güç bağlantı noktası (ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Ana envanter kalemi (ID)"
 msgstr "Ana envanter kalemi (ID)"
 
 
@@ -3660,8 +3660,8 @@ msgid "Platform (slug)"
 msgstr "Platform (kısa ad)"
 msgstr "Platform (kısa ad)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Site adı (kısa ad)"
 msgstr "Site adı (kısa ad)"
 
 
@@ -3911,30 +3911,38 @@ msgid "VLAN Translation Policy"
 msgstr "VLAN Çeviri Politikası"
 msgstr "VLAN Çeviri Politikası"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr "Aygıt ana olduğunda Aygıt için Sanal Kasa Arabirimleri"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr "Aygıt ana olduğunda Aygıt için Sanal Kasa Arabirimleri (ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Cihaz için Sanal Şasi Arayüzleri"
 msgstr "Cihaz için Sanal Şasi Arayüzleri"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Cihaz için Sanal Şasi Arayüzleri (ID)"
 msgstr "Cihaz için Sanal Şasi Arayüzleri (ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Arayüz türü"
 msgstr "Arayüz türü"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Ebeveyn arabirimi (ID)"
 msgstr "Ebeveyn arabirimi (ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Köprülü arayüz (ID)"
 msgstr "Köprülü arayüz (ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "LAG arabirimi (ID)"
 msgstr "LAG arabirimi (ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3942,78 +3950,78 @@ msgstr "LAG arabirimi (ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "MAC Adresi"
 msgstr "MAC Adresi"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Birincil MAC adresi (ID)"
 msgstr "Birincil MAC adresi (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Birincil MAC adresi"
 msgstr "Birincil MAC adresi"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Sanal Cihaz Bağlamı"
 msgstr "Sanal Cihaz Bağlamı"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Sanal Cihaz Bağlamı (Tanımlayıcı)"
 msgstr "Sanal Cihaz Bağlamı (Tanımlayıcı)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "Kablosuz LAN"
 msgstr "Kablosuz LAN"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Kablosuz bağlantı"
 msgstr "Kablosuz bağlantı"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Sanal devre sonlandırma (ID)"
 msgstr "Sanal devre sonlandırma (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Ana modül yuvası (ID)"
 msgstr "Ana modül yuvası (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Yüklü modül (ID)"
 msgstr "Yüklü modül (ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Yüklü cihaz (ID)"
 msgstr "Yüklü cihaz (ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Yüklü cihaz (isim)"
 msgstr "Yüklü cihaz (isim)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Master (ID)"
 msgstr "Master (ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Master (isim)"
 msgstr "Master (isim)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Kiracı (ID)"
 msgstr "Kiracı (ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Kiracı (kısa ad)"
 msgstr "Kiracı (kısa ad)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Sonlandırılmamış"
 msgstr "Sonlandırılmamış"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Güç paneli (ID)"
 msgstr "Güç paneli (ID)"
 
 
@@ -4028,7 +4036,7 @@ msgstr "Güç paneli (ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Etiketler"
 msgstr "Etiketler"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4040,7 +4048,7 @@ msgstr "Etiketler"
 msgid "Position"
 msgid "Position"
 msgstr "Pozisyon"
 msgstr "Pozisyon"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5279,7 +5287,7 @@ msgstr "Evlat edinemiyor {model} {name} zaten bir modüle ait olduğu için"
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "BİR {model} adlandırmak {name} zaten var"
 msgstr "BİR {model} adlandırmak {name} zaten var"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5288,7 +5296,7 @@ msgstr "BİR {model} adlandırmak {name} zaten var"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Güç Paneli"
 msgstr "Güç Paneli"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5695,11 +5703,11 @@ msgstr "Envanter Öğesi"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Envanter Öğesi Rolü"
 msgstr "Envanter Öğesi Rolü"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "VM Arayüzü"
 msgstr "VM Arayüzü"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5716,7 +5724,7 @@ msgstr "VM Arayüzü"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Sanal Makine"
 msgstr "Sanal Makine"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "MAC adresi yalnızca tek bir nesneye atanabilir."
 msgstr "MAC adresi yalnızca tek bir nesneye atanabilir."
 
 
@@ -7508,7 +7516,7 @@ msgstr "Elektrik prizleri"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7548,7 +7556,7 @@ msgstr "Modül Yuvası"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7578,8 +7586,8 @@ msgid "Allocated draw (W)"
 msgstr "Tahsis edilen çekiliş (W)"
 msgstr "Tahsis edilen çekiliş (W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7684,7 +7692,7 @@ msgid "Instances"
 msgstr "Örnekler"
 msgstr "Örnekler"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7695,7 +7703,7 @@ msgid "Console Ports"
 msgstr "Konsol Bağlantı Noktaları"
 msgstr "Konsol Bağlantı Noktaları"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7706,7 +7714,7 @@ msgid "Console Server Ports"
 msgstr "Konsol Sunucusu Bağlantı Noktaları"
 msgstr "Konsol Sunucusu Bağlantı Noktaları"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7717,7 +7725,7 @@ msgid "Power Ports"
 msgstr "Güç Bağlantı Noktaları"
 msgstr "Güç Bağlantı Noktaları"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7728,7 +7736,7 @@ msgid "Power Outlets"
 msgstr "Elektrik Prizleri"
 msgstr "Elektrik Prizleri"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7738,7 +7746,7 @@ msgid "Front Ports"
 msgstr "Ön Bağlantı Noktaları"
 msgstr "Ön Bağlantı Noktaları"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7749,7 +7757,7 @@ msgid "Rear Ports"
 msgstr "Arka Bağlantı Noktaları"
 msgstr "Arka Bağlantı Noktaları"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7757,7 +7765,7 @@ msgid "Device Bays"
 msgstr "Cihaz Yuvaları"
 msgstr "Cihaz Yuvaları"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7845,48 +7853,48 @@ msgstr "Rezervasyon"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Raf Olmayan Cihazlar"
 msgstr "Raf Olmayan Cihazlar"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Yapılandırma Bağlamı"
 msgstr "Yapılandırma Bağlamı"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Oluştur Yapılandırması"
 msgstr "Oluştur Yapılandırması"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Sanal Makineler"
 msgstr "Sanal Makineler"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Yüklü cihaz {device} körfezde {device_bay}."
 msgstr "Yüklü cihaz {device} körfezde {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Kaldırılan cihaz {device} körfezden {device_bay}."
 msgstr "Kaldırılan cihaz {device} körfezden {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Çocuklar"
 msgstr "Çocuklar"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Eklenen üye <a href=\"{url}\">{device}</a>"
 msgstr "Eklenen üye <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr "Ana aygıt kaldırılamıyor {device} sanal kasadan."
 msgstr "Ana aygıt kaldırılamıyor {device} sanal kasadan."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Kaldırıldı {device} sanal kasadan {chassis}"
 msgstr "Kaldırıldı {device} sanal kasadan {chassis}"
@@ -9179,98 +9187,98 @@ msgstr "Yanlış"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr "Değerler bu normal ifadeyle eşleşmelidir: <code>{regex}</code>"
 msgstr "Değerler bu normal ifadeyle eşleşmelidir: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "Değer bir dize olmalıdır."
 msgstr "Değer bir dize olmalıdır."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "Değer regex ile eşleşmelidir '{regex}'"
 msgstr "Değer regex ile eşleşmelidir '{regex}'"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "Değer bir tamsayı olmalıdır."
 msgstr "Değer bir tamsayı olmalıdır."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "Değer en az olmalıdır {minimum}"
 msgstr "Değer en az olmalıdır {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "Değer geçmemelidir {maximum}"
 msgstr "Değer geçmemelidir {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "Değer ondalık olmalıdır."
 msgstr "Değer ondalık olmalıdır."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "Değer doğru veya yanlış olmalıdır."
 msgstr "Değer doğru veya yanlış olmalıdır."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "Tarih değerleri ISO 8601 biçiminde olmalıdır (YYYY-AA-GG)."
 msgstr "Tarih değerleri ISO 8601 biçiminde olmalıdır (YYYY-AA-GG)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "Tarih ve saat değerleri ISO 8601 biçiminde olmalıdır (YYYY-MM-DD HH:MM:SS)."
 "Tarih ve saat değerleri ISO 8601 biçiminde olmalıdır (YYYY-MM-DD HH:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Geçersiz seçim ({value}) seçim seti için {choiceset}."
 msgstr "Geçersiz seçim ({value}) seçim seti için {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Geçersiz seçim (ler) ({value}) seçim seti için {choiceset}."
 msgstr "Geçersiz seçim (ler) ({value}) seçim seti için {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "Değer bir nesne kimliği olmalıdır, değil {type}"
 msgstr "Değer bir nesne kimliği olmalıdır, değil {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "Değer, nesne kimliklerinin bir listesi olmalıdır, değil {type}"
 msgstr "Değer, nesne kimliklerinin bir listesi olmalıdır, değil {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "Geçersiz nesne kimliği bulundu: {id}"
 msgstr "Geçersiz nesne kimliği bulundu: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "Zorunlu alan boş olamaz."
 msgstr "Zorunlu alan boş olamaz."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Önceden tanımlanmış seçeneklerin temel kümesi (isteğe bağlı)"
 msgstr "Önceden tanımlanmış seçeneklerin temel kümesi (isteğe bağlı)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Seçenekler otomatik olarak alfabetik olarak sıralanır"
 msgstr "Seçenekler otomatik olarak alfabetik olarak sıralanır"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "özel alan seçim kümesi"
 msgstr "özel alan seçim kümesi"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "özel alan seçim kümeleri"
 msgstr "özel alan seçim kümeleri"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Temel veya ekstra seçenekleri tanımlamalıdır."
 msgstr "Temel veya ekstra seçenekleri tanımlamalıdır."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9654,7 +9662,7 @@ msgid "notifications"
 msgstr "bildirimleri"
 msgstr "bildirimleri"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Bu tür nesneler ({type}) bildirimleri desteklemez."
 msgstr "Bu tür nesneler ({type}) bildirimleri desteklemez."
@@ -9676,11 +9684,11 @@ msgstr "bildirim grubu"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "bildirim grupları"
 msgstr "bildirim grupları"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "abonelik"
 msgstr "abonelik"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "abonelikler"
 msgstr "abonelikler"
 
 
@@ -10605,7 +10613,7 @@ msgstr "DNS Adı"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLAN'lar"
 msgstr "VLAN'lar"
@@ -11224,7 +11232,7 @@ msgid "Added"
 msgstr "Eklendi"
 msgstr "Eklendi"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11366,26 +11374,26 @@ msgstr ""
 "DNS adlarında yalnızca alfanümerik karakterlere, yıldızlara, tirelere, "
 "DNS adlarında yalnızca alfanümerik karakterlere, yıldızlara, tirelere, "
 "noktalara ve alt çizgilere izin verilir"
 "noktalara ve alt çizgilere izin verilir"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Cihaz Arayüzleri"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "VM Arayüzleri"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Çocuk Önekleri"
 msgstr "Çocuk Önekleri"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Çocuk Aralıkları"
 msgstr "Çocuk Aralıkları"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "İlgili IP'ler"
 msgstr "İlgili IP'ler"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Cihaz Arayüzleri"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "VM Arayüzleri"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Bu alan boş olmayabilir."
 msgstr "Bu alan boş olmayabilir."
@@ -16445,19 +16453,19 @@ msgstr "{value} bir katı olmalıdır {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} geçerli bir normal ifade değildir."
 msgstr "{value} geçerli bir normal ifade değildir."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr ""
 msgstr ""
 "{self.__class__.__name__} get_required_permissions () uygulamasını "
 "{self.__class__.__name__} get_required_permissions () uygulamasını "
 "uygulamalıdır"
 "uygulamalıdır"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} get_required_permissions () uygulamasını uygulamalıdır"
 msgstr "{class_name} get_required_permissions () uygulamasını uygulamalıdır"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/uk/LC_MESSAGES/django.mo


+ 131 - 122
netbox/translations/uk/LC_MESSAGES/django.po

@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Ukrainian (https://app.transifex.com/netbox-community/teams/178115/uk/)\n"
 "Language-Team: Ukrainian (https://app.transifex.com/netbox-community/teams/178115/uk/)\n"
@@ -171,8 +171,8 @@ msgstr "Спиця (в колесі)"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "Регіон (ідентифікатор)"
 msgstr "Регіон (ідентифікатор)"
@@ -183,8 +183,8 @@ msgstr "Регіон (ідентифікатор)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -195,8 +195,8 @@ msgstr "Регіон (скорочення)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -207,8 +207,8 @@ msgstr "Група тех. майданчиків (ідентифікатор)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -324,8 +324,8 @@ msgstr "Тип каналу зв'язку (скорочення)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -335,7 +335,7 @@ msgstr "Тех. майданчик (ідентифікатор)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "Місцезнаходження (ідентифікатор)"
 msgstr "Місцезнаходження (ідентифікатор)"
 
 
@@ -347,7 +347,7 @@ msgstr "Припинення A (ідентифікатор)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -356,7 +356,7 @@ msgstr "Припинення A (ідентифікатор)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -379,7 +379,7 @@ msgstr "Пошук"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -412,7 +412,7 @@ msgstr "Канал зв'язку (ідентифікатор)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "Віртуальна схема (CID)"
 msgstr "Віртуальна схема (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "Віртуальна схема (ідентифікатор)"
 msgstr "Віртуальна схема (ідентифікатор)"
 
 
@@ -460,7 +460,7 @@ msgstr "Інтерфейс (ідентифікатор)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1922,7 +1922,7 @@ msgstr "Коментарі"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "Завдання"
 msgstr "Завдання"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "Сторона"
 msgstr "Сторона"
 
 
@@ -1976,7 +1976,7 @@ msgstr "Кінці"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1987,7 +1987,7 @@ msgstr "Кінці"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2542,7 +2542,7 @@ msgstr "Журнал змін не підтримується для цього
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "створено"
 msgstr "створено"
@@ -3489,7 +3489,7 @@ msgstr "Батьківське розташування (скорочення)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "Виробник (ідентифікатор)"
 msgstr "Виробник (ідентифікатор)"
 
 
@@ -3497,7 +3497,7 @@ msgstr "Виробник (ідентифікатор)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "Виробник (скорочення)"
 msgstr "Виробник (скорочення)"
 
 
@@ -3510,14 +3510,14 @@ msgid "Rack type (ID)"
 msgstr "Тип стійки (ідентифікатор)"
 msgstr "Тип стійки (ідентифікатор)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "Роль (ідентифікатор)"
 msgstr "Роль (ідентифікатор)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3526,7 +3526,7 @@ msgstr "Роль (скорочення)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "Стійка (ідентифікатор)"
 msgstr "Стійка (ідентифікатор)"
 
 
@@ -3624,7 +3624,7 @@ msgstr "Тип модуля (ідентифікатор)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "Порт живлення (ідентифікатор)"
 msgstr "Порт живлення (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "Батьківський предмет інвентарю (ідентифікатор)"
 msgstr "Батьківський предмет інвентарю (ідентифікатор)"
 
 
@@ -3659,8 +3659,8 @@ msgid "Platform (slug)"
 msgstr "Платформа (скорочення)"
 msgstr "Платформа (скорочення)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "Назва тех. майданчика (скорочення)"
 msgstr "Назва тех. майданчика (скорочення)"
 
 
@@ -3910,30 +3910,39 @@ msgid "VLAN Translation Policy"
 msgstr "Політика перекладу VLAN"
 msgstr "Політика перекладу VLAN"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr "Віртуальні інтерфейси шасі для пристрою, коли пристрій є головним"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr ""
+"Віртуальні інтерфейси шасі для пристрою, коли пристрій є головним (ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "Віртуальні інтерфейси шасі для пристрою"
 msgstr "Віртуальні інтерфейси шасі для пристрою"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "Віртуальні інтерфейси шасі для пристрою (ідентифікатор)"
 msgstr "Віртуальні інтерфейси шасі для пристрою (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "Вид інтерфейсу"
 msgstr "Вид інтерфейсу"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "Батьківський інтерфейс (ідентифікатор)"
 msgstr "Батьківський інтерфейс (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "Мостовий інтерфейс (ідентифікатор)"
 msgstr "Мостовий інтерфейс (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "Інтерфейс LAG (ідентифікатор)"
 msgstr "Інтерфейс LAG (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3941,78 +3950,78 @@ msgstr "Інтерфейс LAG (ідентифікатор)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "MAC-адреса"
 msgstr "MAC-адреса"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "Основна MAC-адреса (ідентифікатор)"
 msgstr "Основна MAC-адреса (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "Основна MAC-адреса"
 msgstr "Основна MAC-адреса"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "Контекст віртуального пристрою"
 msgstr "Контекст віртуального пристрою"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "Контекст віртуального пристрою (ідентифікатор)"
 msgstr "Контекст віртуального пристрою (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "Бездротова локальна мережа"
 msgstr "Бездротова локальна мережа"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "Бездротова зв'язок"
 msgstr "Бездротова зв'язок"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "Припинення віртуальної схеми (ID)"
 msgstr "Припинення віртуальної схеми (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "Відсік батьківського модуля (ідентифікатор)"
 msgstr "Відсік батьківського модуля (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "Встановлений модуль (ідентифікатор)"
 msgstr "Встановлений модуль (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "Встановлений пристрій (ідентифікатор)"
 msgstr "Встановлений пристрій (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "Встановлений пристрій (назва)"
 msgstr "Встановлений пристрій (назва)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "Майстер (ідентифікатор)"
 msgstr "Майстер (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "Майстер (ім'я)"
 msgstr "Майстер (ім'я)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "Орендар (ідентифікатор)"
 msgstr "Орендар (ідентифікатор)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "Орендар (скорочення)"
 msgstr "Орендар (скорочення)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "Незакінчений"
 msgstr "Незакінчений"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "Панель живлення (ідентифікатор)"
 msgstr "Панель живлення (ідентифікатор)"
 
 
@@ -4027,7 +4036,7 @@ msgstr "Панель живлення (ідентифікатор)"
 msgid "Tags"
 msgid "Tags"
 msgstr "Мітки"
 msgstr "Мітки"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4039,7 +4048,7 @@ msgstr "Мітки"
 msgid "Position"
 msgid "Position"
 msgstr "Позиція"
 msgstr "Позиція"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5288,7 +5297,7 @@ msgstr ""
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "А {model} названий {name} вже існує"
 msgstr "А {model} названий {name} вже існує"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5297,7 +5306,7 @@ msgstr "А {model} названий {name} вже існує"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "Панель живлення"
 msgstr "Панель живлення"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5703,11 +5712,11 @@ msgstr "Елемент інвентаря"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "Роль елемента інвентаря"
 msgstr "Роль елемента інвентаря"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "Інтерфейс VM"
 msgstr "Інтерфейс VM"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5724,7 +5733,7 @@ msgstr "Інтерфейс VM"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "Віртуальна машина"
 msgstr "Віртуальна машина"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "MAC-адресу можна призначити лише одному об'єкту."
 msgstr "MAC-адресу можна призначити лише одному об'єкту."
 
 
@@ -7567,7 +7576,7 @@ msgstr "Розетки"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7607,7 +7616,7 @@ msgstr "Резервуар модулів"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7637,8 +7646,8 @@ msgid "Allocated draw (W)"
 msgstr "Виділена потужність (Вт)"
 msgstr "Виділена потужність (Вт)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7743,7 +7752,7 @@ msgid "Instances"
 msgstr "Екземпляри"
 msgstr "Екземпляри"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7754,7 +7763,7 @@ msgid "Console Ports"
 msgstr "Консольні порти"
 msgstr "Консольні порти"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7765,7 +7774,7 @@ msgid "Console Server Ports"
 msgstr "Порти консольного сервера"
 msgstr "Порти консольного сервера"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7776,7 +7785,7 @@ msgid "Power Ports"
 msgstr "Порти живлення"
 msgstr "Порти живлення"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7787,7 +7796,7 @@ msgid "Power Outlets"
 msgstr "Розетки"
 msgstr "Розетки"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7797,7 +7806,7 @@ msgid "Front Ports"
 msgstr "Передні порти"
 msgstr "Передні порти"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7808,7 +7817,7 @@ msgid "Rear Ports"
 msgstr "Задні порти"
 msgstr "Задні порти"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7816,7 +7825,7 @@ msgid "Device Bays"
 msgstr "Відсіки для пристроїв"
 msgstr "Відсіки для пристроїв"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7904,48 +7913,48 @@ msgstr "Бронювання"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "Пристрої без можливості кріплення у стійку"
 msgstr "Пристрої без можливості кріплення у стійку"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "Контекст конфігурації"
 msgstr "Контекст конфігурації"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "Відтворення конфігурації"
 msgstr "Відтворення конфігурації"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "Віртуальні машини"
 msgstr "Віртуальні машини"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "Встановлений пристрій {device} в бухті {device_bay}."
 msgstr "Встановлений пристрій {device} в бухті {device_bay}."
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "Видалений пристрій {device} з бухти {device_bay}."
 msgstr "Видалений пристрій {device} з бухти {device_bay}."
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "Підпорядкований"
 msgstr "Підпорядкований"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "Доданий член <a href=\"{url}\">{device}</a>"
 msgstr "Доданий член <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr "Неможливо видалити головний пристрій {device} від віртуального шасі."
 msgstr "Неможливо видалити головний пристрій {device} від віртуального шасі."
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "Вилучено {device} з віртуального шасі {chassis}"
 msgstr "Вилучено {device} з віртуального шасі {chassis}"
@@ -9241,98 +9250,98 @@ msgstr "Хибно"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr "Значення повинні відповідати цьому регексу: <code>{regex}</code>"
 msgstr "Значення повинні відповідати цьому регексу: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "Значення має бути рядком."
 msgstr "Значення має бути рядком."
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "Значення має збігатися з регулярним виразом '{regex}'"
 msgstr "Значення має збігатися з регулярним виразом '{regex}'"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "Значення має бути цілим числом."
 msgstr "Значення має бути цілим числом."
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "Значення повинно бути меньш, ніж {minimum}"
 msgstr "Значення повинно бути меньш, ніж {minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "Значення не повинно перевищувати {maximum}"
 msgstr "Значення не повинно перевищувати {maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "Значення має бути десятковим."
 msgstr "Значення має бути десятковим."
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "Значення має бути істинним або хибним."
 msgstr "Значення має бути істинним або хибним."
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "Значення дати повинні бути у форматі ISO 8601 (РРРР-ММ-ДД)."
 msgstr "Значення дати повинні бути у форматі ISO 8601 (РРРР-ММ-ДД)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr ""
 msgstr ""
 "Значення дати та часу повинні бути у форматі ISO 8601 (РРРР-ММ-ДД ГГ:ХХ:СС)."
 "Значення дати та часу повинні бути у форматі ISO 8601 (РРРР-ММ-ДД ГГ:ХХ:СС)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "Невірний вибір ({value}) для набору варіантів {choiceset}."
 msgstr "Невірний вибір ({value}) для набору варіантів {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "Невірний вибір(и) ({value}) для набору варіантів {choiceset}."
 msgstr "Невірний вибір(и) ({value}) для набору варіантів {choiceset}."
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "Значення має бути ідентифікатором об'єкта, а не {type}"
 msgstr "Значення має бути ідентифікатором об'єкта, а не {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "Значення має бути списком ідентифікаторів об'єктів, а не {type}"
 msgstr "Значення має бути списком ідентифікаторів об'єктів, а не {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "Знайдено недійсний ідентифікатор об'єкта: {id}"
 msgstr "Знайдено недійсний ідентифікатор об'єкта: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "Обов'язкове поле не може бути порожнім."
 msgstr "Обов'язкове поле не може бути порожнім."
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "Базовий набір попередньо визначених варіантів (необов'язково)"
 msgstr "Базовий набір попередньо визначених варіантів (необов'язково)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "Вибір автоматично впорядковується за алфавітом"
 msgstr "Вибір автоматично впорядковується за алфавітом"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "набір вибору користувацького поля"
 msgstr "набір вибору користувацького поля"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "набори вибору користувацького поля"
 msgstr "набори вибору користувацького поля"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "Повинен визначити базовий або додатковий вибори."
 msgstr "Повинен визначити базовий або додатковий вибори."
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9714,7 +9723,7 @@ msgid "notifications"
 msgstr "сповіщення"
 msgstr "сповіщення"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "Об'єкти такого типу ({type}) не підтримують сповіщення."
 msgstr "Об'єкти такого типу ({type}) не підтримують сповіщення."
@@ -9736,11 +9745,11 @@ msgstr "група повідомлень"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "групи повідомлень"
 msgstr "групи повідомлень"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "підписка"
 msgstr "підписка"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "підписки"
 msgstr "підписки"
 
 
@@ -10676,7 +10685,7 @@ msgstr "Ім'я DNS"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLAN'и"
 msgstr "VLAN'и"
@@ -11311,7 +11320,7 @@ msgid "Added"
 msgstr "Додано"
 msgstr "Додано"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11453,26 +11462,26 @@ msgstr ""
 "У назвах DNS дозволені лише буквено-цифрові символи, зірочки, дефіси, крапки"
 "У назвах DNS дозволені лише буквено-цифрові символи, зірочки, дефіси, крапки"
 " та підкреслення"
 " та підкреслення"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "Інтерфейси пристрою"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "Інтерфейси віртуальної машини"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "Підпорядковані мережеві префікси"
 msgstr "Підпорядковані мережеві префікси"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "Підпорядковані діапазони"
 msgstr "Підпорядковані діапазони"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "Пов'язані IP-адреси"
 msgstr "Пов'язані IP-адреси"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "Інтерфейси пристрою"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "Інтерфейси віртуальної машини"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "Це поле не може бути порожнім."
 msgstr "Це поле не може бути порожнім."
@@ -16534,18 +16543,18 @@ msgstr "{value} має бути кратним {multiple}."
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} не є дійсним регулярним виразом."
 msgstr "{value} не є дійсним регулярним виразом."
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr ""
 msgstr ""
 "{self.__class__.__name__} повинен реалізувати get_required_permissions ()"
 "{self.__class__.__name__} повинен реалізувати get_required_permissions ()"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name} повинен реалізувати get_required_permissions()"
 msgstr "{class_name} повинен реалізувати get_required_permissions()"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

BIN
netbox/translations/zh/LC_MESSAGES/django.mo


+ 130 - 122
netbox/translations/zh/LC_MESSAGES/django.po

@@ -23,7 +23,7 @@ msgid ""
 msgstr ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2025-08-12 05:02+0000\n"
+"POT-Creation-Date: 2025-08-26 05:01+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "PO-Revision-Date: 2023-10-30 17:48+0000\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Last-Translator: Jeremy Stretch, 2025\n"
 "Language-Team: Chinese (https://app.transifex.com/netbox-community/teams/178115/zh/)\n"
 "Language-Team: Chinese (https://app.transifex.com/netbox-community/teams/178115/zh/)\n"
@@ -180,8 +180,8 @@ msgstr "分支节点"
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:215 netbox/dcim/filtersets.py:336
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:467 netbox/dcim/filtersets.py:1075
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
 #: netbox/dcim/filtersets.py:1397 netbox/dcim/filtersets.py:1495
-#: netbox/dcim/filtersets.py:2175 netbox/dcim/filtersets.py:2418
-#: netbox/dcim/filtersets.py:2476 netbox/ipam/filtersets.py:954
+#: netbox/dcim/filtersets.py:2188 netbox/dcim/filtersets.py:2431
+#: netbox/dcim/filtersets.py:2489 netbox/ipam/filtersets.py:954
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 #: netbox/virtualization/filtersets.py:139 netbox/vpn/filtersets.py:361
 msgid "Region (ID)"
 msgid "Region (ID)"
 msgstr "区域(ID)"
 msgstr "区域(ID)"
@@ -192,8 +192,8 @@ msgstr "区域(ID)"
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:222 netbox/dcim/filtersets.py:343
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:474 netbox/dcim/filtersets.py:1082
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:1502
-#: netbox/dcim/filtersets.py:2182 netbox/dcim/filtersets.py:2425
-#: netbox/dcim/filtersets.py:2483 netbox/extras/filtersets.py:602
+#: netbox/dcim/filtersets.py:2195 netbox/dcim/filtersets.py:2438
+#: netbox/dcim/filtersets.py:2496 netbox/extras/filtersets.py:602
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/ipam/filtersets.py:961 netbox/virtualization/filtersets.py:146
 #: netbox/vpn/filtersets.py:356
 #: netbox/vpn/filtersets.py:356
 msgid "Region (slug)"
 msgid "Region (slug)"
@@ -204,8 +204,8 @@ msgstr "地区(缩写)"
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:131 netbox/dcim/filtersets.py:228
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:349 netbox/dcim/filtersets.py:480
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
 #: netbox/dcim/filtersets.py:1088 netbox/dcim/filtersets.py:1410
-#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2188
-#: netbox/dcim/filtersets.py:2431 netbox/dcim/filtersets.py:2489
+#: netbox/dcim/filtersets.py:1508 netbox/dcim/filtersets.py:2201
+#: netbox/dcim/filtersets.py:2444 netbox/dcim/filtersets.py:2502
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/ipam/filtersets.py:239 netbox/ipam/filtersets.py:967
 #: netbox/virtualization/filtersets.py:152
 #: netbox/virtualization/filtersets.py:152
 msgid "Site group (ID)"
 msgid "Site group (ID)"
@@ -216,8 +216,8 @@ msgstr "站点组(ID)"
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:138 netbox/dcim/filtersets.py:235
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:356 netbox/dcim/filtersets.py:487
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
 #: netbox/dcim/filtersets.py:1095 netbox/dcim/filtersets.py:1417
-#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2195
-#: netbox/dcim/filtersets.py:2438 netbox/dcim/filtersets.py:2496
+#: netbox/dcim/filtersets.py:1515 netbox/dcim/filtersets.py:2208
+#: netbox/dcim/filtersets.py:2451 netbox/dcim/filtersets.py:2509
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/extras/filtersets.py:608 netbox/ipam/filtersets.py:246
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 #: netbox/ipam/filtersets.py:974 netbox/virtualization/filtersets.py:159
 msgid "Site group (slug)"
 msgid "Site group (slug)"
@@ -333,8 +333,8 @@ msgstr "线路类型(缩写)"
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/base_filtersets.py:47 netbox/dcim/filtersets.py:239
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:455
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
 #: netbox/dcim/filtersets.py:1099 netbox/dcim/filtersets.py:1422
-#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2200
-#: netbox/dcim/filtersets.py:2442 netbox/dcim/filtersets.py:2501
+#: netbox/dcim/filtersets.py:1520 netbox/dcim/filtersets.py:2213
+#: netbox/dcim/filtersets.py:2455 netbox/dcim/filtersets.py:2514
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/ipam/filtersets.py:251 netbox/ipam/filtersets.py:978
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 #: netbox/virtualization/filtersets.py:163 netbox/vpn/filtersets.py:371
 msgid "Site (ID)"
 msgid "Site (ID)"
@@ -344,7 +344,7 @@ msgstr "站点(ID)"
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/base_filtersets.py:59 netbox/dcim/filtersets.py:261
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:372 netbox/dcim/filtersets.py:493
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
 #: netbox/dcim/filtersets.py:1111 netbox/dcim/filtersets.py:1433
-#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2454
+#: netbox/dcim/filtersets.py:1531 netbox/dcim/filtersets.py:2467
 msgid "Location (ID)"
 msgid "Location (ID)"
 msgstr "位置(ID)"
 msgstr "位置(ID)"
 
 
@@ -356,7 +356,7 @@ msgstr "接入点A (ID)"
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/circuits/filtersets.py:537 netbox/core/filtersets.py:81
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/core/filtersets.py:140 netbox/core/filtersets.py:177
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
 #: netbox/dcim/filtersets.py:780 netbox/dcim/filtersets.py:1489
-#: netbox/dcim/filtersets.py:2549 netbox/extras/filtersets.py:45
+#: netbox/dcim/filtersets.py:2562 netbox/extras/filtersets.py:45
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:67 netbox/extras/filtersets.py:96
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:136 netbox/extras/filtersets.py:185
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
 #: netbox/extras/filtersets.py:213 netbox/extras/filtersets.py:243
@@ -365,7 +365,7 @@ msgstr "接入点A (ID)"
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:496 netbox/extras/filtersets.py:556
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:591 netbox/extras/filtersets.py:750
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
 #: netbox/extras/filtersets.py:800 netbox/ipam/forms/model_forms.py:492
-#: netbox/netbox/filtersets.py:289 netbox/netbox/forms/__init__.py:22
+#: netbox/netbox/filtersets.py:296 netbox/netbox/forms/__init__.py:22
 #: netbox/netbox/forms/base.py:167
 #: netbox/netbox/forms/base.py:167
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/htmx/object_selector.html:28
 #: netbox/templates/inc/filter_list.html:42
 #: netbox/templates/inc/filter_list.html:42
@@ -388,7 +388,7 @@ msgstr "搜索"
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:163
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/forms/model_forms.py:263
 #: netbox/circuits/tables/circuits.py:107
 #: netbox/circuits/tables/circuits.py:107
-#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:73
+#: netbox/circuits/tables/circuits.py:203 netbox/dcim/forms/connections.py:78
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuit.html:15
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuitgroupassignment.html:30
 #: netbox/templates/circuits/circuittermination.html:19
 #: netbox/templates/circuits/circuittermination.html:19
@@ -421,7 +421,7 @@ msgstr "电路 (ID)"
 msgid "Virtual circuit (CID)"
 msgid "Virtual circuit (CID)"
 msgstr "虚拟电路 (CID)"
 msgstr "虚拟电路 (CID)"
 
 
-#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1982
+#: netbox/circuits/filtersets.py:396 netbox/dcim/filtersets.py:1992
 msgid "Virtual circuit (ID)"
 msgid "Virtual circuit (ID)"
 msgstr "虚拟电路 (ID)"
 msgstr "虚拟电路 (ID)"
 
 
@@ -469,7 +469,7 @@ msgstr "接口(ID)"
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/circuits/tables/providers.py:32 netbox/dcim/forms/bulk_edit.py:137
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/model_forms.py:132
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
 #: netbox/dcim/tables/sites.py:108 netbox/ipam/models/asns.py:123
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:232
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:250
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/netbox/navigation/menu.py:179 netbox/netbox/navigation/menu.py:182
 #: netbox/templates/circuits/provider.html:23
 #: netbox/templates/circuits/provider.html:23
 msgid "ASNs"
 msgid "ASNs"
@@ -1930,7 +1930,7 @@ msgstr "评论"
 msgid "Assignments"
 msgid "Assignments"
 msgstr "分配"
 msgstr "分配"
 
 
-#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:81
+#: netbox/circuits/tables/circuits.py:116 netbox/dcim/forms/connections.py:86
 msgid "Side"
 msgid "Side"
 msgstr "端"
 msgstr "端"
 
 
@@ -1984,7 +1984,7 @@ msgstr "终端"
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1007 netbox/dcim/forms/bulk_import.py:1055
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1072 netbox/dcim/forms/bulk_import.py:1084
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
 #: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1254
-#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:24
+#: netbox/dcim/forms/bulk_import.py:1650 netbox/dcim/forms/connections.py:29
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:133 netbox/dcim/forms/filtersets.py:941
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:973 netbox/dcim/forms/filtersets.py:1119
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
 #: netbox/dcim/forms/filtersets.py:1310 netbox/dcim/forms/filtersets.py:1335
@@ -1995,7 +1995,7 @@ msgstr "终端"
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1713 netbox/dcim/forms/filtersets.py:1737
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/filtersets.py:1761 netbox/dcim/forms/model_forms.py:738
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
 #: netbox/dcim/forms/model_forms.py:955 netbox/dcim/forms/model_forms.py:1356
-#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1912
+#: netbox/dcim/forms/model_forms.py:1841 netbox/dcim/forms/model_forms.py:1914
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/forms/object_create.py:260 netbox/dcim/tables/connections.py:22
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
 #: netbox/dcim/tables/devices.py:299 netbox/dcim/tables/devices.py:384
@@ -2550,7 +2550,7 @@ msgstr "此对象类型 ({type}) 不支持更改日志记录。"
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/config.py:18 netbox/core/models/data.py:269
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/core/models/files.py:30 netbox/core/models/jobs.py:52
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
 #: netbox/extras/models/models.py:814 netbox/extras/models/notifications.py:39
-#: netbox/extras/models/notifications.py:192
+#: netbox/extras/models/notifications.py:195
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 #: netbox/netbox/models/features.py:54 netbox/users/models/tokens.py:32
 msgid "created"
 msgid "created"
 msgstr "已创建"
 msgstr "已创建"
@@ -3491,7 +3491,7 @@ msgstr "父级位置(缩写)"
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:542 netbox/dcim/filtersets.py:707
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:911 netbox/dcim/filtersets.py:985
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
 #: netbox/dcim/filtersets.py:1025 netbox/dcim/filtersets.py:1368
-#: netbox/dcim/filtersets.py:2108
+#: netbox/dcim/filtersets.py:2121
 msgid "Manufacturer (ID)"
 msgid "Manufacturer (ID)"
 msgstr "厂商(ID)"
 msgstr "厂商(ID)"
 
 
@@ -3499,7 +3499,7 @@ msgstr "厂商(ID)"
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:548 netbox/dcim/filtersets.py:713
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:917 netbox/dcim/filtersets.py:991
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
 #: netbox/dcim/filtersets.py:1031 netbox/dcim/filtersets.py:1374
-#: netbox/dcim/filtersets.py:2114
+#: netbox/dcim/filtersets.py:2127
 msgid "Manufacturer (slug)"
 msgid "Manufacturer (slug)"
 msgstr "厂商 (缩写)"
 msgstr "厂商 (缩写)"
 
 
@@ -3512,14 +3512,14 @@ msgid "Rack type (ID)"
 msgstr "机架类型 (ID)"
 msgstr "机架类型 (ID)"
 
 
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
 #: netbox/dcim/filtersets.py:414 netbox/dcim/filtersets.py:921
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2118
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:2131
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:376 netbox/ipam/filtersets.py:488
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 #: netbox/ipam/filtersets.py:998 netbox/virtualization/filtersets.py:177
 msgid "Role (ID)"
 msgid "Role (ID)"
 msgstr "角色(ID)"
 msgstr "角色(ID)"
 
 
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
 #: netbox/dcim/filtersets.py:420 netbox/dcim/filtersets.py:927
-#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2124
+#: netbox/dcim/filtersets.py:1054 netbox/dcim/filtersets.py:2137
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/extras/filtersets.py:651 netbox/ipam/filtersets.py:382
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/ipam/filtersets.py:494 netbox/ipam/filtersets.py:1004
 #: netbox/virtualization/filtersets.py:184
 #: netbox/virtualization/filtersets.py:184
@@ -3528,7 +3528,7 @@ msgstr "角色 (缩写)"
 
 
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:450 netbox/dcim/filtersets.py:1123
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
 #: netbox/dcim/filtersets.py:1444 netbox/dcim/filtersets.py:1542
-#: netbox/dcim/filtersets.py:2516
+#: netbox/dcim/filtersets.py:2529
 msgid "Rack (ID)"
 msgid "Rack (ID)"
 msgstr "机柜(ID)"
 msgstr "机柜(ID)"
 
 
@@ -3626,7 +3626,7 @@ msgstr "模块类型(ID)"
 msgid "Power port (ID)"
 msgid "Power port (ID)"
 msgstr "电源接口(ID)"
 msgstr "电源接口(ID)"
 
 
-#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2104
+#: netbox/dcim/filtersets.py:907 netbox/dcim/filtersets.py:2117
 msgid "Parent inventory item (ID)"
 msgid "Parent inventory item (ID)"
 msgstr "上一级库存项(ID)"
 msgstr "上一级库存项(ID)"
 
 
@@ -3661,8 +3661,8 @@ msgid "Platform (slug)"
 msgstr "平台(缩写)"
 msgstr "平台(缩写)"
 
 
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
 #: netbox/dcim/filtersets.py:1105 netbox/dcim/filtersets.py:1428
-#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2206
-#: netbox/dcim/filtersets.py:2448 netbox/dcim/filtersets.py:2507
+#: netbox/dcim/filtersets.py:1526 netbox/dcim/filtersets.py:2219
+#: netbox/dcim/filtersets.py:2461 netbox/dcim/filtersets.py:2520
 msgid "Site name (slug)"
 msgid "Site name (slug)"
 msgstr "站点名字 (缩写)"
 msgstr "站点名字 (缩写)"
 
 
@@ -3912,30 +3912,38 @@ msgid "VLAN Translation Policy"
 msgstr "VLAN 转换策略"
 msgstr "VLAN 转换策略"
 
 
 #: netbox/dcim/filtersets.py:1891
 #: netbox/dcim/filtersets.py:1891
+msgid "Virtual Chassis Interfaces for Device when device is master"
+msgstr "设备为主设备时设备的虚拟机箱接口"
+
+#: netbox/dcim/filtersets.py:1896
+msgid "Virtual Chassis Interfaces for Device when device is master (ID)"
+msgstr "设备为主设备时设备的虚拟机箱接口 (ID)"
+
+#: netbox/dcim/filtersets.py:1901
 msgid "Virtual Chassis Interfaces for Device"
 msgid "Virtual Chassis Interfaces for Device"
 msgstr "设备的集群接口"
 msgstr "设备的集群接口"
 
 
-#: netbox/dcim/filtersets.py:1896
+#: netbox/dcim/filtersets.py:1906
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgid "Virtual Chassis Interfaces for Device (ID)"
 msgstr "设备的集群接口(ID)"
 msgstr "设备的集群接口(ID)"
 
 
-#: netbox/dcim/filtersets.py:1900
+#: netbox/dcim/filtersets.py:1910
 msgid "Kind of interface"
 msgid "Kind of interface"
 msgstr "接口类型"
 msgstr "接口类型"
 
 
-#: netbox/dcim/filtersets.py:1905 netbox/virtualization/filtersets.py:261
+#: netbox/dcim/filtersets.py:1915 netbox/virtualization/filtersets.py:261
 msgid "Parent interface (ID)"
 msgid "Parent interface (ID)"
 msgstr "父级接口(ID)"
 msgstr "父级接口(ID)"
 
 
-#: netbox/dcim/filtersets.py:1910 netbox/virtualization/filtersets.py:266
+#: netbox/dcim/filtersets.py:1920 netbox/virtualization/filtersets.py:266
 msgid "Bridged interface (ID)"
 msgid "Bridged interface (ID)"
 msgstr "桥接接口(ID)"
 msgstr "桥接接口(ID)"
 
 
-#: netbox/dcim/filtersets.py:1915
+#: netbox/dcim/filtersets.py:1925
 msgid "LAG interface (ID)"
 msgid "LAG interface (ID)"
 msgstr "链路聚合接口(ID)"
 msgstr "链路聚合接口(ID)"
 
 
-#: netbox/dcim/filtersets.py:1923 netbox/dcim/tables/devices.py:616
+#: netbox/dcim/filtersets.py:1933 netbox/dcim/tables/devices.py:616
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/dcim/tables/devices.py:1145 netbox/templates/dcim/interface.html:131
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:11
 #: netbox/templates/dcim/macaddress.html:14
 #: netbox/templates/dcim/macaddress.html:14
@@ -3943,78 +3951,78 @@ msgstr "链路聚合接口(ID)"
 msgid "MAC Address"
 msgid "MAC Address"
 msgstr "MAC 地址"
 msgstr "MAC 地址"
 
 
-#: netbox/dcim/filtersets.py:1928 netbox/virtualization/filtersets.py:275
+#: netbox/dcim/filtersets.py:1938 netbox/virtualization/filtersets.py:275
 msgid "Primary MAC address (ID)"
 msgid "Primary MAC address (ID)"
 msgstr "主 MAC 地址 (ID)"
 msgstr "主 MAC 地址 (ID)"
 
 
-#: netbox/dcim/filtersets.py:1934 netbox/dcim/forms/model_forms.py:1540
+#: netbox/dcim/filtersets.py:1944 netbox/dcim/forms/model_forms.py:1540
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/filtersets.py:281
 #: netbox/virtualization/forms/model_forms.py:311
 #: netbox/virtualization/forms/model_forms.py:311
 msgid "Primary MAC address"
 msgid "Primary MAC address"
 msgstr "主 MAC 地址"
 msgstr "主 MAC 地址"
 
 
-#: netbox/dcim/filtersets.py:1956 netbox/dcim/filtersets.py:1968
+#: netbox/dcim/filtersets.py:1966 netbox/dcim/filtersets.py:1978
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/dcim/forms/filtersets.py:1423 netbox/dcim/forms/model_forms.py:1867
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 #: netbox/templates/dcim/virtualdevicecontext.html:15
 msgid "Virtual Device Context"
 msgid "Virtual Device Context"
 msgstr "虚拟设备上下文"
 msgstr "虚拟设备上下文"
 
 
-#: netbox/dcim/filtersets.py:1962
+#: netbox/dcim/filtersets.py:1972
 msgid "Virtual Device Context (Identifier)"
 msgid "Virtual Device Context (Identifier)"
 msgstr "虚拟设备上下文(ID)"
 msgstr "虚拟设备上下文(ID)"
 
 
-#: netbox/dcim/filtersets.py:1973
+#: netbox/dcim/filtersets.py:1983
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/templates/wireless/wirelesslan.html:11
 #: netbox/wireless/forms/model_forms.py:57
 #: netbox/wireless/forms/model_forms.py:57
 msgid "Wireless LAN"
 msgid "Wireless LAN"
 msgstr "无线局域网"
 msgstr "无线局域网"
 
 
-#: netbox/dcim/filtersets.py:1977 netbox/dcim/tables/devices.py:645
+#: netbox/dcim/filtersets.py:1987 netbox/dcim/tables/devices.py:645
 msgid "Wireless link"
 msgid "Wireless link"
 msgstr "无线连接"
 msgstr "无线连接"
 
 
-#: netbox/dcim/filtersets.py:1987
+#: netbox/dcim/filtersets.py:1997
 msgid "Virtual circuit termination (ID)"
 msgid "Virtual circuit termination (ID)"
 msgstr "虚拟电路终止 (ID)"
 msgstr "虚拟电路终止 (ID)"
 
 
-#: netbox/dcim/filtersets.py:2071
+#: netbox/dcim/filtersets.py:2084
 msgid "Parent module bay (ID)"
 msgid "Parent module bay (ID)"
 msgstr "父模块托架 (ID)"
 msgstr "父模块托架 (ID)"
 
 
-#: netbox/dcim/filtersets.py:2076
+#: netbox/dcim/filtersets.py:2089
 msgid "Installed module (ID)"
 msgid "Installed module (ID)"
 msgstr "已安装模块(ID)"
 msgstr "已安装模块(ID)"
 
 
-#: netbox/dcim/filtersets.py:2087
+#: netbox/dcim/filtersets.py:2100
 msgid "Installed device (ID)"
 msgid "Installed device (ID)"
 msgstr "已安装设备(ID)"
 msgstr "已安装设备(ID)"
 
 
-#: netbox/dcim/filtersets.py:2093
+#: netbox/dcim/filtersets.py:2106
 msgid "Installed device (name)"
 msgid "Installed device (name)"
 msgstr "已安装设备(名称)"
 msgstr "已安装设备(名称)"
 
 
-#: netbox/dcim/filtersets.py:2163
+#: netbox/dcim/filtersets.py:2176
 msgid "Master (ID)"
 msgid "Master (ID)"
 msgstr "主设备(ID)"
 msgstr "主设备(ID)"
 
 
-#: netbox/dcim/filtersets.py:2169
+#: netbox/dcim/filtersets.py:2182
 msgid "Master (name)"
 msgid "Master (name)"
 msgstr "主设备(名称)"
 msgstr "主设备(名称)"
 
 
-#: netbox/dcim/filtersets.py:2211 netbox/tenancy/filtersets.py:250
+#: netbox/dcim/filtersets.py:2224 netbox/tenancy/filtersets.py:250
 msgid "Tenant (ID)"
 msgid "Tenant (ID)"
 msgstr "租户(ID)"
 msgstr "租户(ID)"
 
 
-#: netbox/dcim/filtersets.py:2217 netbox/extras/filtersets.py:711
+#: netbox/dcim/filtersets.py:2230 netbox/extras/filtersets.py:711
 #: netbox/tenancy/filtersets.py:256
 #: netbox/tenancy/filtersets.py:256
 msgid "Tenant (slug)"
 msgid "Tenant (slug)"
 msgstr "租户(缩写)"
 msgstr "租户(缩写)"
 
 
-#: netbox/dcim/filtersets.py:2253 netbox/dcim/forms/filtersets.py:1145
+#: netbox/dcim/filtersets.py:2266 netbox/dcim/forms/filtersets.py:1145
 msgid "Unterminated"
 msgid "Unterminated"
 msgstr "未接终端"
 msgstr "未接终端"
 
 
-#: netbox/dcim/filtersets.py:2511
+#: netbox/dcim/filtersets.py:2524
 msgid "Power panel (ID)"
 msgid "Power panel (ID)"
 msgstr "电源面板(ID)"
 msgstr "电源面板(ID)"
 
 
@@ -4029,7 +4037,7 @@ msgstr "电源面板(ID)"
 msgid "Tags"
 msgid "Tags"
 msgstr "标签"
 msgstr "标签"
 
 
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1586
+#: netbox/dcim/forms/bulk_create.py:115 netbox/dcim/forms/filtersets.py:1586
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/model_forms.py:592 netbox/dcim/forms/model_forms.py:651
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:208
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
 #: netbox/dcim/forms/object_create.py:357 netbox/dcim/tables/devices.py:179
@@ -4041,7 +4049,7 @@ msgstr "标签"
 msgid "Position"
 msgid "Position"
 msgstr "位置"
 msgstr "位置"
 
 
-#: netbox/dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:117
 msgid ""
 msgid ""
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "Alphanumeric ranges are supported. (Must match the number of names being "
 "created.)"
 "created.)"
@@ -5266,7 +5274,7 @@ msgstr "无法选定 {model} {name} ,因为它已属于某个模块"
 msgid "A {model} named {name} already exists"
 msgid "A {model} named {name} already exists"
 msgstr "名为 {name} 的 {model} 已存在"
 msgstr "名为 {name} 的 {model} 已存在"
 
 
-#: netbox/dcim/forms/connections.py:49 netbox/dcim/forms/model_forms.py:843
+#: netbox/dcim/forms/connections.py:54 netbox/dcim/forms/model_forms.py:843
 #: netbox/dcim/tables/power.py:66
 #: netbox/dcim/tables/power.py:66
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/inc/cable_termination.html:42
 #: netbox/templates/dcim/powerfeed.html:24
 #: netbox/templates/dcim/powerfeed.html:24
@@ -5275,7 +5283,7 @@ msgstr "名为 {name} 的 {model} 已存在"
 msgid "Power Panel"
 msgid "Power Panel"
 msgstr "电源面板"
 msgstr "电源面板"
 
 
-#: netbox/dcim/forms/connections.py:58 netbox/dcim/forms/model_forms.py:871
+#: netbox/dcim/forms/connections.py:63 netbox/dcim/forms/model_forms.py:871
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerfeed.html:21
 #: netbox/templates/dcim/powerport.html:80
 #: netbox/templates/dcim/powerport.html:80
 msgid "Power Feed"
 msgid "Power Feed"
@@ -5673,11 +5681,11 @@ msgstr "库存项"
 msgid "Inventory Item Role"
 msgid "Inventory Item Role"
 msgstr "库存物品分类"
 msgstr "库存物品分类"
 
 
-#: netbox/dcim/forms/model_forms.py:1898
+#: netbox/dcim/forms/model_forms.py:1899
 msgid "VM Interface"
 msgid "VM Interface"
 msgstr "虚拟机接口"
 msgstr "虚拟机接口"
 
 
-#: netbox/dcim/forms/model_forms.py:1913 netbox/ipam/forms/filtersets.py:631
+#: netbox/dcim/forms/model_forms.py:1915 netbox/ipam/forms/filtersets.py:631
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/ipam/forms/model_forms.py:334 netbox/ipam/tables/vlans.py:173
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualdisk.html:21
 #: netbox/templates/virtualization/virtualmachine.html:12
 #: netbox/templates/virtualization/virtualmachine.html:12
@@ -5694,7 +5702,7 @@ msgstr "虚拟机接口"
 msgid "Virtual Machine"
 msgid "Virtual Machine"
 msgstr "虚拟机"
 msgstr "虚拟机"
 
 
-#: netbox/dcim/forms/model_forms.py:1952
+#: netbox/dcim/forms/model_forms.py:1954
 msgid "A MAC address can only be assigned to a single object."
 msgid "A MAC address can only be assigned to a single object."
 msgstr "MAC 地址只能分配给单个对象。"
 msgstr "MAC 地址只能分配给单个对象。"
 
 
@@ -7415,7 +7423,7 @@ msgstr "电源插座"
 
 
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devices.py:260 netbox/dcim/tables/devices.py:1122
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
 #: netbox/dcim/tables/devicetypes.py:133 netbox/dcim/views.py:1173
-#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2226
+#: netbox/dcim/views.py:1473 netbox/dcim/views.py:2235
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/netbox/navigation/menu.py:95 netbox/netbox/navigation/menu.py:259
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device/base.html:37
 #: netbox/templates/dcim/device_list.html:43
 #: netbox/templates/dcim/device_list.html:43
@@ -7455,7 +7463,7 @@ msgstr "设备板卡插槽"
 
 
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devices.py:331 netbox/dcim/tables/devicetypes.py:52
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
 #: netbox/dcim/tables/devicetypes.py:148 netbox/dcim/views.py:1248
-#: netbox/dcim/views.py:2324 netbox/netbox/navigation/menu.py:104
+#: netbox/dcim/views.py:2333 netbox/netbox/navigation/menu.py:104
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device/base.html:52
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/device_list.html:71
 #: netbox/templates/dcim/devicetype/base.html:49
 #: netbox/templates/dcim/devicetype/base.html:49
@@ -7485,8 +7493,8 @@ msgid "Allocated draw (W)"
 msgstr "分配功率(W)"
 msgstr "分配功率(W)"
 
 
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
 #: netbox/dcim/tables/devices.py:582 netbox/ipam/forms/model_forms.py:785
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:632
-#: netbox/ipam/views.py:733 netbox/netbox/navigation/menu.py:165
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:650
+#: netbox/ipam/views.py:751 netbox/netbox/navigation/menu.py:165
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/netbox/navigation/menu.py:167
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/dcim/interface.html:396
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
 #: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -7591,7 +7599,7 @@ msgid "Instances"
 msgstr "实例"
 msgstr "实例"
 
 
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
 #: netbox/dcim/tables/devicetypes.py:121 netbox/dcim/views.py:1113
-#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2162
+#: netbox/dcim/views.py:1413 netbox/dcim/views.py:2171
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/netbox/navigation/menu.py:98
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device/base.html:25
 #: netbox/templates/dcim/device_list.html:15
 #: netbox/templates/dcim/device_list.html:15
@@ -7602,7 +7610,7 @@ msgid "Console Ports"
 msgstr "Console口"
 msgstr "Console口"
 
 
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
 #: netbox/dcim/tables/devicetypes.py:124 netbox/dcim/views.py:1128
-#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2178
+#: netbox/dcim/views.py:1428 netbox/dcim/views.py:2187
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/netbox/navigation/menu.py:99
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device/base.html:28
 #: netbox/templates/dcim/device_list.html:22
 #: netbox/templates/dcim/device_list.html:22
@@ -7613,7 +7621,7 @@ msgid "Console Server Ports"
 msgstr "Console 服务端口"
 msgstr "Console 服务端口"
 
 
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
 #: netbox/dcim/tables/devicetypes.py:127 netbox/dcim/views.py:1143
-#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2194
+#: netbox/dcim/views.py:1443 netbox/dcim/views.py:2203
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/netbox/navigation/menu.py:100
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device/base.html:31
 #: netbox/templates/dcim/device_list.html:29
 #: netbox/templates/dcim/device_list.html:29
@@ -7624,7 +7632,7 @@ msgid "Power Ports"
 msgstr "电源接口"
 msgstr "电源接口"
 
 
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
 #: netbox/dcim/tables/devicetypes.py:130 netbox/dcim/views.py:1158
-#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2210
+#: netbox/dcim/views.py:1458 netbox/dcim/views.py:2219
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/netbox/navigation/menu.py:101
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device/base.html:34
 #: netbox/templates/dcim/device_list.html:36
 #: netbox/templates/dcim/device_list.html:36
@@ -7635,7 +7643,7 @@ msgid "Power Outlets"
 msgstr "PDU"
 msgstr "PDU"
 
 
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
 #: netbox/dcim/tables/devicetypes.py:136 netbox/dcim/views.py:1188
-#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2248
+#: netbox/dcim/views.py:1488 netbox/dcim/views.py:2257
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/netbox/navigation/menu.py:96
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/device/base.html:40
 #: netbox/templates/dcim/devicetype/base.html:37
 #: netbox/templates/dcim/devicetype/base.html:37
@@ -7645,7 +7653,7 @@ msgid "Front Ports"
 msgstr "前置端口"
 msgstr "前置端口"
 
 
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
 #: netbox/dcim/tables/devicetypes.py:139 netbox/dcim/views.py:1203
-#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2264
+#: netbox/dcim/views.py:1503 netbox/dcim/views.py:2273
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/netbox/navigation/menu.py:97
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device/base.html:43
 #: netbox/templates/dcim/device_list.html:50
 #: netbox/templates/dcim/device_list.html:50
@@ -7656,7 +7664,7 @@ msgid "Rear Ports"
 msgstr "后置端口"
 msgstr "后置端口"
 
 
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
 #: netbox/dcim/tables/devicetypes.py:142 netbox/dcim/views.py:1233
-#: netbox/dcim/views.py:2304 netbox/netbox/navigation/menu.py:103
+#: netbox/dcim/views.py:2313 netbox/netbox/navigation/menu.py:103
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device/base.html:49
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/device_list.html:57
 #: netbox/templates/dcim/devicetype/base.html:46
 #: netbox/templates/dcim/devicetype/base.html:46
@@ -7664,7 +7672,7 @@ msgid "Device Bays"
 msgstr "机柜托架"
 msgstr "机柜托架"
 
 
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
 #: netbox/dcim/tables/devicetypes.py:145 netbox/dcim/views.py:1218
-#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2284
+#: netbox/dcim/views.py:1518 netbox/dcim/views.py:2293
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/netbox/navigation/menu.py:102
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device/base.html:46
 #: netbox/templates/dcim/device_list.html:64
 #: netbox/templates/dcim/device_list.html:64
@@ -7752,48 +7760,48 @@ msgstr "机柜预留"
 msgid "Non-Racked Devices"
 msgid "Non-Racked Devices"
 msgstr "未上架设备"
 msgstr "未上架设备"
 
 
-#: netbox/dcim/views.py:2337 netbox/extras/forms/model_forms.py:659
+#: netbox/dcim/views.py:2346 netbox/extras/forms/model_forms.py:659
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/templates/extras/configcontext.html:10
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/forms/model_forms.py:232
 #: netbox/virtualization/views.py:436
 #: netbox/virtualization/views.py:436
 msgid "Config Context"
 msgid "Config Context"
 msgstr "配置实例"
 msgstr "配置实例"
 
 
-#: netbox/dcim/views.py:2347 netbox/virtualization/views.py:446
+#: netbox/dcim/views.py:2356 netbox/virtualization/views.py:446
 msgid "Render Config"
 msgid "Render Config"
 msgstr "提交配置"
 msgstr "提交配置"
 
 
-#: netbox/dcim/views.py:2360 netbox/extras/tables/tables.py:611
+#: netbox/dcim/views.py:2369 netbox/extras/tables/tables.py:611
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/netbox/navigation/menu.py:256 netbox/netbox/navigation/menu.py:258
 #: netbox/virtualization/views.py:208
 #: netbox/virtualization/views.py:208
 msgid "Virtual Machines"
 msgid "Virtual Machines"
 msgstr "虚拟机"
 msgstr "虚拟机"
 
 
-#: netbox/dcim/views.py:3193
+#: netbox/dcim/views.py:3202
 #, python-brace-format
 #, python-brace-format
 msgid "Installed device {device} in bay {device_bay}."
 msgid "Installed device {device} in bay {device_bay}."
 msgstr "已安装的设备 {device} 在海湾里 {device_bay}。"
 msgstr "已安装的设备 {device} 在海湾里 {device_bay}。"
 
 
-#: netbox/dcim/views.py:3234
+#: netbox/dcim/views.py:3243
 #, python-brace-format
 #, python-brace-format
 msgid "Removed device {device} from bay {device_bay}."
 msgid "Removed device {device} from bay {device_bay}."
 msgstr "已移除的设备 {device} 来自海湾 {device_bay}。"
 msgstr "已移除的设备 {device} 来自海湾 {device_bay}。"
 
 
-#: netbox/dcim/views.py:3350 netbox/ipam/tables/ip.py:181
+#: netbox/dcim/views.py:3359 netbox/ipam/tables/ip.py:181
 msgid "Children"
 msgid "Children"
 msgstr "子网"
 msgstr "子网"
 
 
-#: netbox/dcim/views.py:3817
+#: netbox/dcim/views.py:3826
 #, python-brace-format
 #, python-brace-format
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgid "Added member <a href=\"{url}\">{device}</a>"
 msgstr "已添加成员 <a href=\"{url}\">{device}</a>"
 msgstr "已添加成员 <a href=\"{url}\">{device}</a>"
 
 
-#: netbox/dcim/views.py:3866
+#: netbox/dcim/views.py:3875
 #, python-brace-format
 #, python-brace-format
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgid "Unable to remove master device {device} from the virtual chassis."
 msgstr "无法移除主设备 {device} 来自虚拟机箱。"
 msgstr "无法移除主设备 {device} 来自虚拟机箱。"
 
 
-#: netbox/dcim/views.py:3879
+#: netbox/dcim/views.py:3888
 #, python-brace-format
 #, python-brace-format
 msgid "Removed {device} from virtual chassis {chassis}"
 msgid "Removed {device} from virtual chassis {chassis}"
 msgstr "已移除 {device} 来自虚拟机箱 {chassis}"
 msgstr "已移除 {device} 来自虚拟机箱 {chassis}"
@@ -9038,97 +9046,97 @@ msgstr "否"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgid "Values must match this regex: <code>{regex}</code>"
 msgstr "值必须与此正则表达式匹配: <code>{regex}</code>"
 msgstr "值必须与此正则表达式匹配: <code>{regex}</code>"
 
 
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:679
 msgid "Value must be a string."
 msgid "Value must be a string."
 msgstr "值必须为字符串"
 msgstr "值必须为字符串"
 
 
-#: netbox/extras/models/customfields.py:673
+#: netbox/extras/models/customfields.py:681
 #, python-brace-format
 #, python-brace-format
 msgid "Value must match regex '{regex}'"
 msgid "Value must match regex '{regex}'"
 msgstr "值必须与正则表达式'{regex}'匹配"
 msgstr "值必须与正则表达式'{regex}'匹配"
 
 
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:686
 msgid "Value must be an integer."
 msgid "Value must be an integer."
 msgstr "值必须是整数。"
 msgstr "值必须是整数。"
 
 
-#: netbox/extras/models/customfields.py:681
-#: netbox/extras/models/customfields.py:696
+#: netbox/extras/models/customfields.py:689
+#: netbox/extras/models/customfields.py:704
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be at least {minimum}"
 msgid "Value must be at least {minimum}"
 msgstr "值最少为{minimum}"
 msgstr "值最少为{minimum}"
 
 
-#: netbox/extras/models/customfields.py:685
-#: netbox/extras/models/customfields.py:700
+#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:708
 #, python-brace-format
 #, python-brace-format
 msgid "Value must not exceed {maximum}"
 msgid "Value must not exceed {maximum}"
 msgstr "值最大为{maximum}"
 msgstr "值最大为{maximum}"
 
 
-#: netbox/extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:701
 msgid "Value must be a decimal."
 msgid "Value must be a decimal."
 msgstr "值必须是十进制。"
 msgstr "值必须是十进制。"
 
 
-#: netbox/extras/models/customfields.py:705
+#: netbox/extras/models/customfields.py:713
 msgid "Value must be true or false."
 msgid "Value must be true or false."
 msgstr "值必须为true或false。"
 msgstr "值必须为true或false。"
 
 
-#: netbox/extras/models/customfields.py:713
+#: netbox/extras/models/customfields.py:721
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
 msgstr "日期格式必须为 ISO 8601  格式(YYYY-MM-DD)."
 msgstr "日期格式必须为 ISO 8601  格式(YYYY-MM-DD)."
 
 
-#: netbox/extras/models/customfields.py:722
+#: netbox/extras/models/customfields.py:730
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
 msgstr "日期和时间必须遵循 ISO 8601 格式 (YYYY-MM-DD HH:MM:SS)."
 msgstr "日期和时间必须遵循 ISO 8601 格式 (YYYY-MM-DD HH:MM:SS)."
 
 
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:737
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgid "Invalid choice ({value}) for choice set {choiceset}."
 msgstr "选项集{choiceset}的选项({value})无效。"
 msgstr "选项集{choiceset}的选项({value})无效。"
 
 
-#: netbox/extras/models/customfields.py:739
+#: netbox/extras/models/customfields.py:747
 #, python-brace-format
 #, python-brace-format
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
 msgstr "选项集{choiceset}的选项({value})无效。"
 msgstr "选项集{choiceset}的选项({value})无效。"
 
 
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:756
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be an object ID, not {type}"
 msgid "Value must be an object ID, not {type}"
 msgstr "值必须为对象ID, 不是 {type}"
 msgstr "值必须为对象ID, 不是 {type}"
 
 
-#: netbox/extras/models/customfields.py:754
+#: netbox/extras/models/customfields.py:762
 #, python-brace-format
 #, python-brace-format
 msgid "Value must be a list of object IDs, not {type}"
 msgid "Value must be a list of object IDs, not {type}"
 msgstr "值必须为对象ID的列表,不是 {type}"
 msgstr "值必须为对象ID的列表,不是 {type}"
 
 
-#: netbox/extras/models/customfields.py:758
+#: netbox/extras/models/customfields.py:766
 #, python-brace-format
 #, python-brace-format
 msgid "Found invalid object ID: {id}"
 msgid "Found invalid object ID: {id}"
 msgstr "发现错误的对象ID: {id}"
 msgstr "发现错误的对象ID: {id}"
 
 
-#: netbox/extras/models/customfields.py:761
+#: netbox/extras/models/customfields.py:769
 msgid "Required field cannot be empty."
 msgid "Required field cannot be empty."
 msgstr "必填字段不能为空。"
 msgstr "必填字段不能为空。"
 
 
-#: netbox/extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:789
 msgid "Base set of predefined choices (optional)"
 msgid "Base set of predefined choices (optional)"
 msgstr "预定义选项的基本集合(可选)"
 msgstr "预定义选项的基本集合(可选)"
 
 
-#: netbox/extras/models/customfields.py:793
+#: netbox/extras/models/customfields.py:801
 msgid "Choices are automatically ordered alphabetically"
 msgid "Choices are automatically ordered alphabetically"
 msgstr "选项会自动按字母顺序排列"
 msgstr "选项会自动按字母顺序排列"
 
 
-#: netbox/extras/models/customfields.py:800
+#: netbox/extras/models/customfields.py:808
 msgid "custom field choice set"
 msgid "custom field choice set"
 msgstr "自定义字段选择集"
 msgstr "自定义字段选择集"
 
 
-#: netbox/extras/models/customfields.py:801
+#: netbox/extras/models/customfields.py:809
 msgid "custom field choice sets"
 msgid "custom field choice sets"
 msgstr "自定义字段选择集"
 msgstr "自定义字段选择集"
 
 
-#: netbox/extras/models/customfields.py:843
+#: netbox/extras/models/customfields.py:851
 msgid "Must define base or extra choices."
 msgid "Must define base or extra choices."
 msgstr "必须定义基本选项或额外选项。"
 msgstr "必须定义基本选项或额外选项。"
 
 
-#: netbox/extras/models/customfields.py:867
+#: netbox/extras/models/customfields.py:875
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "Cannot remove choice {choice} as there are {model} objects which reference "
 "Cannot remove choice {choice} as there are {model} objects which reference "
@@ -9492,7 +9500,7 @@ msgid "notifications"
 msgstr "通知"
 msgstr "通知"
 
 
 #: netbox/extras/models/notifications.py:99
 #: netbox/extras/models/notifications.py:99
-#: netbox/extras/models/notifications.py:240
+#: netbox/extras/models/notifications.py:243
 #, python-brace-format
 #, python-brace-format
 msgid "Objects of this type ({type}) do not support notifications."
 msgid "Objects of this type ({type}) do not support notifications."
 msgstr "这种类型的对象 ({type}) 不支持通知。"
 msgstr "这种类型的对象 ({type}) 不支持通知。"
@@ -9514,11 +9522,11 @@ msgstr "通知组"
 msgid "notification groups"
 msgid "notification groups"
 msgstr "通知组"
 msgstr "通知组"
 
 
-#: netbox/extras/models/notifications.py:223
+#: netbox/extras/models/notifications.py:226
 msgid "subscription"
 msgid "subscription"
 msgstr "订阅"
 msgstr "订阅"
 
 
-#: netbox/extras/models/notifications.py:224
+#: netbox/extras/models/notifications.py:227
 msgid "subscriptions"
 msgid "subscriptions"
 msgstr "订阅"
 msgstr "订阅"
 
 
@@ -10440,7 +10448,7 @@ msgstr "DNS名称"
 
 
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/forms/filtersets.py:440 netbox/ipam/models/vlans.py:280
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
 #: netbox/ipam/tables/ip.py:123 netbox/ipam/tables/vlans.py:51
-#: netbox/ipam/views.py:1024 netbox/netbox/navigation/menu.py:200
+#: netbox/ipam/views.py:1042 netbox/netbox/navigation/menu.py:200
 #: netbox/netbox/navigation/menu.py:202
 #: netbox/netbox/navigation/menu.py:202
 msgid "VLANs"
 msgid "VLANs"
 msgstr "VLANs"
 msgstr "VLANs"
@@ -11040,7 +11048,7 @@ msgid "Added"
 msgstr "已添加"
 msgstr "已添加"
 
 
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
 #: netbox/ipam/tables/ip.py:75 netbox/ipam/tables/ip.py:113
-#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:375
+#: netbox/ipam/tables/vlans.py:120 netbox/ipam/views.py:393
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/netbox/navigation/menu.py:172 netbox/netbox/navigation/menu.py:174
 #: netbox/templates/ipam/vlan.html:100
 #: netbox/templates/ipam/vlan.html:100
 msgid "Prefixes"
 msgid "Prefixes"
@@ -11180,26 +11188,26 @@ msgid ""
 "are allowed in DNS names"
 "are allowed in DNS names"
 msgstr "DNS 名称中仅允许使用字母数字字符、星号、连字符、句点和下划线"
 msgstr "DNS 名称中仅允许使用字母数字字符、星号、连字符、句点和下划线"
 
 
-#: netbox/ipam/views.py:569
+#: netbox/ipam/views.py:64 netbox/ipam/views.py:1337
+msgid "Device Interfaces"
+msgstr "设备接口"
+
+#: netbox/ipam/views.py:69 netbox/ipam/views.py:1355
+msgid "VM Interfaces"
+msgstr "VM接口"
+
+#: netbox/ipam/views.py:587
 msgid "Child Prefixes"
 msgid "Child Prefixes"
 msgstr "下级前缀"
 msgstr "下级前缀"
 
 
-#: netbox/ipam/views.py:605
+#: netbox/ipam/views.py:623
 msgid "Child Ranges"
 msgid "Child Ranges"
 msgstr "子类地址访问"
 msgstr "子类地址访问"
 
 
-#: netbox/ipam/views.py:951
+#: netbox/ipam/views.py:969
 msgid "Related IPs"
 msgid "Related IPs"
 msgstr "关联IP"
 msgstr "关联IP"
 
 
-#: netbox/ipam/views.py:1319
-msgid "Device Interfaces"
-msgstr "设备接口"
-
-#: netbox/ipam/views.py:1337
-msgid "VM Interfaces"
-msgstr "VM接口"
-
 #: netbox/netbox/api/fields.py:66
 #: netbox/netbox/api/fields.py:66
 msgid "This field may not be blank."
 msgid "This field may not be blank."
 msgstr "此字段不能为空。"
 msgstr "此字段不能为空。"
@@ -16141,17 +16149,17 @@ msgstr "{value} 必须是的倍数 {multiple}。"
 msgid "{value} is not a valid regular expression."
 msgid "{value} is not a valid regular expression."
 msgstr "{value} 不是有效的正则表达式。"
 msgstr "{value} 不是有效的正则表达式。"
 
 
-#: netbox/utilities/views.py:57
+#: netbox/utilities/views.py:75
 #, python-brace-format
 #, python-brace-format
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgid "{self.__class__.__name__} must implement get_required_permission()"
 msgstr "{self.__class__.__name__}必须实现get_required_permission()方法"
 msgstr "{self.__class__.__name__}必须实现get_required_permission()方法"
 
 
-#: netbox/utilities/views.py:93
+#: netbox/utilities/views.py:111
 #, python-brace-format
 #, python-brace-format
 msgid "{class_name} must implement get_required_permission()"
 msgid "{class_name} must implement get_required_permission()"
 msgstr "{class_name}必须实现get_required_permission()方法"
 msgstr "{class_name}必须实现get_required_permission()方法"
 
 
-#: netbox/utilities/views.py:117
+#: netbox/utilities/views.py:135
 #, python-brace-format
 #, python-brace-format
 msgid ""
 msgid ""
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
 "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"

+ 2 - 0
netbox/utilities/forms/fields/csv.py

@@ -114,6 +114,8 @@ class CSVMultipleContentTypeField(forms.ModelMultipleChoiceField):
 
 
     # TODO: Improve validation of selected ContentTypes
     # TODO: Improve validation of selected ContentTypes
     def prepare_value(self, value):
     def prepare_value(self, value):
+        if not value:
+            return None
         if type(value) is str:
         if type(value) is str:
             ct_filter = Q()
             ct_filter = Q()
             for name in value.split(','):
             for name in value.split(','):

+ 1 - 1
netbox/utilities/templates/buttons/add.html

@@ -1,3 +1,3 @@
-<a href="{{ url }}" class="btn btn-primary" role="button">
+<a href="{{ url }}{% if return_url %}?return_url={{ return_url }}{% endif %}" class="btn btn-primary" role="button">
   <i class="mdi mdi-plus-thick" aria-hidden="true"></i> {{  label }}
   <i class="mdi mdi-plus-thick" aria-hidden="true"></i> {{  label }}
 </a>
 </a>

+ 2 - 1
netbox/utilities/templatetags/buttons.py

@@ -164,7 +164,7 @@ def sync_button(instance):
 
 
 # TODO: Remove in NetBox v4.7
 # TODO: Remove in NetBox v4.7
 @register.inclusion_tag('buttons/add.html')
 @register.inclusion_tag('buttons/add.html')
-def add_button(model, action='add'):
+def add_button(model, action='add', return_url=None):
     try:
     try:
         url = get_action_url(model, action=action)
         url = get_action_url(model, action=action)
     except NoReverseMatch:
     except NoReverseMatch:
@@ -173,6 +173,7 @@ def add_button(model, action='add'):
     return {
     return {
         'url': url,
         'url': url,
         'label': _('Add'),
         'label': _('Add'),
+        'return_url': return_url,
     }
     }
 
 
 
 

+ 36 - 5
netbox/utilities/views.py

@@ -1,16 +1,20 @@
+from dataclasses import dataclass
 from typing import Iterable
 from typing import Iterable
 
 
 from django.conf import settings
 from django.conf import settings
 from django.contrib.auth.mixins import AccessMixin
 from django.contrib.auth.mixins import AccessMixin
 from django.core.exceptions import ImproperlyConfigured
 from django.core.exceptions import ImproperlyConfigured
+from django.db.models import QuerySet
 from django.urls import reverse
 from django.urls import reverse
 from django.urls.exceptions import NoReverseMatch
 from django.urls.exceptions import NoReverseMatch
 from django.utils.translation import gettext_lazy as _
 from django.utils.translation import gettext_lazy as _
 
 
+from netbox.api.authentication import TokenAuthentication
 from netbox.plugins import PluginConfig
 from netbox.plugins import PluginConfig
 from netbox.registry import registry
 from netbox.registry import registry
 from utilities.relations import get_related_models
 from utilities.relations import get_related_models
 from utilities.request import safe_for_redirect
 from utilities.request import safe_for_redirect
+from utilities.string import title
 from .permissions import resolve_permission
 from .permissions import resolve_permission
 
 
 __all__ = (
 __all__ = (
@@ -19,6 +23,7 @@ __all__ = (
     'GetRelatedModelsMixin',
     'GetRelatedModelsMixin',
     'GetReturnURLMixin',
     'GetReturnURLMixin',
     'ObjectPermissionRequiredMixin',
     'ObjectPermissionRequiredMixin',
+    'TokenConditionalLoginRequiredMixin',
     'ViewTab',
     'ViewTab',
     'get_action_url',
     'get_action_url',
     'get_viewname',
     'get_viewname',
@@ -40,6 +45,19 @@ class ConditionalLoginRequiredMixin(AccessMixin):
         return super().dispatch(request, *args, **kwargs)
         return super().dispatch(request, *args, **kwargs)
 
 
 
 
+class TokenConditionalLoginRequiredMixin(ConditionalLoginRequiredMixin):
+    def dispatch(self, request, *args, **kwargs):
+        # Attempt to authenticate the user using a DRF token, if provided
+        if settings.LOGIN_REQUIRED and not request.user.is_authenticated:
+            authenticator = TokenAuthentication()
+            auth_info = authenticator.authenticate(request)
+            if auth_info is not None:
+                request.user = auth_info[0]  # User object
+                request.auth = auth_info[1]
+
+        return super().dispatch(request, *args, **kwargs)
+
+
 class ContentTypePermissionRequiredMixin(ConditionalLoginRequiredMixin):
 class ContentTypePermissionRequiredMixin(ConditionalLoginRequiredMixin):
     """
     """
     Similar to Django's built-in PermissionRequiredMixin, but extended to check model-level permission assignments.
     Similar to Django's built-in PermissionRequiredMixin, but extended to check model-level permission assignments.
@@ -163,8 +181,17 @@ class GetRelatedModelsMixin:
     """
     """
     Provides logic for collecting all related models for the currently viewed model.
     Provides logic for collecting all related models for the currently viewed model.
     """
     """
+    @dataclass
+    class RelatedObjectCount:
+        queryset: QuerySet
+        filter_param: str
+        label: str = ''
+
+        @property
+        def name(self):
+            return self.label or title(_(self.queryset.model._meta.verbose_name_plural))
 
 
-    def get_related_models(self, request, instance, omit=[], extra=[]):
+    def get_related_models(self, request, instance, omit=None, extra=None):
         """
         """
         Get related models of the view's `queryset` model without those listed in `omit`. Will be sorted alphabetical.
         Get related models of the view's `queryset` model without those listed in `omit`. Will be sorted alphabetical.
 
 
@@ -177,6 +204,7 @@ class GetRelatedModelsMixin:
             extra: Add extra models to the list of automatically determined related models. Can be used to add indirect
             extra: Add extra models to the list of automatically determined related models. Can be used to add indirect
                 relationships.
                 relationships.
         """
         """
+        omit = omit or []
         model = self.queryset.model
         model = self.queryset.model
         related = filter(
         related = filter(
             lambda m: m[0] is not model and m[0] not in omit,
             lambda m: m[0] is not model and m[0] not in omit,
@@ -184,7 +212,7 @@ class GetRelatedModelsMixin:
         )
         )
 
 
         related_models = [
         related_models = [
-            (
+            self.RelatedObjectCount(
                 model.objects.restrict(request.user, 'view').filter(**(
                 model.objects.restrict(request.user, 'view').filter(**(
                     {f'{field}__in': instance}
                     {f'{field}__in': instance}
                     if isinstance(instance, Iterable)
                     if isinstance(instance, Iterable)
@@ -194,11 +222,14 @@ class GetRelatedModelsMixin:
             )
             )
             for model, field in related
             for model, field in related
         ]
         ]
-        related_models.extend(extra)
+        if extra is not None:
+            related_models.extend([
+                self.RelatedObjectCount(*attrs) for attrs in extra
+            ])
 
 
         return sorted(
         return sorted(
-            filter(lambda qs: qs[0].exists(), related_models),
-            key=lambda qs: qs[0].model._meta.verbose_name.lower(),
+            filter(lambda roc: roc.queryset.exists(), related_models),
+            key=lambda roc: roc.name,
         )
         )
 
 
 
 

+ 5 - 5
requirements.txt

@@ -21,9 +21,9 @@ drf-spectacular-sidecar==2025.8.1
 feedparser==6.0.11
 feedparser==6.0.11
 gunicorn==23.0.0
 gunicorn==23.0.0
 Jinja2==3.1.6
 Jinja2==3.1.6
-jsonschema==4.25.0
+jsonschema==4.25.1
 Markdown==3.8.2
 Markdown==3.8.2
-mkdocs-material==9.6.16
+mkdocs-material==9.6.18
 mkdocstrings==0.30.0
 mkdocstrings==0.30.0
 mkdocstrings-python==1.18.2
 mkdocstrings-python==1.18.2
 netaddr==1.3.0
 netaddr==1.3.0
@@ -31,12 +31,12 @@ nh3==0.3.0
 Pillow==11.3.0
 Pillow==11.3.0
 psycopg[c,pool]==3.2.9
 psycopg[c,pool]==3.2.9
 PyYAML==6.0.2
 PyYAML==6.0.2
-requests==2.32.4
-rq==2.4.1
+requests==2.32.5
+rq==2.5.0
 social-auth-app-django==5.5.1
 social-auth-app-django==5.5.1
 social-auth-core==4.7.0
 social-auth-core==4.7.0
 sorl-thumbnail==12.11.0
 sorl-thumbnail==12.11.0
-strawberry-graphql==0.278.1
+strawberry-graphql==0.281.0
 strawberry-graphql-django==0.65.1
 strawberry-graphql-django==0.65.1
 svgwrite==1.4.3
 svgwrite==1.4.3
 tablib==3.8.0
 tablib==3.8.0

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików