From 65e40603ff970c42624af9e1bbffe1c1a05cc8c7 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 05:01:53 +0000 Subject: [PATCH 01/42] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 189 ++++++++++--------- 1 file changed, 99 insertions(+), 90 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 6334d3b9b..532824654 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-22 05:02+0000\n" +"POT-Creation-Date: 2024-06-25 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -299,6 +299,7 @@ msgstr "" #: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92 #: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104 +#: netbox/utilities/templates/navigation/menu.html:16 msgid "Search" msgstr "" @@ -1095,7 +1096,7 @@ msgstr "" #: netbox/dcim/models/device_component_templates.py:61 #: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 -#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60 +#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60 #: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424 #: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32 #: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109 @@ -1134,7 +1135,7 @@ msgstr "" #: netbox/dcim/models/power.py:39 netbox/dcim/models/power.py:92 #: netbox/dcim/models/racks.py:63 netbox/dcim/models/sites.py:138 #: netbox/extras/models/configs.py:36 netbox/extras/models/configs.py:215 -#: netbox/extras/models/customfields.py:90 netbox/extras/models/models.py:55 +#: netbox/extras/models/customfields.py:91 netbox/extras/models/models.py:55 #: netbox/extras/models/models.py:181 netbox/extras/models/models.py:324 #: netbox/extras/models/models.py:420 netbox/extras/models/models.py:529 #: netbox/extras/models/models.py:624 netbox/extras/models/scripts.py:30 @@ -1773,7 +1774,7 @@ msgstr "" #: netbox/dcim/models/device_components.py:606 #: netbox/dcim/models/device_components.py:971 #: netbox/dcim/models/device_components.py:1045 netbox/dcim/models/power.py:102 -#: netbox/dcim/models/racks.py:128 netbox/extras/models/customfields.py:76 +#: netbox/dcim/models/racks.py:128 netbox/extras/models/customfields.py:77 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 msgid "type" @@ -4536,7 +4537,7 @@ msgstr "" #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 #: netbox/dcim/models/device_components.py:63 -#: netbox/extras/models/customfields.py:109 +#: netbox/extras/models/customfields.py:110 msgid "label" msgstr "" @@ -5581,7 +5582,7 @@ msgstr "" msgid "Numeric identifier unique to the parent device" msgstr "" -#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210 +#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211 #: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722 #: netbox/netbox/models/__init__.py:114 msgid "comments" @@ -5923,43 +5924,43 @@ msgstr "" msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "" -#: netbox/dcim/tables/cables.py:54 +#: netbox/dcim/tables/cables.py:55 msgid "Termination A" msgstr "" -#: netbox/dcim/tables/cables.py:59 +#: netbox/dcim/tables/cables.py:60 msgid "Termination B" msgstr "" -#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22 +#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22 msgid "Device A" msgstr "" -#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31 +#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31 msgid "Device B" msgstr "" -#: netbox/dcim/tables/cables.py:77 +#: netbox/dcim/tables/cables.py:78 msgid "Location A" msgstr "" -#: netbox/dcim/tables/cables.py:83 +#: netbox/dcim/tables/cables.py:84 msgid "Location B" msgstr "" -#: netbox/dcim/tables/cables.py:89 +#: netbox/dcim/tables/cables.py:90 msgid "Rack A" msgstr "" -#: netbox/dcim/tables/cables.py:95 +#: netbox/dcim/tables/cables.py:96 msgid "Rack B" msgstr "" -#: netbox/dcim/tables/cables.py:101 +#: netbox/dcim/tables/cables.py:102 msgid "Site A" msgstr "" -#: netbox/dcim/tables/cables.py:107 +#: netbox/dcim/tables/cables.py:108 msgid "Site B" msgstr "" @@ -6856,13 +6857,13 @@ msgstr "" #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57 #: netbox/extras/forms/filtersets.py:79 -#: netbox/extras/models/customfields.py:194 +#: netbox/extras/models/customfields.py:195 msgid "UI visible" msgstr "" #: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63 #: netbox/extras/forms/filtersets.py:84 -#: netbox/extras/models/customfields.py:201 +#: netbox/extras/models/customfields.py:202 msgid "UI editable" msgstr "" @@ -7462,112 +7463,112 @@ msgstr "" msgid "config templates" msgstr "" -#: netbox/extras/models/customfields.py:73 +#: netbox/extras/models/customfields.py:74 msgid "The object(s) to which this field applies." msgstr "" -#: netbox/extras/models/customfields.py:80 +#: netbox/extras/models/customfields.py:81 msgid "The type of data this custom field holds" msgstr "" -#: netbox/extras/models/customfields.py:87 +#: netbox/extras/models/customfields.py:88 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" -#: netbox/extras/models/customfields.py:93 +#: netbox/extras/models/customfields.py:94 msgid "Internal field name" msgstr "" -#: netbox/extras/models/customfields.py:97 +#: netbox/extras/models/customfields.py:98 msgid "Only alphanumeric characters and underscores are allowed." msgstr "" -#: netbox/extras/models/customfields.py:102 +#: netbox/extras/models/customfields.py:103 msgid "Double underscores are not permitted in custom field names." msgstr "" -#: netbox/extras/models/customfields.py:113 +#: netbox/extras/models/customfields.py:114 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" msgstr "" -#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345 +#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345 msgid "group name" msgstr "" -#: netbox/extras/models/customfields.py:120 +#: netbox/extras/models/customfields.py:121 msgid "Custom fields within the same group will be displayed together" msgstr "" -#: netbox/extras/models/customfields.py:128 +#: netbox/extras/models/customfields.py:129 msgid "required" msgstr "" -#: netbox/extras/models/customfields.py:130 +#: netbox/extras/models/customfields.py:131 msgid "" "If true, this field is required when creating new objects or editing an " "existing object." msgstr "" -#: netbox/extras/models/customfields.py:133 +#: netbox/extras/models/customfields.py:134 msgid "search weight" msgstr "" -#: netbox/extras/models/customfields.py:136 +#: netbox/extras/models/customfields.py:137 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." msgstr "" -#: netbox/extras/models/customfields.py:141 +#: netbox/extras/models/customfields.py:142 msgid "filter logic" msgstr "" -#: netbox/extras/models/customfields.py:145 +#: netbox/extras/models/customfields.py:146 msgid "" "Loose matches any instance of a given string; exact matches the entire field." msgstr "" -#: netbox/extras/models/customfields.py:148 +#: netbox/extras/models/customfields.py:149 msgid "default" msgstr "" -#: netbox/extras/models/customfields.py:152 +#: netbox/extras/models/customfields.py:153 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with " "double quotes (e.g. \"Foo\")." msgstr "" -#: netbox/extras/models/customfields.py:157 +#: netbox/extras/models/customfields.py:158 msgid "display weight" msgstr "" -#: netbox/extras/models/customfields.py:158 +#: netbox/extras/models/customfields.py:159 msgid "Fields with higher weights appear lower in a form." msgstr "" -#: netbox/extras/models/customfields.py:163 +#: netbox/extras/models/customfields.py:164 msgid "minimum value" msgstr "" -#: netbox/extras/models/customfields.py:164 +#: netbox/extras/models/customfields.py:165 msgid "Minimum allowed value (for numeric fields)" msgstr "" -#: netbox/extras/models/customfields.py:169 +#: netbox/extras/models/customfields.py:170 msgid "maximum value" msgstr "" -#: netbox/extras/models/customfields.py:170 +#: netbox/extras/models/customfields.py:171 msgid "Maximum allowed value (for numeric fields)" msgstr "" -#: netbox/extras/models/customfields.py:176 +#: netbox/extras/models/customfields.py:177 msgid "validation regex" msgstr "" -#: netbox/extras/models/customfields.py:178 +#: netbox/extras/models/customfields.py:179 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -7575,168 +7576,168 @@ msgid "" "values to exactly three uppercase letters." msgstr "" -#: netbox/extras/models/customfields.py:186 +#: netbox/extras/models/customfields.py:187 msgid "choice set" msgstr "" -#: netbox/extras/models/customfields.py:195 +#: netbox/extras/models/customfields.py:196 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" -#: netbox/extras/models/customfields.py:202 +#: netbox/extras/models/customfields.py:203 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" -#: netbox/extras/models/customfields.py:206 +#: netbox/extras/models/customfields.py:207 msgid "is cloneable" msgstr "" -#: netbox/extras/models/customfields.py:207 +#: netbox/extras/models/customfields.py:208 msgid "Replicate this value when cloning objects" msgstr "" -#: netbox/extras/models/customfields.py:224 +#: netbox/extras/models/customfields.py:225 msgid "custom field" msgstr "" -#: netbox/extras/models/customfields.py:225 +#: netbox/extras/models/customfields.py:226 msgid "custom fields" msgstr "" -#: netbox/extras/models/customfields.py:314 +#: netbox/extras/models/customfields.py:315 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "" -#: netbox/extras/models/customfields.py:321 +#: netbox/extras/models/customfields.py:322 msgid "A minimum value may be set only for numeric fields" msgstr "" -#: netbox/extras/models/customfields.py:323 +#: netbox/extras/models/customfields.py:324 msgid "A maximum value may be set only for numeric fields" msgstr "" -#: netbox/extras/models/customfields.py:333 +#: netbox/extras/models/customfields.py:334 msgid "Regular expression validation is supported only for text and URL fields" msgstr "" -#: netbox/extras/models/customfields.py:343 +#: netbox/extras/models/customfields.py:344 msgid "Selection fields must specify a set of choices." msgstr "" -#: netbox/extras/models/customfields.py:347 +#: netbox/extras/models/customfields.py:348 msgid "Choices may be set only on selection fields." msgstr "" -#: netbox/extras/models/customfields.py:354 +#: netbox/extras/models/customfields.py:355 msgid "Object fields must define an object type." msgstr "" -#: netbox/extras/models/customfields.py:359 +#: netbox/extras/models/customfields.py:360 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "" -#: netbox/extras/models/customfields.py:439 +#: netbox/extras/models/customfields.py:440 msgid "True" msgstr "" -#: netbox/extras/models/customfields.py:440 +#: netbox/extras/models/customfields.py:441 msgid "False" msgstr "" -#: netbox/extras/models/customfields.py:522 +#: netbox/extras/models/customfields.py:523 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" -#: netbox/extras/models/customfields.py:616 +#: netbox/extras/models/customfields.py:617 msgid "Value must be a string." msgstr "" -#: netbox/extras/models/customfields.py:618 +#: netbox/extras/models/customfields.py:619 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "" -#: netbox/extras/models/customfields.py:623 +#: netbox/extras/models/customfields.py:624 msgid "Value must be an integer." msgstr "" -#: netbox/extras/models/customfields.py:626 -#: netbox/extras/models/customfields.py:641 +#: netbox/extras/models/customfields.py:627 +#: netbox/extras/models/customfields.py:642 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "" -#: netbox/extras/models/customfields.py:630 -#: netbox/extras/models/customfields.py:645 +#: netbox/extras/models/customfields.py:631 +#: netbox/extras/models/customfields.py:646 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "" -#: netbox/extras/models/customfields.py:638 +#: netbox/extras/models/customfields.py:639 msgid "Value must be a decimal." msgstr "" -#: netbox/extras/models/customfields.py:650 +#: netbox/extras/models/customfields.py:651 msgid "Value must be true or false." msgstr "" -#: netbox/extras/models/customfields.py:658 +#: netbox/extras/models/customfields.py:659 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." msgstr "" -#: netbox/extras/models/customfields.py:671 +#: netbox/extras/models/customfields.py:672 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" -#: netbox/extras/models/customfields.py:678 +#: netbox/extras/models/customfields.py:679 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "" -#: netbox/extras/models/customfields.py:688 +#: netbox/extras/models/customfields.py:689 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "" -#: netbox/extras/models/customfields.py:697 +#: netbox/extras/models/customfields.py:698 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "" -#: netbox/extras/models/customfields.py:703 +#: netbox/extras/models/customfields.py:704 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "" -#: netbox/extras/models/customfields.py:707 +#: netbox/extras/models/customfields.py:708 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "" -#: netbox/extras/models/customfields.py:710 +#: netbox/extras/models/customfields.py:711 msgid "Required field cannot be empty." msgstr "" -#: netbox/extras/models/customfields.py:729 +#: netbox/extras/models/customfields.py:730 msgid "Base set of predefined choices (optional)" msgstr "" -#: netbox/extras/models/customfields.py:741 +#: netbox/extras/models/customfields.py:742 msgid "Choices are automatically ordered alphabetically" msgstr "" -#: netbox/extras/models/customfields.py:748 +#: netbox/extras/models/customfields.py:749 msgid "custom field choice set" msgstr "" -#: netbox/extras/models/customfields.py:749 +#: netbox/extras/models/customfields.py:750 msgid "custom field choice sets" msgstr "" -#: netbox/extras/models/customfields.py:785 +#: netbox/extras/models/customfields.py:786 msgid "Must define base or extra choices." msgstr "" @@ -8147,19 +8148,19 @@ msgstr "" msgid "Script Execution Parameters" msgstr "" -#: netbox/extras/scripts.py:664 +#: netbox/extras/scripts.py:666 msgid "Database changes have been reverted automatically." msgstr "" -#: netbox/extras/scripts.py:677 +#: netbox/extras/scripts.py:679 msgid "Script aborted with error: " msgstr "" -#: netbox/extras/scripts.py:687 +#: netbox/extras/scripts.py:689 msgid "An exception occurred: " msgstr "" -#: netbox/extras/scripts.py:690 +#: netbox/extras/scripts.py:692 msgid "Database changes have been reverted due to error." msgstr "" @@ -14060,6 +14061,14 @@ msgstr "" msgid "Move Down" msgstr "" +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search…" +msgstr "" + +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search NetBox" +msgstr "" + #: netbox/utilities/templates/widgets/apiselect.html:7 msgid "Open selector" msgstr "" @@ -14081,17 +14090,17 @@ msgstr "" msgid "{value} is not a valid regular expression." msgstr "" -#: netbox/utilities/views.py:44 +#: netbox/utilities/views.py:45 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "" -#: netbox/utilities/views.py:80 +#: netbox/utilities/views.py:81 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "" -#: netbox/utilities/views.py:104 +#: netbox/utilities/views.py:105 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only " From 33004dfab0679547b2a33b84b39f6b96f08201ae Mon Sep 17 00:00:00 2001 From: Jeff Gehlbach Date: Tue, 25 Jun 2024 16:21:32 -0400 Subject: [PATCH 02/42] Added missing CDN cache clearing step to release checklist in docs --- docs/development/release-checklist.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/development/release-checklist.md b/docs/development/release-checklist.md index 91162f08a..019eb2a6c 100644 --- a/docs/development/release-checklist.md +++ b/docs/development/release-checklist.md @@ -135,4 +135,6 @@ First, run the `build-site` action, by navigating to Actions > build-site > Run Once the documentation files have been compiled, they must be published by running the `deploy-kinsta` action. Select the desired deployment environment (staging or production) and specify `latest` as the deploy tag. +Clear the CDN cache from the [Kinsta](https://my.kinsta.com/) portal. Navigate to _Sites_ / _NetBox Labs_ / _Live_, select _CDN_ in the left-nav, click the _Clear CDN cache_ button, and confirm the clear operation. + Finally, verify that the documentation at has been updated. From b605dfcba09f36ff1d69d4140dea4074cad68026 Mon Sep 17 00:00:00 2001 From: Julio Oliveira at Encora <149191228+Julio-Oliveira-Encora@users.noreply.github.com> Date: Wed, 26 Jun 2024 10:14:08 -0300 Subject: [PATCH 03/42] 16704 - Define a default help_text for ColorField (#16708) * Added `help_text` to ColorField. * Addressed PR comment to remove the redundant help_text from all the forms where ColorField was used. * Add space before example value --------- Co-authored-by: Jeremy Stretch --- netbox/circuits/forms/bulk_import.py | 3 --- netbox/dcim/forms/bulk_import.py | 12 ------------ netbox/extras/forms/bulk_import.py | 3 --- netbox/utilities/fields.py | 2 ++ 4 files changed, 2 insertions(+), 18 deletions(-) diff --git a/netbox/circuits/forms/bulk_import.py b/netbox/circuits/forms/bulk_import.py index 1ceb44b60..88fdd2c71 100644 --- a/netbox/circuits/forms/bulk_import.py +++ b/netbox/circuits/forms/bulk_import.py @@ -66,9 +66,6 @@ class CircuitTypeImportForm(NetBoxModelImportForm): class Meta: model = CircuitType fields = ('name', 'slug', 'color', 'description', 'tags') - help_texts = { - 'color': mark_safe(_('RGB color in hexadecimal. Example:') + ' 00ff00'), - } class CircuitImportForm(NetBoxModelImportForm): diff --git a/netbox/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index 5a64cad02..1c537512c 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -174,9 +174,6 @@ class RackRoleImportForm(NetBoxModelImportForm): class Meta: model = RackRole fields = ('name', 'slug', 'color', 'description', 'tags') - help_texts = { - 'color': mark_safe(_('RGB color in hexadecimal. Example:') + ' 00ff00'), - } class RackImportForm(NetBoxModelImportForm): @@ -384,9 +381,6 @@ class DeviceRoleImportForm(NetBoxModelImportForm): class Meta: model = DeviceRole fields = ('name', 'slug', 'color', 'vm_role', 'config_template', 'description', 'tags') - help_texts = { - 'color': mark_safe(_('RGB color in hexadecimal. Example:') + ' 00ff00'), - } class PlatformImportForm(NetBoxModelImportForm): @@ -1104,9 +1098,6 @@ class InventoryItemRoleImportForm(NetBoxModelImportForm): class Meta: model = InventoryItemRole fields = ('name', 'slug', 'color', 'description') - help_texts = { - 'color': mark_safe(_('RGB color in hexadecimal. Example:') + ' 00ff00'), - } # @@ -1183,9 +1174,6 @@ class CableImportForm(NetBoxModelImportForm): 'side_a_device', 'side_a_type', 'side_a_name', 'side_b_device', 'side_b_type', 'side_b_name', 'type', 'status', 'tenant', 'label', 'color', 'length', 'length_unit', 'description', 'comments', 'tags', ] - help_texts = { - 'color': mark_safe(_('RGB color in hexadecimal. Example:') + ' 00ff00'), - } def _clean_side(self, side): """ diff --git a/netbox/extras/forms/bulk_import.py b/netbox/extras/forms/bulk_import.py index c09eed3da..f2cf0b721 100644 --- a/netbox/extras/forms/bulk_import.py +++ b/netbox/extras/forms/bulk_import.py @@ -228,9 +228,6 @@ class TagImportForm(CSVModelForm): class Meta: model = Tag fields = ('name', 'slug', 'color', 'description') - help_texts = { - 'color': mark_safe(_('RGB color in hexadecimal. Example:') + ' 00ff00'), - } class JournalEntryImportForm(NetBoxModelImportForm): diff --git a/netbox/utilities/fields.py b/netbox/utilities/fields.py index 2640f6886..ee71223cb 100644 --- a/netbox/utilities/fields.py +++ b/netbox/utilities/fields.py @@ -2,6 +2,7 @@ from collections import defaultdict from django.contrib.contenttypes.fields import GenericForeignKey from django.db import models +from django.utils.safestring import mark_safe from django.utils.translation import gettext_lazy as _ from utilities.ordering import naturalize @@ -26,6 +27,7 @@ class ColorField(models.CharField): def formfield(self, **kwargs): kwargs['widget'] = ColorSelect + kwargs['help_text'] = mark_safe(_('RGB color in hexadecimal. Example: ') + '00ff00') return super().formfield(**kwargs) From b241c97e0059affc799d7f788c74b8326a8b66c3 Mon Sep 17 00:00:00 2001 From: Julio Oliveira at Encora <149191228+Julio-Oliveira-Encora@users.noreply.github.com> Date: Wed, 26 Jun 2024 10:54:15 -0300 Subject: [PATCH 04/42] =?UTF-8?q?Was=20added=20to=20searching=20support=20?= =?UTF-8?q?languages=20other=20than=20English=20for=20objec=E2=80=A6=20(#1?= =?UTF-8?q?6706)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Was added to searching support languages other than English for object types(s). * Fix SearchForm field label translation --------- Co-authored-by: Jeremy Stretch --- netbox/netbox/forms/__init__.py | 5 +++-- netbox/netbox/search/backends.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/netbox/netbox/forms/__init__.py b/netbox/netbox/forms/__init__.py index fa82689a5..f88fb18bc 100644 --- a/netbox/netbox/forms/__init__.py +++ b/netbox/netbox/forms/__init__.py @@ -1,7 +1,7 @@ import re from django import forms -from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy as _ from netbox.search import LookupTypes from netbox.search.backends import search_backend @@ -36,7 +36,8 @@ class SearchForm(forms.Form): lookup = forms.ChoiceField( choices=LOOKUP_CHOICES, initial=LookupTypes.PARTIAL, - required=False + required=False, + label=_('Lookup') ) def __init__(self, *args, **kwargs): diff --git a/netbox/netbox/search/backends.py b/netbox/netbox/search/backends.py index 227a79205..12243e9b6 100644 --- a/netbox/netbox/search/backends.py +++ b/netbox/netbox/search/backends.py @@ -8,6 +8,7 @@ from django.db.models.fields.related import ForeignKey from django.db.models.functions import window from django.db.models.signals import post_delete, post_save from django.utils.module_loading import import_string +from django.utils.translation import gettext_lazy as _ import netaddr from netaddr.core import AddrFormatError @@ -39,7 +40,7 @@ class SearchBackend: # Organize choices by category categories = defaultdict(dict) for label, idx in registry['search'].items(): - categories[idx.get_category()][label] = title(idx.model._meta.verbose_name) + categories[idx.get_category()][label] = _(title(idx.model._meta.verbose_name)) # Compile a nested tuple of choices for form rendering results = ( From c506f60f1208796deda36e6bea4c8f77a8d13a16 Mon Sep 17 00:00:00 2001 From: Julio Oliveira at Encora <149191228+Julio-Oliveira-Encora@users.noreply.github.com> Date: Wed, 26 Jun 2024 11:13:32 -0300 Subject: [PATCH 05/42] 16424 - Allow filtering of Devices by Cluster and Cluster Group (#16674) * Allow filtering Devices by Cluster and Cluster Group. * Allow filtering Devices by Cluster and Cluster Group. * Added tests for cluster and cluster_groups filterset. * Add missing filter & complete tests --------- Co-authored-by: Jeremy Stretch --- netbox/dcim/filtersets.py | 13 ++++++++++++- netbox/dcim/forms/filtersets.py | 12 ++++++++++++ netbox/dcim/tests/test_filtersets.py | 21 +++++++++++++++++---- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 2fb1e9949..0848966e8 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -20,7 +20,7 @@ from utilities.filters import ( ContentTypeFilter, MultiValueCharFilter, MultiValueMACAddressFilter, MultiValueNumberFilter, MultiValueWWNFilter, NumericArrayFilter, TreeNodeMultipleChoiceFilter, ) -from virtualization.models import Cluster +from virtualization.models import Cluster, ClusterGroup from vpn.models import L2VPN from wireless.choices import WirelessRoleChoices, WirelessChannelChoices from wireless.models import WirelessLAN, WirelessLink @@ -1018,6 +1018,17 @@ class DeviceFilterSet( queryset=Cluster.objects.all(), label=_('VM cluster (ID)'), ) + cluster_group = django_filters.ModelMultipleChoiceFilter( + field_name='cluster__group__slug', + queryset=ClusterGroup.objects.all(), + to_field_name='slug', + label=_('Cluster group (slug)'), + ) + cluster_group_id = django_filters.ModelMultipleChoiceFilter( + field_name='cluster__group', + queryset=ClusterGroup.objects.all(), + label=_('Cluster group (ID)'), + ) model = django_filters.ModelMultipleChoiceFilter( field_name='device_type__slug', queryset=DeviceType.objects.all(), diff --git a/netbox/dcim/forms/filtersets.py b/netbox/dcim/forms/filtersets.py index 0a28a4ec4..22e66763b 100644 --- a/netbox/dcim/forms/filtersets.py +++ b/netbox/dcim/forms/filtersets.py @@ -14,6 +14,7 @@ from utilities.forms import BOOLEAN_WITH_BLANK_CHOICES, FilterForm, add_blank_ch from utilities.forms.fields import ColorField, DynamicModelMultipleChoiceField, TagFilterField from utilities.forms.rendering import FieldSet from utilities.forms.widgets import NumberWithOptions +from virtualization.models import Cluster, ClusterGroup from vpn.models import L2VPN from wireless.choices import * @@ -655,6 +656,7 @@ class DeviceFilterForm( 'console_ports', 'console_server_ports', 'power_ports', 'power_outlets', 'interfaces', 'pass_through_ports', name=_('Components') ), + FieldSet('cluster_group_id', 'cluster_id', name=_('Cluster')), FieldSet( 'has_primary_ip', 'has_oob_ip', 'virtual_chassis_member', 'config_template_id', 'local_context_data', 'has_virtual_device_context', @@ -821,6 +823,16 @@ class DeviceFilterForm( choices=BOOLEAN_WITH_BLANK_CHOICES ) ) + cluster_id = DynamicModelMultipleChoiceField( + queryset=Cluster.objects.all(), + required=False, + label=_('Cluster') + ) + cluster_group_id = DynamicModelMultipleChoiceField( + queryset=ClusterGroup.objects.all(), + required=False, + label=_('Cluster group') + ) tag = TagFilterField(model) diff --git a/netbox/dcim/tests/test_filtersets.py b/netbox/dcim/tests/test_filtersets.py index 0a22f5a82..d08e2707f 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -9,7 +9,7 @@ from ipam.models import ASN, IPAddress, RIR, VRF from netbox.choices import ColorChoices from tenancy.models import Tenant, TenantGroup from utilities.testing import ChangeLoggedFilterSetTests, create_test_device -from virtualization.models import Cluster, ClusterType +from virtualization.models import Cluster, ClusterType, ClusterGroup from wireless.choices import WirelessChannelChoices, WirelessRoleChoices User = get_user_model() @@ -1959,10 +1959,16 @@ class DeviceTestCase(TestCase, ChangeLoggedFilterSetTests): Rack.objects.bulk_create(racks) cluster_type = ClusterType.objects.create(name='Cluster Type 1', slug='cluster-type-1') + cluster_groups = ( + ClusterGroup(name='Cluster Group 1', slug='cluster-group-1'), + ClusterGroup(name='Cluster Group 2', slug='cluster-group-2'), + ClusterGroup(name='Cluster Group 3', slug='cluster-group-3'), + ) + ClusterGroup.objects.bulk_create(cluster_groups) clusters = ( - Cluster(name='Cluster 1', type=cluster_type), - Cluster(name='Cluster 2', type=cluster_type), - Cluster(name='Cluster 3', type=cluster_type), + Cluster(name='Cluster 1', type=cluster_type, group=cluster_groups[0]), + Cluster(name='Cluster 2', type=cluster_type, group=cluster_groups[1]), + Cluster(name='Cluster 3', type=cluster_type, group=cluster_groups[2]), ) Cluster.objects.bulk_create(clusters) @@ -2213,6 +2219,13 @@ class DeviceTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'cluster_id': [clusters[0].pk, clusters[1].pk]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_cluster_group(self): + cluster_groups = ClusterGroup.objects.all()[:2] + params = {'cluster_group_id': [cluster_groups[0].pk, cluster_groups[1].pk]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + params = {'cluster_group': [cluster_groups[0].slug, cluster_groups[1].slug]} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) + def test_model(self): params = {'model': ['model-1', 'model-2']} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) From c7dcded74fdf8d846ac12f40d03b036015db7ce6 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Jun 2024 05:02:05 +0000 Subject: [PATCH 06/42] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 901 ++++++++++--------- 1 file changed, 453 insertions(+), 448 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 532824654..ebbf64e44 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-25 05:01+0000\n" +"POT-Creation-Date: 2024-06-27 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -107,8 +107,8 @@ msgstr "" #: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151 #: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297 #: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969 -#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832 -#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133 +#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843 +#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945 #: netbox/virtualization/filtersets.py:45 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377 @@ -119,8 +119,8 @@ msgstr "" #: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157 #: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304 #: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976 -#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839 -#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140 +#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850 +#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151 #: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372 @@ -130,9 +130,9 @@ msgstr "" #: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209 #: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224 #: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419 -#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318 -#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088 -#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352 +#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329 +#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099 +#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352 #: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" @@ -141,9 +141,9 @@ msgstr "" #: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216 #: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231 #: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426 -#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325 -#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095 -#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467 +#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336 +#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106 +#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467 #: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965 #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 @@ -152,7 +152,7 @@ msgstr "" #: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186 #: netbox/circuits/forms/bulk_edit.py:214 -#: netbox/circuits/forms/bulk_import.py:126 +#: netbox/circuits/forms/bulk_import.py:123 #: netbox/circuits/forms/filtersets.py:49 #: netbox/circuits/forms/filtersets.py:169 #: netbox/circuits/forms/filtersets.py:207 @@ -161,15 +161,15 @@ msgstr "" #: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167 #: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575 #: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130 -#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257 -#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262 -#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85 -#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265 -#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682 -#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940 -#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068 -#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500 -#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136 +#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254 +#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250 +#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86 +#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266 +#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684 +#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952 +#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080 +#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512 +#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136 #: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206 #: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671 #: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150 @@ -268,8 +268,8 @@ msgstr "" #: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266 #: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321 #: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993 -#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857 -#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158 +#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868 +#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387 @@ -282,7 +282,7 @@ msgstr "" #: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73 #: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693 -#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206 +#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217 #: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63 #: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127 #: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204 @@ -304,7 +304,7 @@ msgid "Search" msgstr "" #: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170 -#: netbox/circuits/forms/bulk_import.py:117 +#: netbox/circuits/forms/bulk_import.py:114 #: netbox/circuits/forms/filtersets.py:196 #: netbox/circuits/forms/filtersets.py:212 #: netbox/circuits/forms/model_forms.py:109 @@ -324,7 +324,7 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:28 netbox/circuits/forms/filtersets.py:54 #: netbox/circuits/forms/model_forms.py:27 #: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127 -#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122 +#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122 #: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 #: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210 #: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162 @@ -460,7 +460,7 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:121 #: netbox/circuits/forms/bulk_import.py:35 #: netbox/circuits/forms/bulk_import.py:50 -#: netbox/circuits/forms/bulk_import.py:76 +#: netbox/circuits/forms/bulk_import.py:73 #: netbox/circuits/forms/filtersets.py:68 #: netbox/circuits/forms/filtersets.py:86 #: netbox/circuits/forms/filtersets.py:114 @@ -491,8 +491,8 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205 #: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702 #: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098 -#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983 -#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380 +#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995 +#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 #: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744 #: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245 #: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32 @@ -507,7 +507,7 @@ msgid "Color" msgstr "" #: netbox/circuits/forms/bulk_edit.py:116 -#: netbox/circuits/forms/bulk_import.py:89 +#: netbox/circuits/forms/bulk_import.py:86 #: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20 #: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282 @@ -515,17 +515,17 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906 #: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971 #: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066 -#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214 -#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679 -#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725 -#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902 -#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161 -#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287 -#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973 -#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164 -#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208 -#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259 -#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375 +#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673 +#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719 +#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896 +#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152 +#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288 +#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985 +#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176 +#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220 +#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387 #: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652 #: netbox/dcim/forms/object_import.py:84 netbox/dcim/forms/object_import.py:113 #: netbox/dcim/forms/object_import.py:145 netbox/dcim/tables/devices.py:175 @@ -561,14 +561,14 @@ msgid "Type" msgstr "" #: netbox/circuits/forms/bulk_edit.py:126 -#: netbox/circuits/forms/bulk_import.py:82 +#: netbox/circuits/forms/bulk_import.py:79 #: netbox/circuits/forms/filtersets.py:137 #: netbox/circuits/forms/model_forms.py:96 msgid "Provider account" msgstr "" #: netbox/circuits/forms/bulk_edit.py:134 -#: netbox/circuits/forms/bulk_import.py:95 +#: netbox/circuits/forms/bulk_import.py:92 #: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35 #: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -577,13 +577,13 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686 #: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594 #: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146 -#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450 -#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155 -#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386 -#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230 -#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728 -#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877 -#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089 +#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444 +#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374 +#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231 +#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730 +#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889 +#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101 #: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800 #: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66 @@ -636,20 +636,20 @@ msgid "Status" msgstr "" #: netbox/circuits/forms/bulk_edit.py:140 -#: netbox/circuits/forms/bulk_import.py:100 +#: netbox/circuits/forms/bulk_import.py:97 #: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121 #: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256 #: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588 #: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599 #: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151 -#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282 -#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167 -#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166 -#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249 -#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355 -#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835 -#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927 -#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88 +#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167 +#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 +#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356 +#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847 +#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939 +#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88 #: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332 #: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41 #: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110 @@ -787,28 +787,22 @@ msgstr "" #: netbox/circuits/forms/bulk_import.py:38 #: netbox/circuits/forms/bulk_import.py:53 -#: netbox/circuits/forms/bulk_import.py:79 +#: netbox/circuits/forms/bulk_import.py:76 msgid "Assigned provider" msgstr "" -#: netbox/circuits/forms/bulk_import.py:70 netbox/dcim/forms/bulk_import.py:178 -#: netbox/dcim/forms/bulk_import.py:388 netbox/dcim/forms/bulk_import.py:1108 -#: netbox/dcim/forms/bulk_import.py:1187 netbox/extras/forms/bulk_import.py:232 -msgid "RGB color in hexadecimal. Example:" -msgstr "" - -#: netbox/circuits/forms/bulk_import.py:85 +#: netbox/circuits/forms/bulk_import.py:82 msgid "Assigned provider account" msgstr "" -#: netbox/circuits/forms/bulk_import.py:92 +#: netbox/circuits/forms/bulk_import.py:89 msgid "Type of circuit" msgstr "" -#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89 -#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204 -#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606 -#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193 +#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201 +#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600 +#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193 #: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294 #: netbox/ipam/forms/bulk_import.py:460 #: netbox/virtualization/forms/bulk_import.py:56 @@ -817,11 +811,11 @@ msgstr "" msgid "Operational status" msgstr "" -#: netbox/circuits/forms/bulk_import.py:104 +#: netbox/circuits/forms/bulk_import.py:101 #: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155 -#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428 -#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319 -#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41 +#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422 +#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307 +#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41 #: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98 #: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138 #: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253 @@ -833,7 +827,7 @@ msgstr "" msgid "Assigned tenant" msgstr "" -#: netbox/circuits/forms/bulk_import.py:122 +#: netbox/circuits/forms/bulk_import.py:119 #: netbox/templates/circuits/inc/circuit_termination.html:6 #: netbox/templates/circuits/inc/circuit_termination_fields.html:15 #: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 @@ -841,7 +835,7 @@ msgstr "" msgid "Termination" msgstr "" -#: netbox/circuits/forms/bulk_import.py:132 +#: netbox/circuits/forms/bulk_import.py:129 #: netbox/circuits/forms/filtersets.py:145 #: netbox/circuits/forms/filtersets.py:225 #: netbox/circuits/forms/model_forms.py:142 @@ -853,20 +847,20 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248 #: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580 #: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780 -#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263 -#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268 -#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93 -#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279 -#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382 -#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691 -#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925 -#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009 -#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048 -#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181 -#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220 -#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348 -#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391 -#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420 +#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256 +#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94 +#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280 +#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693 +#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937 +#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021 +#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193 +#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232 +#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360 +#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403 +#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432 #: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211 #: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676 #: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30 @@ -889,11 +883,11 @@ msgid "Location" msgstr "" #: netbox/circuits/forms/filtersets.py:30 -#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137 -#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167 -#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 -#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406 -#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010 +#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138 +#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168 +#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251 +#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407 +#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022 #: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46 #: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 #: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18 @@ -906,13 +900,13 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:35 #: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111 #: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755 -#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71 -#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204 -#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360 -#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902 -#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016 -#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468 -#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516 +#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72 +#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205 +#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361 +#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914 +#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028 +#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480 +#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528 #: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375 #: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85 #: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206 @@ -933,11 +927,11 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:40 #: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231 -#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76 -#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209 -#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365 -#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907 -#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77 +#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210 +#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366 +#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919 +#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072 #: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472 #: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445 #: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222 @@ -954,14 +948,14 @@ msgstr "" #: netbox/circuits/forms/filtersets.py:81 #: netbox/circuits/forms/filtersets.py:100 #: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64 -#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165 -#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834 -#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050 -#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180 -#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219 -#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347 -#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390 -#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418 +#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166 +#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846 +#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062 +#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192 +#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231 +#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359 +#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402 +#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430 #: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112 #: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183 #: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230 @@ -1207,7 +1201,7 @@ msgstr "" #: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16 #: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13 #: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 -#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43 +#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43 #: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89 #: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286 #: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421 @@ -1515,7 +1509,7 @@ msgstr "" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020 -#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276 +#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288 #: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221 #: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162 #: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120 @@ -1618,7 +1612,7 @@ msgid "Completed before" msgstr "" #: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361 -#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397 +#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465 #: netbox/extras/forms/filtersets.py:505 #: netbox/templates/dcim/rackreservation.html:58 @@ -1700,7 +1694,7 @@ msgstr "" msgid "User Preferences" msgstr "" -#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661 +#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663 #: netbox/templates/core/inc/config_data.html:127 #: netbox/users/forms/model_forms.py:65 msgid "Miscellaneous" @@ -2160,8 +2154,8 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172 #: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59 #: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136 -#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778 -#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227 +#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772 +#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228 #: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92 #: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010 #: netbox/dcim/forms/model_forms.py:1449 netbox/dcim/forms/object_import.py:176 @@ -2286,7 +2280,7 @@ msgid "Virtual" msgstr "" #: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051 -#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239 +#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251 #: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344 #: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131 #: netbox/templates/dcim/interface.html:210 @@ -2298,7 +2292,7 @@ msgid "Virtual interfaces" msgstr "" #: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303 -#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922 +#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922 #: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106 #: netbox/templates/virtualization/vminterface.html:43 #: netbox/virtualization/forms/bulk_edit.py:212 @@ -2327,9 +2321,9 @@ msgstr "" msgid "Cellular" msgstr "" -#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303 -#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882 -#: netbox/dcim/forms/filtersets.py:1434 +#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304 +#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894 +#: netbox/dcim/forms/filtersets.py:1446 #: netbox/templates/dcim/inventoryitem.html:52 #: netbox/templates/dcim/virtualchassis_edit.html:54 msgid "Serial" @@ -2402,7 +2396,7 @@ msgstr "" msgid "Fiber" msgstr "" -#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146 +#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158 msgid "Connected" msgstr "" @@ -2508,25 +2502,25 @@ msgstr "" #: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333 #: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005 -#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111 +#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122 msgid "Location (ID)" msgstr "" #: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340 -#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358 #: netbox/extras/filtersets.py:494 msgid "Location (slug)" msgstr "" #: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840 -#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779 +#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790 #: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 #: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "" #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846 -#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785 +#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796 #: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387 #: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995 #: netbox/virtualization/filtersets.py:216 @@ -2534,7 +2528,7 @@ msgid "Role (slug)" msgstr "" #: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010 -#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173 +#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184 msgid "Rack (ID)" msgstr "" @@ -2552,15 +2546,15 @@ msgstr "" #: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620 #: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881 -#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243 -#: netbox/dcim/filtersets.py:1769 +#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:1780 msgid "Manufacturer (ID)" msgstr "" #: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626 #: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887 -#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249 -#: netbox/dcim/filtersets.py:1775 +#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1786 msgid "Manufacturer (slug)" msgstr "" @@ -2572,83 +2566,83 @@ msgstr "" msgid "Default platform (slug)" msgstr "" -#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452 +#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453 msgid "Has a front image" msgstr "" -#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459 +#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460 msgid "Has a rear image" msgstr "" #: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630 -#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466 -#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777 +#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467 +#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779 msgid "Has console ports" msgstr "" #: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634 -#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473 -#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784 +#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474 +#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786 msgid "Has console server ports" msgstr "" #: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638 -#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480 -#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791 +#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481 +#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793 msgid "Has power ports" msgstr "" #: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642 -#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487 -#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798 +#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488 +#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800 msgid "Has power outlets" msgstr "" #: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646 -#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494 -#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805 +#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495 +#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807 msgid "Has interfaces" msgstr "" #: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650 -#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501 -#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812 +#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502 +#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814 msgid "Has pass-through ports" msgstr "" -#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092 -#: netbox/dcim/forms/filtersets.py:515 +#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103 +#: netbox/dcim/forms/filtersets.py:516 msgid "Has module bays" msgstr "" -#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096 -#: netbox/dcim/forms/filtersets.py:508 +#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107 +#: netbox/dcim/forms/filtersets.py:509 msgid "Has device bays" msgstr "" -#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522 +#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523 msgid "Has inventory items" msgstr "" #: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937 -#: netbox/dcim/filtersets.py:1373 +#: netbox/dcim/filtersets.py:1384 msgid "Device type (ID)" msgstr "" -#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265 msgid "Module type (ID)" msgstr "" -#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524 +#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535 msgid "Power port (ID)" msgstr "" -#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765 +#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776 msgid "Parent inventory item (ID)" msgstr "" #: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895 -#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238 +#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "" @@ -2669,9 +2663,9 @@ msgstr "" msgid "Platform (slug)" msgstr "" -#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336 -#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105 -#: netbox/dcim/filtersets.py:2164 +#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116 +#: netbox/dcim/filtersets.py:2175 msgid "Site name (slug)" msgstr "" @@ -2683,16 +2677,25 @@ msgstr "" msgid "VM cluster (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1025 +#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543 +#: netbox/virtualization/filtersets.py:136 +msgid "Cluster group (slug)" +msgstr "" + +#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130 +msgid "Cluster group (ID)" +msgstr "" + +#: netbox/dcim/filtersets.py:1036 msgid "Device model (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423 +#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423 msgid "Is full depth" msgstr "" -#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18 -#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291 +#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18 +#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303 #: netbox/dcim/models/device_components.py:519 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:297 @@ -2701,88 +2704,88 @@ msgstr "" msgid "MAC address" msgstr "" -#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211 -#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849 +#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222 +#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861 #: netbox/virtualization/filtersets.py:234 #: netbox/virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "" -#: netbox/dcim/filtersets.py:1051 +#: netbox/dcim/filtersets.py:1062 msgid "Has an out-of-band IP" msgstr "" -#: netbox/dcim/filtersets.py:1056 +#: netbox/dcim/filtersets.py:1067 msgid "Virtual chassis (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1060 +#: netbox/dcim/filtersets.py:1071 msgid "Is a virtual chassis member" msgstr "" -#: netbox/dcim/filtersets.py:1101 +#: netbox/dcim/filtersets.py:1112 msgid "OOB IP (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1105 +#: netbox/dcim/filtersets.py:1116 msgid "Has virtual device context" msgstr "" -#: netbox/dcim/filtersets.py:1194 +#: netbox/dcim/filtersets.py:1205 msgid "VDC (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1199 +#: netbox/dcim/filtersets.py:1210 msgid "Device model" msgstr "" -#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632 +#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420 msgid "Interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1271 msgid "Module type (model)" msgstr "" -#: netbox/dcim/filtersets.py:1266 +#: netbox/dcim/filtersets.py:1277 msgid "Module Bay (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362 +#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 #: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161 #: netbox/vpn/filtersets.py:398 msgid "Device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1358 +#: netbox/dcim/filtersets.py:1369 msgid "Rack (name)" msgstr "" -#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606 +#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606 #: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081 #: netbox/vpn/filtersets.py:393 msgid "Device (name)" msgstr "" -#: netbox/dcim/filtersets.py:1379 +#: netbox/dcim/filtersets.py:1390 msgid "Device type (model)" msgstr "" -#: netbox/dcim/filtersets.py:1384 +#: netbox/dcim/filtersets.py:1395 msgid "Device role (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1390 +#: netbox/dcim/filtersets.py:1401 msgid "Device role (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1395 +#: netbox/dcim/filtersets.py:1406 msgid "Virtual Chassis (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107 +#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108 #: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66 #: netbox/templates/dcim/device.html:120 #: netbox/templates/dcim/device_edit.html:93 @@ -2792,25 +2795,25 @@ msgstr "" msgid "Virtual Chassis" msgstr "" -#: netbox/dcim/filtersets.py:1421 +#: netbox/dcim/filtersets.py:1432 msgid "Module (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1428 +#: netbox/dcim/filtersets.py:1439 msgid "Cable (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188 +#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188 #: netbox/vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "" -#: netbox/dcim/filtersets.py:1541 +#: netbox/dcim/filtersets.py:1552 msgid "Assigned VID" msgstr "" -#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382 -#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334 +#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382 +#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346 #: netbox/dcim/forms/model_forms.py:1325 #: netbox/dcim/models/device_components.py:712 #: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316 @@ -2842,18 +2845,18 @@ msgstr "" msgid "VRF" msgstr "" -#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322 +#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322 #: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 #: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "" -#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016 +#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016 #: netbox/vpn/filtersets.py:361 msgid "L2VPN (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339 +#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351 #: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022 #: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 @@ -2865,83 +2868,83 @@ msgstr "" msgid "L2VPN" msgstr "" -#: netbox/dcim/filtersets.py:1595 +#: netbox/dcim/filtersets.py:1606 msgid "Virtual Chassis Interfaces for Device" msgstr "" -#: netbox/dcim/filtersets.py:1600 +#: netbox/dcim/filtersets.py:1611 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1604 +#: netbox/dcim/filtersets.py:1615 msgid "Kind of interface" msgstr "" -#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289 +#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294 +#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1619 +#: netbox/dcim/filtersets.py:1630 msgid "LAG interface (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658 -#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669 +#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "" -#: netbox/dcim/filtersets.py:1652 +#: netbox/dcim/filtersets.py:1663 msgid "Virtual Device Context (Identifier)" msgstr "" -#: netbox/dcim/filtersets.py:1663 netbox/templates/wireless/wirelesslan.html:11 +#: netbox/dcim/filtersets.py:1674 netbox/templates/wireless/wirelesslan.html:11 #: netbox/wireless/forms/model_forms.py:53 msgid "Wireless LAN" msgstr "" -#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597 msgid "Wireless link" msgstr "" -#: netbox/dcim/filtersets.py:1737 +#: netbox/dcim/filtersets.py:1748 msgid "Installed module (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1748 +#: netbox/dcim/filtersets.py:1759 msgid "Installed device (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1754 +#: netbox/dcim/filtersets.py:1765 msgid "Installed device (name)" msgstr "" -#: netbox/dcim/filtersets.py:1820 +#: netbox/dcim/filtersets.py:1831 msgid "Master (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1826 +#: netbox/dcim/filtersets.py:1837 msgid "Master (name)" msgstr "" -#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246 msgid "Tenant (ID)" msgstr "" -#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570 +#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570 #: netbox/tenancy/filtersets.py:252 msgid "Tenant (slug)" msgstr "" -#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996 +#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008 msgid "Unterminated" msgstr "" -#: netbox/dcim/filtersets.py:2168 +#: netbox/dcim/filtersets.py:2179 msgid "Power panel (ID)" msgstr "" @@ -2956,7 +2959,7 @@ msgstr "" msgid "Tags" msgstr "" -#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396 +#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408 #: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162 @@ -3032,9 +3035,9 @@ msgid "Time zone" msgstr "" #: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160 -#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207 -#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300 -#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426 +#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204 +#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301 +#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438 #: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018 #: netbox/dcim/forms/model_forms.py:1457 netbox/dcim/forms/object_import.py:181 #: netbox/dcim/tables/devices.py:166 netbox/dcim/tables/devices.py:792 @@ -3081,14 +3084,14 @@ msgstr "" msgid "Serial Number" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307 -#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886 -#: netbox/dcim/forms/filtersets.py:1438 +#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308 +#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898 +#: netbox/dcim/forms/filtersets.py:1450 msgid "Asset tag" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220 -#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86 +#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86 msgid "Width" msgstr "" @@ -3108,7 +3111,7 @@ msgstr "" msgid "Outer depth" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225 +#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222 msgid "Outer unit" msgstr "" @@ -3119,11 +3122,11 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351 #: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459 #: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495 -#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358 -#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312 -#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423 -#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548 -#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232 +#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355 +#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313 +#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424 +#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549 +#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232 #: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103 #: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103 #: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108 @@ -3140,25 +3143,25 @@ msgstr "" msgid "Weight" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317 +#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318 msgid "Max weight" msgstr "" #: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441 -#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231 -#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363 -#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533 -#: netbox/dcim/forms/filtersets.py:608 +#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534 +#: netbox/dcim/forms/filtersets.py:609 msgid "Weight unit" msgstr "" #: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808 -#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273 -#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309 -#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102 -#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354 -#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701 -#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086 +#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270 +#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297 +#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103 +#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355 +#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703 +#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098 #: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248 #: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703 #: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158 @@ -3175,9 +3178,9 @@ msgid "Rack" msgstr "" #: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628 -#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 -#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543 -#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861 +#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334 +#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544 +#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873 #: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" @@ -3186,12 +3189,12 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466 #: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554 #: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165 -#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319 -#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395 -#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027 -#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554 -#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711 -#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431 +#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316 +#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389 +#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021 +#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555 +#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713 +#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443 #: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293 #: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379 #: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462 @@ -3208,13 +3211,13 @@ msgstr "" msgid "Manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325 -#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297 +#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297 msgid "Default platform" msgstr "" #: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471 -#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557 +#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558 msgid "Part number" msgstr "" @@ -3227,8 +3230,8 @@ msgid "Exclude from utilization" msgstr "" #: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603 -#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446 -#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98 +#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447 +#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98 #: netbox/templates/dcim/devicetype.html:65 msgid "Airflow" msgstr "" @@ -3251,11 +3254,11 @@ msgid "VM role" msgstr "" #: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535 -#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376 -#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402 -#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531 -#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619 -#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752 +#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373 +#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396 +#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525 +#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620 +#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754 #: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384 #: netbox/dcim/forms/model_forms.py:498 #: netbox/virtualization/forms/bulk_import.py:132 @@ -3266,19 +3269,19 @@ msgid "Config template" msgstr "" #: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959 -#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112 +#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113 #: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820 #: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499 msgid "Device type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418 -#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452 +#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412 +#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452 msgid "Device role" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443 -#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394 +#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437 +#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394 #: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179 #: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184 #: netbox/templates/dcim/platform.html:26 @@ -3293,21 +3296,21 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179 #: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589 -#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648 -#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700 -#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773 -#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939 -#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968 -#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373 -#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129 -#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970 -#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182 -#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221 -#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349 -#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 -#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421 -#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508 -#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576 +#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642 +#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694 +#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767 +#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933 +#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962 +#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361 +#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130 +#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982 +#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194 +#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233 +#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361 +#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404 +#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433 +#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520 +#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576 #: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156 #: netbox/dcim/forms/model_forms.py:1611 netbox/dcim/forms/object_create.py:257 #: netbox/dcim/tables/connections.py:22 netbox/dcim/tables/connections.py:41 @@ -3363,7 +3366,7 @@ msgstr "" msgid "Configuration" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598 +#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592 #: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845 msgid "Module type" msgstr "" @@ -3373,7 +3376,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010 #: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088 #: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133 -#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65 +#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66 #: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 #: netbox/templates/dcim/consoleport.html:32 #: netbox/templates/dcim/consoleserverport.html:32 @@ -3391,13 +3394,13 @@ msgstr "" msgid "Label" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987 +#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999 #: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174 -#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991 +#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165 +#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003 msgid "Length unit" msgstr "" @@ -3406,32 +3409,32 @@ msgstr "" msgid "Domain" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296 -#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698 +#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284 +#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698 msgid "Power panel" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332 -#: netbox/dcim/forms/filtersets.py:1099 netbox/templates/dcim/powerfeed.html:83 +#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320 +#: netbox/dcim/forms/filtersets.py:1111 netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337 -#: netbox/dcim/forms/filtersets.py:1104 netbox/templates/dcim/powerfeed.html:95 +#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325 +#: netbox/dcim/forms/filtersets.py:1116 netbox/templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109 +#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121 #: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113 +#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125 #: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117 +#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129 msgid "Max utilization" msgstr "" @@ -3455,13 +3458,13 @@ msgstr "" msgid "Allocated power draw (watts)" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731 +#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725 #: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226 #: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738 +#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732 msgid "Feed leg" msgstr "" @@ -3470,7 +3473,7 @@ msgid "Management only" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339 -#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300 +#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312 #: netbox/dcim/forms/object_import.py:90 #: netbox/dcim/models/device_component_templates.py:411 #: netbox/dcim/models/device_components.py:671 @@ -3478,14 +3481,14 @@ msgid "PoE mode" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345 -#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305 +#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317 #: netbox/dcim/forms/object_import.py:95 #: netbox/dcim/models/device_component_templates.py:417 #: netbox/dcim/models/device_components.py:677 msgid "PoE type" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310 +#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322 #: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "" @@ -3512,9 +3515,9 @@ msgstr "" msgid "Virtual device contexts" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659 -#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169 -#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264 +#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181 +#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276 #: netbox/dcim/tables/devices.py:594 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 @@ -3522,7 +3525,7 @@ msgstr "" msgid "Speed" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830 +#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824 #: netbox/templates/vpn/ikepolicy.html:25 #: netbox/templates/vpn/ipsecprofile.html:21 #: netbox/templates/vpn/ipsecprofile.html:48 @@ -3568,7 +3571,7 @@ msgstr "" msgid "Wireless LANs" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237 +#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249 #: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271 #: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 @@ -3577,13 +3580,13 @@ msgstr "" msgid "Addressing" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650 +#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651 #: netbox/dcim/forms/model_forms.py:1338 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238 +#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250 #: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340 msgid "PoE" msgstr "" @@ -3631,8 +3634,8 @@ msgstr "" msgid "available options" msgstr "" -#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488 -#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174 +#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482 +#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174 #: netbox/ipam/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:63 #: netbox/virtualization/forms/bulk_import.py:89 @@ -3647,101 +3650,102 @@ msgstr "" msgid "Location not found." msgstr "" -#: netbox/dcim/forms/bulk_import.py:199 +#: netbox/dcim/forms/bulk_import.py:196 msgid "Name of assigned tenant" msgstr "" -#: netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:208 msgid "Name of assigned role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/bulk_import.py:214 msgid "Rack type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:222 +#: netbox/dcim/forms/bulk_import.py:219 msgid "Rail-to-rail width (in inches)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:225 msgid "Unit for outer dimensions" msgstr "" -#: netbox/dcim/forms/bulk_import.py:234 +#: netbox/dcim/forms/bulk_import.py:231 msgid "Unit for rack weights" msgstr "" -#: netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:257 msgid "Parent site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306 +#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294 msgid "Rack's location (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253 +#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253 #: netbox/dcim/tables/racks.py:153 #: netbox/templates/dcim/rackreservation.html:12 #: netbox/templates/dcim/rackreservation.html:45 msgid "Units" msgstr "" -#: netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:276 msgid "Comma-separated list of individual unit numbers" msgstr "" -#: netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/bulk_import.py:319 msgid "The manufacturer which produces this device type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:329 +#: netbox/dcim/forms/bulk_import.py:326 msgid "The default platform for devices of this type (optional)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:334 +#: netbox/dcim/forms/bulk_import.py:331 msgid "Device weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:340 +#: netbox/dcim/forms/bulk_import.py:337 msgid "Unit for device weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/bulk_import.py:357 msgid "Module weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:366 +#: netbox/dcim/forms/bulk_import.py:363 msgid "Unit for module weight" msgstr "" -#: netbox/dcim/forms/bulk_import.py:399 +#: netbox/dcim/forms/bulk_import.py:393 msgid "Limit platform assignments to this manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376 +#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364 #: netbox/tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:434 +#: netbox/dcim/forms/bulk_import.py:428 msgid "Device type manufacturer" msgstr "" -#: netbox/dcim/forms/bulk_import.py:440 +#: netbox/dcim/forms/bulk_import.py:434 msgid "Device type model" msgstr "" -#: netbox/dcim/forms/bulk_import.py:447 +#: netbox/dcim/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "" -#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459 +#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453 #: netbox/dcim/forms/model_forms.py:479 msgid "Virtual chassis" msgstr "" -#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465 +#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659 +#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465 #: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548 #: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479 #: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459 @@ -3762,147 +3766,147 @@ msgstr "" msgid "Cluster" msgstr "" -#: netbox/dcim/forms/bulk_import.py:466 +#: netbox/dcim/forms/bulk_import.py:460 msgid "Virtualization cluster" msgstr "" -#: netbox/dcim/forms/bulk_import.py:495 +#: netbox/dcim/forms/bulk_import.py:489 msgid "Assigned location (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:502 +#: netbox/dcim/forms/bulk_import.py:496 msgid "Assigned rack (if any)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:505 +#: netbox/dcim/forms/bulk_import.py:499 msgid "Face" msgstr "" -#: netbox/dcim/forms/bulk_import.py:508 +#: netbox/dcim/forms/bulk_import.py:502 msgid "Mounted rack face" msgstr "" -#: netbox/dcim/forms/bulk_import.py:515 +#: netbox/dcim/forms/bulk_import.py:509 msgid "Parent device (for child devices)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:518 +#: netbox/dcim/forms/bulk_import.py:512 msgid "Device bay" msgstr "" -#: netbox/dcim/forms/bulk_import.py:522 +#: netbox/dcim/forms/bulk_import.py:516 msgid "Device bay in which this device is installed (for child devices)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:528 +#: netbox/dcim/forms/bulk_import.py:522 msgid "Airflow direction" msgstr "" -#: netbox/dcim/forms/bulk_import.py:589 +#: netbox/dcim/forms/bulk_import.py:583 msgid "The device in which this module is installed" msgstr "" -#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583 +#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583 msgid "Module bay" msgstr "" -#: netbox/dcim/forms/bulk_import.py:595 +#: netbox/dcim/forms/bulk_import.py:589 msgid "The module bay in which this module is installed" msgstr "" -#: netbox/dcim/forms/bulk_import.py:601 +#: netbox/dcim/forms/bulk_import.py:595 msgid "The type of module" msgstr "" -#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599 +#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599 msgid "Replicate components" msgstr "" -#: netbox/dcim/forms/bulk_import.py:611 +#: netbox/dcim/forms/bulk_import.py:605 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605 +#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605 msgid "Adopt components" msgstr "" -#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608 +#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608 msgid "Adopt already existing components" msgstr "" -#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682 -#: netbox/dcim/forms/bulk_import.py:708 +#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676 +#: netbox/dcim/forms/bulk_import.py:702 msgid "Port type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690 +#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684 msgid "Port speed in bps" msgstr "" -#: netbox/dcim/forms/bulk_import.py:728 +#: netbox/dcim/forms/bulk_import.py:722 msgid "Outlet type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:735 +#: netbox/dcim/forms/bulk_import.py:729 msgid "Local power port which feeds this outlet" msgstr "" -#: netbox/dcim/forms/bulk_import.py:741 +#: netbox/dcim/forms/bulk_import.py:735 msgid "Electrical phase (for three-phase circuits)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264 +#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264 #: netbox/virtualization/forms/bulk_import.py:155 #: netbox/virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272 +#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272 #: netbox/virtualization/forms/bulk_import.py:162 #: netbox/virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:792 +#: netbox/dcim/forms/bulk_import.py:786 msgid "Lag" msgstr "" -#: netbox/dcim/forms/bulk_import.py:796 +#: netbox/dcim/forms/bulk_import.py:790 msgid "Parent LAG interface" msgstr "" -#: netbox/dcim/forms/bulk_import.py:799 +#: netbox/dcim/forms/bulk_import.py:793 msgid "Vdcs" msgstr "" -#: netbox/dcim/forms/bulk_import.py:804 +#: netbox/dcim/forms/bulk_import.py:798 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" -#: netbox/dcim/forms/bulk_import.py:810 +#: netbox/dcim/forms/bulk_import.py:804 msgid "Physical medium" msgstr "" -#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283 msgid "Duplex" msgstr "" -#: netbox/dcim/forms/bulk_import.py:818 +#: netbox/dcim/forms/bulk_import.py:812 msgid "Poe mode" msgstr "" -#: netbox/dcim/forms/bulk_import.py:824 +#: netbox/dcim/forms/bulk_import.py:818 msgid "Poe type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:833 +#: netbox/dcim/forms/bulk_import.py:827 #: netbox/virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160 +#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160 #: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282 #: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277 #: netbox/ipam/forms/filtersets.py:336 @@ -3910,149 +3914,149 @@ msgstr "" msgid "Assigned VRF" msgstr "" -#: netbox/dcim/forms/bulk_import.py:843 +#: netbox/dcim/forms/bulk_import.py:837 msgid "Rf role" msgstr "" -#: netbox/dcim/forms/bulk_import.py:846 +#: netbox/dcim/forms/bulk_import.py:840 msgid "Wireless role (AP/station)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:882 +#: netbox/dcim/forms/bulk_import.py:876 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948 +#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948 #: netbox/dcim/forms/model_forms.py:1522 netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "" -#: netbox/dcim/forms/bulk_import.py:899 +#: netbox/dcim/forms/bulk_import.py:893 msgid "Corresponding rear port" msgstr "" -#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945 -#: netbox/dcim/forms/bulk_import.py:1164 +#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939 +#: netbox/dcim/forms/bulk_import.py:1155 msgid "Physical medium classification" msgstr "" -#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805 +#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805 msgid "Installed device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:977 +#: netbox/dcim/forms/bulk_import.py:971 msgid "Child device installed within this bay" msgstr "" -#: netbox/dcim/forms/bulk_import.py:979 +#: netbox/dcim/forms/bulk_import.py:973 msgid "Child device not found." msgstr "" -#: netbox/dcim/forms/bulk_import.py:1037 +#: netbox/dcim/forms/bulk_import.py:1031 msgid "Parent inventory item" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1040 +#: netbox/dcim/forms/bulk_import.py:1034 msgid "Component type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1044 +#: netbox/dcim/forms/bulk_import.py:1038 msgid "Component Type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1047 +#: netbox/dcim/forms/bulk_import.py:1041 msgid "Compnent name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1049 +#: netbox/dcim/forms/bulk_import.py:1043 msgid "Component Name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1091 +#: netbox/dcim/forms/bulk_import.py:1085 #, python-brace-format msgid "Component not found: {device} - {component_name}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1119 +#: netbox/dcim/forms/bulk_import.py:1110 msgid "Side A device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140 +#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131 msgid "Device name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1125 +#: netbox/dcim/forms/bulk_import.py:1116 msgid "Side A type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137 msgid "Termination type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1131 +#: netbox/dcim/forms/bulk_import.py:1122 msgid "Side A name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150 +#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141 msgid "Termination name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1137 +#: netbox/dcim/forms/bulk_import.py:1128 msgid "Side B device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1143 +#: netbox/dcim/forms/bulk_import.py:1134 msgid "Side B type" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1149 +#: netbox/dcim/forms/bulk_import.py:1140 msgid "Side B name" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1149 #: netbox/wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1213 +#: netbox/dcim/forms/bulk_import.py:1201 #, python-brace-format msgid "Side {side_upper}: {device} {termination_object} is already connected" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1219 +#: netbox/dcim/forms/bulk_import.py:1207 #, python-brace-format msgid "{side_upper} side termination not found: {device} {name}" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733 +#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733 #: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1248 +#: netbox/dcim/forms/bulk_import.py:1236 msgid "Master device" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1265 +#: netbox/dcim/forms/bulk_import.py:1253 msgid "Name of parent site" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1299 +#: netbox/dcim/forms/bulk_import.py:1287 msgid "Upstream power panel" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1329 +#: netbox/dcim/forms/bulk_import.py:1317 msgid "Primary or redundant" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1334 +#: netbox/dcim/forms/bulk_import.py:1322 msgid "Supply type (AC/DC)" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1339 +#: netbox/dcim/forms/bulk_import.py:1327 msgid "Single or three-phase" msgstr "" @@ -4105,11 +4109,11 @@ msgstr "" msgid "Side" msgstr "" -#: netbox/dcim/forms/filtersets.py:142 +#: netbox/dcim/forms/filtersets.py:143 msgid "Parent region" msgstr "" -#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28 +#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28 #: netbox/tenancy/forms/bulk_import.py:62 netbox/tenancy/forms/filtersets.py:33 #: netbox/tenancy/forms/filtersets.py:62 #: netbox/wireless/forms/bulk_import.py:25 @@ -4117,51 +4121,58 @@ msgstr "" msgid "Parent group" msgstr "" -#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332 +#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 msgid "Function" msgstr "" -#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317 +#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317 #: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "" -#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546 -#: netbox/dcim/forms/filtersets.py:656 +#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547 +#: netbox/dcim/forms/filtersets.py:657 msgid "Components" msgstr "" -#: netbox/dcim/forms/filtersets.py:441 +#: netbox/dcim/forms/filtersets.py:442 msgid "Subdevice role" msgstr "" -#: netbox/dcim/forms/filtersets.py:719 +#: netbox/dcim/forms/filtersets.py:721 msgid "Model" msgstr "" -#: netbox/dcim/forms/filtersets.py:763 +#: netbox/dcim/forms/filtersets.py:765 msgid "Has an OOB IP" msgstr "" -#: netbox/dcim/forms/filtersets.py:770 +#: netbox/dcim/forms/filtersets.py:772 msgid "Virtual chassis member" msgstr "" -#: netbox/dcim/forms/filtersets.py:819 +#: netbox/dcim/forms/filtersets.py:821 msgid "Has virtual device contexts" msgstr "" -#: netbox/dcim/forms/filtersets.py:1129 +#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537 +#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464 +#: netbox/ipam/forms/model_forms.py:624 +#: netbox/virtualization/forms/filtersets.py:112 +msgid "Cluster group" +msgstr "" + +#: netbox/dcim/forms/filtersets.py:1141 msgid "Cabled" msgstr "" -#: netbox/dcim/forms/filtersets.py:1136 +#: netbox/dcim/forms/filtersets.py:1148 msgid "Occupied" msgstr "" -#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183 -#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222 -#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352 +#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195 +#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234 +#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352 #: netbox/templates/dcim/consoleport.html:55 #: netbox/templates/dcim/consoleserverport.html:55 #: netbox/templates/dcim/frontport.html:69 @@ -4173,40 +4184,40 @@ msgstr "" msgid "Connection" msgstr "" -#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316 -#: netbox/extras/forms/bulk_import.py:242 netbox/extras/forms/filtersets.py:473 +#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316 +#: netbox/extras/forms/bulk_import.py:239 netbox/extras/forms/filtersets.py:473 #: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513 #: netbox/templates/extras/journalentry.html:30 msgid "Kind" msgstr "" -#: netbox/dcim/forms/filtersets.py:1283 +#: netbox/dcim/forms/filtersets.py:1295 msgid "Mgmt only" msgstr "" -#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330 +#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "" -#: netbox/dcim/forms/filtersets.py:1315 +#: netbox/dcim/forms/filtersets.py:1327 msgid "Wireless channel" msgstr "" -#: netbox/dcim/forms/filtersets.py:1319 +#: netbox/dcim/forms/filtersets.py:1331 msgid "Channel frequency (MHz)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1323 +#: netbox/dcim/forms/filtersets.py:1335 msgid "Channel width (MHz)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1327 netbox/templates/dcim/interface.html:85 +#: netbox/dcim/forms/filtersets.py:1339 netbox/templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "" -#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372 +#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384 #: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12 #: netbox/templates/dcim/cable_trace.html:46 #: netbox/templates/dcim/frontport.html:77 @@ -4217,7 +4228,7 @@ msgstr "" msgid "Cable" msgstr "" -#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915 +#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915 msgid "Discovered" msgstr "" @@ -6807,16 +6818,6 @@ msgstr "" msgid "Cluster type (slug)" msgstr "" -#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476 -#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624 -#: netbox/virtualization/forms/filtersets.py:112 -msgid "Cluster group" -msgstr "" - -#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136 -msgid "Cluster group (slug)" -msgstr "" - #: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16 #: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" @@ -7032,11 +7033,11 @@ msgstr "" msgid "Script {name} not found" msgstr "" -#: netbox/extras/forms/bulk_import.py:239 +#: netbox/extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "" -#: netbox/extras/forms/bulk_import.py:244 +#: netbox/extras/forms/bulk_import.py:241 msgid "The classification of entry" msgstr "" @@ -9933,6 +9934,10 @@ msgstr "" msgid "Object type(s)" msgstr "" +#: netbox/netbox/forms/__init__.py:40 +msgid "Lookup" +msgstr "" + #: netbox/netbox/forms/base.py:88 msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. \"tag1,tag2," @@ -13780,14 +13785,18 @@ msgstr "" msgid "More than 50" msgstr "" -#: netbox/utilities/fields.py:157 +#: netbox/utilities/fields.py:30 +msgid "RGB color in hexadecimal. Example: " +msgstr "" + +#: netbox/utilities/fields.py:159 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " "in the format 'app.model'" msgstr "" -#: netbox/utilities/fields.py:167 +#: netbox/utilities/fields.py:169 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " @@ -14120,10 +14129,6 @@ msgstr "" msgid "Cluster type (ID)" msgstr "" -#: netbox/virtualization/filtersets.py:130 -msgid "Cluster group (ID)" -msgstr "" - #: netbox/virtualization/filtersets.py:151 #: netbox/virtualization/filtersets.py:267 msgid "Cluster (ID)" From 00d23a0cffa19c491c9219c847f206eec4d054a9 Mon Sep 17 00:00:00 2001 From: Julio Oliveira at Encora <149191228+Julio-Oliveira-Encora@users.noreply.github.com> Date: Sun, 30 Jun 2024 12:30:39 -0300 Subject: [PATCH 07/42] 16725 - The admin section should always come last in the navigation menu (#16762) * I replaced `append` with `insert` into menu.py to make the admin section appear last in the navigation menu. * Clean up ordering logic --------- Co-authored-by: Jeremy Stretch --- netbox/netbox/navigation/menu.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/netbox/netbox/navigation/menu.py b/netbox/netbox/navigation/menu.py index 002dfd98a..cae9cb321 100644 --- a/netbox/netbox/navigation/menu.py +++ b/netbox/netbox/navigation/menu.py @@ -462,16 +462,13 @@ MENUS = [ PROVISIONING_MENU, CUSTOMIZATION_MENU, OPERATIONS_MENU, - ADMIN_MENU, ] -# -# Add plugin menus -# - +# Add top-level plugin menus for menu in registry['plugins']['menus']: MENUS.append(menu) +# Add the default "plugins" menu if registry['plugins']['menu_items']: # Build the default plugins menu @@ -485,3 +482,6 @@ if registry['plugins']['menu_items']: groups=groups ) MENUS.append(plugins_menu) + +# Add the admin menu last +MENUS.append(ADMIN_MENU) From 96338c002b3d3e797f29b6cfa7ecde595d0387ea Mon Sep 17 00:00:00 2001 From: Peter Eckel Date: Thu, 27 Jun 2024 17:19:14 +0000 Subject: [PATCH 08/42] Updated the documentation section about removing plugins --- docs/plugins/removal.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/plugins/removal.md b/docs/plugins/removal.md index f5e81bdc0..37228a939 100644 --- a/docs/plugins/removal.md +++ b/docs/plugins/removal.md @@ -70,3 +70,19 @@ DROP TABLE netbox=> DROP TABLE pluginname_bar; DROP TABLE ``` + +### Remove the Django Migration Records + +After removing the tables created by a plugin, the migrations that created the tables need to be removed from Django's migration history as well. This is necessary to make it possible to reinstall the plugin at a later time. If the migration history were left in place, Django would skip all migrations that were executed in the course of a previous installation, which would cause the plugin to fail after reinstallation. + +```no-highlight +netbox=> SELECT * FROM django_migrations WHERE app='pluginname'; + id | app | name | applied +-----+------------+------------------------+------------------------------- + 492 | pluginname | 0001_initial | 2023-12-21 11:59:59.325995+00 + 493 | pluginname | 0002_add_foo | 2023-12-21 11:59:59.330026+00 +netbox=> DELETE FROM django_migrations WHERE app='pluginname'; +``` + +!!! warning + Exercise extreme caution when altering Django system tables. Users are strongly encouraged to perform a backup of their database immediately before taking these actions. From 2c64a52d7db3e307b8e67860393d3fd7e4a79994 Mon Sep 17 00:00:00 2001 From: Julio-Oliveira-Encora Date: Thu, 27 Jun 2024 11:57:07 -0300 Subject: [PATCH 09/42] Added default:"0" to total_count in object_list.html --- netbox/templates/generic/object_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/templates/generic/object_list.html b/netbox/templates/generic/object_list.html index aa1f482bf..74e70f476 100644 --- a/netbox/templates/generic/object_list.html +++ b/netbox/templates/generic/object_list.html @@ -48,7 +48,7 @@ Context: {% if filter_form %} From a896b14c087873222007d1d3fb2b6960fe8ff2b3 Mon Sep 17 00:00:00 2001 From: Tobias Genannt Date: Thu, 27 Jun 2024 14:49:21 +0200 Subject: [PATCH 10/42] Fixes #16689: Load correct configuration Loads the the current configuration if no ConfigRevisions are saved to the database. --- netbox/core/views.py | 2 +- netbox/templates/core/system.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/netbox/core/views.py b/netbox/core/views.py index e454f109e..9697a7352 100644 --- a/netbox/core/views.py +++ b/netbox/core/views.py @@ -555,7 +555,7 @@ class SystemView(UserPassesTestMixin, View): config = ConfigRevision.objects.get(pk=cache.get('config_version')) except ConfigRevision.DoesNotExist: # Fall back to using the active config data if no record is found - config = ConfigRevision(data=get_config().defaults) + config = get_config() # Raw data export if 'export' in request.GET: diff --git a/netbox/templates/core/system.html b/netbox/templates/core/system.html index 320038ac6..4ffeb5025 100644 --- a/netbox/templates/core/system.html +++ b/netbox/templates/core/system.html @@ -88,7 +88,7 @@
{% trans "Current Configuration" %}
- {% include 'core/inc/config_data.html' with config=config.data %} + {% include 'core/inc/config_data.html' %}
From a00ed4b74d9ce54c4c0bbaabe73afc23e7d77eb9 Mon Sep 17 00:00:00 2001 From: prryplatypus <25409753+prryplatypus@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:56:55 +0200 Subject: [PATCH 11/42] Quote `VIRTUALENV` --- upgrade.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/upgrade.sh b/upgrade.sh index 0b2cd383b..74b4cb239 100755 --- a/upgrade.sh +++ b/upgrade.sh @@ -33,7 +33,7 @@ echo "Using ${PYTHON_VERSION}" # Remove the existing virtual environment (if any) if [ -d "$VIRTUALENV" ]; then - COMMAND="rm -rf ${VIRTUALENV}" + COMMAND="rm -rf \"${VIRTUALENV}\"" echo "Removing old virtual environment..." eval $COMMAND else @@ -41,7 +41,7 @@ else fi # Create a new virtual environment -COMMAND="${PYTHON} -m venv ${VIRTUALENV}" +COMMAND="${PYTHON} -m venv \"${VIRTUALENV}\"" echo "Creating a new virtual environment at ${VIRTUALENV}..." eval $COMMAND || { echo "--------------------------------------------------------------------" From 67983c6a75a667d79141348f7a03f48e0c8664b5 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 05:02:10 +0000 Subject: [PATCH 12/42] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index ebbf64e44..df6350f9d 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-27 05:01+0000\n" +"POT-Creation-Date: 2024-07-01 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -10334,7 +10334,7 @@ msgstr "" msgid "Background Tasks" msgstr "" -#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35 +#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35 #: netbox/templates/account/preferences.html:22 #: netbox/templates/core/system.html:80 msgid "Plugins" From b5d8e657ade77630a7d3e0f89847342a61228db4 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Sun, 30 Jun 2024 15:37:11 -0400 Subject: [PATCH 13/42] Fixes #16523: Restore highlighting of current device in virtual chassis members panel --- netbox/templates/dcim/device.html | 40 ++++++++++++++++--------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index 50136f7a9..e3ac944bc 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -125,28 +125,30 @@ - - - - - + + + + + + + + {% for vc_member in vc_members %} - - - - - - + + + + + + {% endfor %} +
{% trans "Device" %}{% trans "Position" %}{% trans "Master" %}{% trans "Priority" %}
{% trans "Device" %}{% trans "Position" %}{% trans "Master" %}{% trans "Priority" %}
- {{ vc_member|linkify }} - - {% badge vc_member.vc_position show_empty=True %} - - {% if object.virtual_chassis.master == vc_member %}{% endif %} - - {{ vc_member.vc_priority|placeholder }} -
{{ vc_member|linkify }}{% badge vc_member.vc_position show_empty=True %} + {% if object.virtual_chassis.master == vc_member %} + {% checkmark True %} + {% else %} + {{ ''|placeholder }} + {% endif %} + {{ vc_member.vc_priority|placeholder }}
{% endif %} From 753ba5d3f4bd3b5bf96aebd5770e15f6f6eda8dd Mon Sep 17 00:00:00 2001 From: Peter Eckel <6815386+peteeckel@users.noreply.github.com> Date: Mon, 1 Jul 2024 15:12:02 +0200 Subject: [PATCH 14/42] Do not delete all search indexes when reindexing specific models (#16755) * Do not delete all search indexes when reindexing specific models * Clear all indexes only if neither --lazy nor a list of models are specified for "manage.py reindex" * Otherwise, clear the index for a model immediately before rebuilding it * Separated clearing from re-indexing the search cache --- netbox/extras/management/commands/reindex.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/netbox/extras/management/commands/reindex.py b/netbox/extras/management/commands/reindex.py index e20fad0ce..5aab74511 100644 --- a/netbox/extras/management/commands/reindex.py +++ b/netbox/extras/management/commands/reindex.py @@ -66,11 +66,16 @@ class Command(BaseCommand): raise CommandError(_("No indexers found!")) self.stdout.write(f'Reindexing {len(indexers)} models.') - # Clear all cached values for the specified models (if not being lazy) + # Clear cached values for the specified models (if not being lazy) if not kwargs['lazy']: + if model_labels: + content_types = [ContentType.objects.get_for_model(model) for model in indexers.keys()] + else: + content_types = None + self.stdout.write('Clearing cached values... ', ending='') self.stdout.flush() - deleted_count = search_backend.clear() + deleted_count = search_backend.clear(object_types=content_types) self.stdout.write(f'{deleted_count} entries deleted.') # Index models From a12259fae7d1a9aacde09e5c6c6c9d14f38a8b36 Mon Sep 17 00:00:00 2001 From: siku4 Date: Fri, 21 Jun 2024 23:16:52 +0200 Subject: [PATCH 15/42] fix: add missing parent field to inventory item import form --- netbox/dcim/forms/bulk_import.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index 1c537512c..e49d14dd0 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -1046,7 +1046,7 @@ class InventoryItemImportForm(NetBoxModelImportForm): class Meta: model = InventoryItem fields = ( - 'device', 'name', 'label', 'role', 'manufacturer', 'part_id', 'serial', 'asset_tag', 'discovered', + 'device', 'name', 'label', 'role', 'manufacturer', 'parent', 'part_id', 'serial', 'asset_tag', 'discovered', 'description', 'tags', 'component_type', 'component_name', ) From e2596587faa5a006f98b517c28ef204199e7bb13 Mon Sep 17 00:00:00 2001 From: Elliott Balsley <3991046+llamafilm@users.noreply.github.com> Date: Mon, 1 Jul 2024 06:22:09 -0700 Subject: [PATCH 16/42] fix: allow cloning field value of 0 (#16741) * fix: allow cloning field value of 0 * Fix evaluation of False value --------- Co-authored-by: Jeremy Stretch --- netbox/utilities/querydict.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/utilities/querydict.py b/netbox/utilities/querydict.py index a2296cb1a..78395758a 100644 --- a/netbox/utilities/querydict.py +++ b/netbox/utilities/querydict.py @@ -55,7 +55,7 @@ def prepare_cloned_fields(instance): for key, value in attrs.items(): if type(value) in (list, tuple): params.extend([(key, v) for v in value]) - elif value not in (False, None): + elif value is not False and value is not None: params.append((key, value)) else: params.append((key, '')) From d3d27d81113c3f4e6986f860f57593d8a5b5e8e2 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 1 Jul 2024 09:40:21 -0400 Subject: [PATCH 17/42] Changelog for #16424, #16523, #16654, #16657, #16689, #16714, #16723, #16725, #16735, #16747 --- docs/release-notes/version-4.0.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/release-notes/version-4.0.md b/docs/release-notes/version-4.0.md index 4537a8800..028381f68 100644 --- a/docs/release-notes/version-4.0.md +++ b/docs/release-notes/version-4.0.md @@ -2,6 +2,22 @@ ## v4.0.7 (FUTURE) +### Enhancements + +* [#16424](https://github.com/netbox-community/netbox/issues/16424) - Enable filtering of devices by cluster and cluster group +* [#16725](https://github.com/netbox-community/netbox/issues/16725) - Always position the admin section last in the navigation menu + +### Bug Fixes + +* [#16523](https://github.com/netbox-community/netbox/issues/16523) - Restore highlighting of current device in virtual chassis members panel +* [#16654](https://github.com/netbox-community/netbox/issues/16654) - Fix parent item assignment for inventory item bulk import +* [#16657](https://github.com/netbox-community/netbox/issues/16657) - Fix translation of object types in global search +* [#16689](https://github.com/netbox-community/netbox/issues/16689) - System configuration view should reflect static parameters when no config revisions exist +* [#16714](https://github.com/netbox-community/netbox/issues/16714) - Fix cloning of device types with 0U height +* [#16723](https://github.com/netbox-community/netbox/issues/16723) - Fix escaping of path to virtual environment in `upgrade.sh` +* [#16735](https://github.com/netbox-community/netbox/issues/16735) - Object list "results" tab should show a count of zero when empty +* [#16747](https://github.com/netbox-community/netbox/issues/16747) - Avoid clearing entire search cache when manually reindexing specific apps/models + --- ## v4.0.6 (2024-06-24) From 4857a87be5bd357b3d583ecb99a7841d75c9da35 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 05:02:15 +0000 Subject: [PATCH 18/42] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 66 ++++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index df6350f9d..21d35116d 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-01 05:01+0000\n" +"POT-Creation-Date: 2024-07-02 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -601,7 +601,7 @@ msgstr "" #: netbox/templates/circuits/circuit.html:34 #: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30 #: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 -#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176 +#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 #: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66 #: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43 #: netbox/templates/dcim/site.html:43 @@ -2132,7 +2132,7 @@ msgstr "" msgid "Reserved" msgstr "" -#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:254 msgid "Available" msgstr "" @@ -2189,14 +2189,14 @@ msgstr "" msgid "Child" msgstr "" -#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332 +#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:334 #: netbox/templates/dcim/rack.html:175 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "" -#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338 +#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:340 #: netbox/templates/dcim/rack.html:181 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 @@ -2420,7 +2420,7 @@ msgstr "" msgid "Feet" msgstr "" -#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320 +#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:322 #: netbox/templates/dcim/rack.html:152 msgid "Kilograms" msgstr "" @@ -2964,7 +2964,7 @@ msgstr "" #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162 #: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242 -#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130 +#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:34 #: netbox/templates/dcim/virtualchassis.html:66 #: netbox/templates/dcim/virtualchassis_edit.html:55 @@ -3053,7 +3053,7 @@ msgstr "" #: netbox/ipam/forms/model_forms.py:248 netbox/ipam/forms/model_forms.py:689 #: netbox/ipam/tables/ip.py:257 netbox/ipam/tables/ip.py:313 #: netbox/ipam/tables/ip.py:363 netbox/ipam/tables/vlans.py:126 -#: netbox/ipam/tables/vlans.py:230 netbox/templates/dcim/device.html:180 +#: netbox/ipam/tables/vlans.py:230 netbox/templates/dcim/device.html:182 #: netbox/templates/dcim/inc/panels/inventory_items.html:20 #: netbox/templates/dcim/interface.html:223 #: netbox/templates/dcim/inventoryitem.html:36 @@ -3133,7 +3133,7 @@ msgstr "" #: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278 #: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134 #: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188 -#: netbox/templates/dcim/device.html:317 +#: netbox/templates/dcim/device.html:319 #: netbox/templates/dcim/devicetype.html:49 #: netbox/templates/dcim/moduletype.html:30 #: netbox/templates/extras/configcontext.html:17 @@ -3283,7 +3283,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437 #: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394 #: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179 -#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184 +#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186 #: netbox/templates/dcim/platform.html:26 #: netbox/templates/virtualization/virtualmachine.html:27 #: netbox/virtualization/forms/bulk_edit.py:160 @@ -3327,7 +3327,7 @@ msgstr "" #: netbox/ipam/forms/model_forms.py:758 netbox/ipam/forms/model_forms.py:784 #: netbox/ipam/tables/vlans.py:176 netbox/templates/dcim/consoleport.html:20 #: netbox/templates/dcim/consoleserverport.html:20 -#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129 +#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 #: netbox/templates/dcim/device_edit.html:10 #: netbox/templates/dcim/devicebay.html:20 #: netbox/templates/dcim/devicebay.html:48 @@ -3749,7 +3749,7 @@ msgstr "" #: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548 #: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479 #: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459 -#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232 +#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:234 #: netbox/templates/virtualization/cluster.html:10 #: netbox/templates/virtualization/virtualmachine.html:88 #: netbox/templates/virtualization/virtualmachine.html:97 @@ -4030,7 +4030,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "" #: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733 -#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131 +#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4253,7 +4253,7 @@ msgstr "" msgid "Outer Dimensions" msgstr "" -#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308 +#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:310 #: netbox/templates/dcim/rack.html:73 msgid "Dimensions" msgstr "" @@ -4291,7 +4291,7 @@ msgstr "" msgid "The position in the virtual chassis this device is identified by" msgstr "" -#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132 +#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133 #: netbox/templates/dcim/virtualchassis.html:68 #: netbox/templates/dcim/virtualchassis_edit.html:56 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 @@ -4467,13 +4467,13 @@ msgstr "" msgid "Inventory Item Role" msgstr "" -#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188 +#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190 #: netbox/templates/dcim/virtualdevicecontext.html:30 #: netbox/templates/virtualization/virtualmachine.html:48 msgid "Primary IPv4" msgstr "" -#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204 +#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206 #: netbox/templates/dcim/virtualdevicecontext.html:41 #: netbox/templates/virtualization/virtualmachine.html:64 msgid "Primary IPv6" @@ -6330,7 +6330,7 @@ msgstr "" msgid "Racks" msgstr "" -#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311 +#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:313 #: netbox/templates/dcim/rack.html:90 msgid "Height" msgstr "" @@ -9498,7 +9498,7 @@ msgstr "" #: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267 #: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82 -#: netbox/templates/dcim/device.html:253 +#: netbox/templates/dcim/device.html:255 #: netbox/templates/ipam/aggregate.html:24 #: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 msgid "Utilization" @@ -10038,7 +10038,7 @@ msgstr "" msgid "Modules" msgstr "" -#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158 +#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160 #: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "" @@ -10100,7 +10100,7 @@ msgstr "" msgid "Service Templates" msgstr "" -#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295 +#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:297 #: netbox/templates/ipam/ipaddress.html:118 #: netbox/templates/virtualization/virtualmachine.html:150 msgid "Services" @@ -11370,56 +11370,56 @@ msgstr "" msgid "View Virtual Chassis" msgstr "" -#: netbox/templates/dcim/device.html:162 +#: netbox/templates/dcim/device.html:164 msgid "Create VDC" msgstr "" -#: netbox/templates/dcim/device.html:173 +#: netbox/templates/dcim/device.html:175 #: netbox/templates/dcim/device_edit.html:64 #: netbox/virtualization/forms/model_forms.py:223 msgid "Management" msgstr "" -#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209 +#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 #: netbox/templates/virtualization/virtualmachine.html:53 #: netbox/templates/virtualization/virtualmachine.html:69 msgid "NAT for" msgstr "" -#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 #: netbox/templates/virtualization/virtualmachine.html:55 #: netbox/templates/virtualization/virtualmachine.html:71 msgid "NAT" msgstr "" -#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67 +#: netbox/templates/dcim/device.html:247 netbox/templates/dcim/rack.html:67 msgid "Power Utilization" msgstr "" -#: netbox/templates/dcim/device.html:249 +#: netbox/templates/dcim/device.html:251 msgid "Input" msgstr "" -#: netbox/templates/dcim/device.html:250 +#: netbox/templates/dcim/device.html:252 msgid "Outlets" msgstr "" -#: netbox/templates/dcim/device.html:251 +#: netbox/templates/dcim/device.html:253 msgid "Allocated" msgstr "" -#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263 -#: netbox/templates/dcim/device.html:279 +#: netbox/templates/dcim/device.html:263 netbox/templates/dcim/device.html:265 +#: netbox/templates/dcim/device.html:281 #: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "" -#: netbox/templates/dcim/device.html:273 +#: netbox/templates/dcim/device.html:275 msgctxt "Leg of a power feed" msgid "Leg" msgstr "" -#: netbox/templates/dcim/device.html:299 +#: netbox/templates/dcim/device.html:301 #: netbox/templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "" From 94c2e7582e1df592e32134b7e115777334984335 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 3 Jul 2024 08:28:12 -0400 Subject: [PATCH 19/42] Closes #16791: Add 200 & 400 Gbps selections for circuit termination port speed --- netbox/circuits/choices.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/netbox/circuits/choices.py b/netbox/circuits/choices.py index 5d0065edc..6648352a1 100644 --- a/netbox/circuits/choices.py +++ b/netbox/circuits/choices.py @@ -69,6 +69,8 @@ class CircuitTerminationPortSpeedChoices(ChoiceSet): (25000000, '25 Gbps'), (40000000, '40 Gbps'), (100000000, '100 Gbps'), + (200000000, '200 Gbps'), + (400000000, '400 Gbps'), (1544, 'T1 (1.544 Mbps)'), (2048, 'E1 (2.048 Mbps)'), ] From 224f157b7562845772916104536dbad88fe3df4c Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 3 Jul 2024 08:31:25 -0400 Subject: [PATCH 20/42] Fixes #16807: Fix layout of VLAN edit form when custom fields are present --- netbox/templates/ipam/vlan_edit.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/netbox/templates/ipam/vlan_edit.html b/netbox/templates/ipam/vlan_edit.html index 3ee04980e..2db461dce 100644 --- a/netbox/templates/ipam/vlan_edit.html +++ b/netbox/templates/ipam/vlan_edit.html @@ -53,10 +53,6 @@ {% endwith %} -
- {% render_field form.comments %} -
- {% if form.custom_fields %}
@@ -65,4 +61,8 @@ {% render_custom_fields form %}
{% endif %} + +
+ {% render_field form.comments %} +
{% endblock %} From a704708caa7214b39ba5b1b8ec70c8f98eb963f7 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 2 Jul 2024 10:15:34 -0400 Subject: [PATCH 21/42] Fixes #16679: Avoid overwriting custom JSON fields during bulk edit --- netbox/extras/models/customfields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index d2397fee8..d8f02ec6c 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -490,7 +490,7 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel): # JSON elif self.type == CustomFieldTypeChoices.TYPE_JSON: - field = JSONField(required=required, initial=json.dumps(initial) if initial else '') + field = JSONField(required=required, initial=json.dumps(initial) if initial else None) # Object elif self.type == CustomFieldTypeChoices.TYPE_OBJECT: From 98748d901bbd2f3560e96c96c653f608565ed749 Mon Sep 17 00:00:00 2001 From: RobertH1993 Date: Wed, 3 Jul 2024 11:27:19 +0200 Subject: [PATCH 22/42] Closes #16716, add NAT IP to device view for OOB IP --- netbox/templates/dcim/device.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html index e3ac944bc..d9da53de2 100644 --- a/netbox/templates/dcim/device.html +++ b/netbox/templates/dcim/device.html @@ -223,6 +223,11 @@ {% if object.oob_ip %} {{ object.oob_ip.address.ip }} + {% if object.oob_ip.nat_inside %} + ({% trans "NAT for" %} {{ object.oob_ip.nat_inside.address.ip }}) + {% elif object.oob_ip.nat_outside.exists %} + ({% trans "NAT" %}: {% for nat in object.oob_ip.nat_outside.all %}{{ nat.address.ip }}{% if not forloop.last %}, {% endif %}{% endfor %}) + {% endif %} {% copy_content "oob_ip" %} {% else %} {{ ''|placeholder }} From b18a6b7c599d41e4c1015f2c227beaccc0666a9a Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 3 Jul 2024 08:51:30 -0400 Subject: [PATCH 23/42] Fixes #16779: Fix saved filter selection for child object lists (#16789) * Fixes #16779: Fix saved filter selection for child object lists * Omit label_suffix --- netbox/dcim/views.py | 15 +++++++++++++++ netbox/ipam/views.py | 12 ++++++++++++ netbox/netbox/views/generic/bulk_views.py | 2 +- netbox/netbox/views/generic/object_views.py | 3 +++ netbox/templates/inc/table_controls_htmx.html | 14 ++++++++------ netbox/tenancy/views.py | 1 + netbox/virtualization/views.py | 5 +++++ 7 files changed, 45 insertions(+), 7 deletions(-) diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index 87f351e4d..b3d8d298e 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -31,6 +31,7 @@ from utilities.views import ( GetRelatedModelsMixin, GetReturnURLMixin, ObjectPermissionRequiredMixin, ViewTab, register_model_view ) from virtualization.filtersets import VirtualMachineFilterSet +from virtualization.forms import VirtualMachineFilterForm from virtualization.models import VirtualMachine from virtualization.tables import VirtualMachineTable from . import filtersets, forms, tables @@ -679,6 +680,7 @@ class RackRackReservationsView(generic.ObjectChildrenView): child_model = RackReservation table = tables.RackReservationTable filterset = filtersets.RackReservationFilterSet + filterset_form = forms.RackReservationFilterForm template_name = 'dcim/rack/reservations.html' tab = ViewTab( label=_('Reservations'), @@ -697,6 +699,7 @@ class RackNonRackedView(generic.ObjectChildrenView): child_model = Device table = tables.DeviceTable filterset = filtersets.DeviceFilterSet + filterset_form = forms.DeviceFilterForm template_name = 'dcim/rack/non_racked_devices.html' tab = ViewTab( label=_('Non-Racked Devices'), @@ -1835,6 +1838,7 @@ class DeviceConsolePortsView(DeviceComponentsView): child_model = ConsolePort table = tables.DeviceConsolePortTable filterset = filtersets.ConsolePortFilterSet + filterset_form = forms.ConsolePortFilterForm template_name = 'dcim/device/consoleports.html', tab = ViewTab( label=_('Console Ports'), @@ -1850,6 +1854,7 @@ class DeviceConsoleServerPortsView(DeviceComponentsView): child_model = ConsoleServerPort table = tables.DeviceConsoleServerPortTable filterset = filtersets.ConsoleServerPortFilterSet + filterset_form = forms.ConsoleServerPortFilterForm template_name = 'dcim/device/consoleserverports.html' tab = ViewTab( label=_('Console Server Ports'), @@ -1865,6 +1870,7 @@ class DevicePowerPortsView(DeviceComponentsView): child_model = PowerPort table = tables.DevicePowerPortTable filterset = filtersets.PowerPortFilterSet + filterset_form = forms.PowerPortFilterForm template_name = 'dcim/device/powerports.html' tab = ViewTab( label=_('Power Ports'), @@ -1880,6 +1886,7 @@ class DevicePowerOutletsView(DeviceComponentsView): child_model = PowerOutlet table = tables.DevicePowerOutletTable filterset = filtersets.PowerOutletFilterSet + filterset_form = forms.PowerOutletFilterForm template_name = 'dcim/device/poweroutlets.html' tab = ViewTab( label=_('Power Outlets'), @@ -1895,6 +1902,7 @@ class DeviceInterfacesView(DeviceComponentsView): child_model = Interface table = tables.DeviceInterfaceTable filterset = filtersets.InterfaceFilterSet + filterset_form = forms.InterfaceFilterForm template_name = 'dcim/device/interfaces.html' tab = ViewTab( label=_('Interfaces'), @@ -1916,6 +1924,7 @@ class DeviceFrontPortsView(DeviceComponentsView): child_model = FrontPort table = tables.DeviceFrontPortTable filterset = filtersets.FrontPortFilterSet + filterset_form = forms.FrontPortFilterForm template_name = 'dcim/device/frontports.html' tab = ViewTab( label=_('Front Ports'), @@ -1931,6 +1940,7 @@ class DeviceRearPortsView(DeviceComponentsView): child_model = RearPort table = tables.DeviceRearPortTable filterset = filtersets.RearPortFilterSet + filterset_form = forms.RearPortFilterForm template_name = 'dcim/device/rearports.html' tab = ViewTab( label=_('Rear Ports'), @@ -1946,6 +1956,7 @@ class DeviceModuleBaysView(DeviceComponentsView): child_model = ModuleBay table = tables.DeviceModuleBayTable filterset = filtersets.ModuleBayFilterSet + filterset_form = forms.ModuleBayFilterForm template_name = 'dcim/device/modulebays.html' actions = { **DEFAULT_ACTION_PERMISSIONS, @@ -1965,6 +1976,7 @@ class DeviceDeviceBaysView(DeviceComponentsView): child_model = DeviceBay table = tables.DeviceDeviceBayTable filterset = filtersets.DeviceBayFilterSet + filterset_form = forms.DeviceBayFilterForm template_name = 'dcim/device/devicebays.html' actions = { **DEFAULT_ACTION_PERMISSIONS, @@ -1984,6 +1996,7 @@ class DeviceInventoryView(DeviceComponentsView): child_model = InventoryItem table = tables.DeviceInventoryItemTable filterset = filtersets.InventoryItemFilterSet + filterset_form = forms.InventoryItemFilterForm template_name = 'dcim/device/inventory.html' actions = { **DEFAULT_ACTION_PERMISSIONS, @@ -2062,6 +2075,7 @@ class DeviceVirtualMachinesView(generic.ObjectChildrenView): child_model = VirtualMachine table = VirtualMachineTable filterset = VirtualMachineFilterSet + filterset_form = VirtualMachineFilterForm tab = ViewTab( label=_('Virtual Machines'), badge=lambda obj: VirtualMachine.objects.filter(cluster=obj.cluster, device=obj).count(), @@ -2944,6 +2958,7 @@ class InventoryItemChildrenView(generic.ObjectChildrenView): child_model = InventoryItem table = tables.InventoryItemTable filterset = filtersets.InventoryItemFilterSet + filterset_form = forms.InventoryItemFilterForm tab = ViewTab( label=_('Children'), badge=lambda obj: obj.child_items.count(), diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index 12c86c533..e0087f5d1 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -7,6 +7,7 @@ from django.utils.translation import gettext as _ from circuits.models import Provider from dcim.filtersets import InterfaceFilterSet +from dcim.forms import InterfaceFilterForm from dcim.models import Interface, Site from netbox.views import generic from tenancy.views import ObjectContactsView @@ -14,6 +15,7 @@ from utilities.query import count_related from utilities.tables import get_table_ordering from utilities.views import GetRelatedModelsMixin, ViewTab, register_model_view from virtualization.filtersets import VMInterfaceFilterSet +from virtualization.forms import VMInterfaceFilterForm from virtualization.models import VMInterface from . import filtersets, forms, tables from .choices import PrefixStatusChoices @@ -206,6 +208,7 @@ class ASNRangeASNsView(generic.ObjectChildrenView): child_model = ASN table = tables.ASNTable filterset = filtersets.ASNFilterSet + filterset_form = forms.ASNFilterForm tab = ViewTab( label=_('ASNs'), badge=lambda x: x.get_child_asns().count(), @@ -337,6 +340,7 @@ class AggregatePrefixesView(generic.ObjectChildrenView): child_model = Prefix table = tables.PrefixTable filterset = filtersets.PrefixFilterSet + filterset_form = forms.PrefixFilterForm template_name = 'ipam/aggregate/prefixes.html' tab = ViewTab( label=_('Prefixes'), @@ -523,6 +527,7 @@ class PrefixPrefixesView(generic.ObjectChildrenView): child_model = Prefix table = tables.PrefixTable filterset = filtersets.PrefixFilterSet + filterset_form = forms.PrefixFilterForm template_name = 'ipam/prefix/prefixes.html' tab = ViewTab( label=_('Child Prefixes'), @@ -558,6 +563,7 @@ class PrefixIPRangesView(generic.ObjectChildrenView): child_model = IPRange table = tables.IPRangeTable filterset = filtersets.IPRangeFilterSet + filterset_form = forms.IPRangeFilterForm template_name = 'ipam/prefix/ip_ranges.html' tab = ViewTab( label=_('Child Ranges'), @@ -584,6 +590,7 @@ class PrefixIPAddressesView(generic.ObjectChildrenView): child_model = IPAddress table = tables.IPAddressTable filterset = filtersets.IPAddressFilterSet + filterset_form = forms.IPAddressFilterForm template_name = 'ipam/prefix/ip_addresses.html' tab = ViewTab( label=_('IP Addresses'), @@ -683,6 +690,7 @@ class IPRangeIPAddressesView(generic.ObjectChildrenView): child_model = IPAddress table = tables.IPAddressTable filterset = filtersets.IPAddressFilterSet + filterset_form = forms.IPRangeFilterForm template_name = 'ipam/iprange/ip_addresses.html' tab = ViewTab( label=_('IP Addresses'), @@ -885,6 +893,7 @@ class IPAddressRelatedIPsView(generic.ObjectChildrenView): child_model = IPAddress table = tables.IPAddressTable filterset = filtersets.IPAddressFilterSet + filterset_form = forms.IPAddressFilterForm tab = ViewTab( label=_('Related IPs'), badge=lambda x: x.get_related_ips().count(), @@ -957,6 +966,7 @@ class VLANGroupVLANsView(generic.ObjectChildrenView): child_model = VLAN table = tables.VLANTable filterset = filtersets.VLANFilterSet + filterset_form = forms.VLANFilterForm tab = ViewTab( label=_('VLANs'), badge=lambda x: x.get_child_vlans().count(), @@ -1112,6 +1122,7 @@ class VLANInterfacesView(generic.ObjectChildrenView): child_model = Interface table = tables.VLANDevicesTable filterset = InterfaceFilterSet + filterset_form = InterfaceFilterForm tab = ViewTab( label=_('Device Interfaces'), badge=lambda x: x.get_interfaces().count(), @@ -1129,6 +1140,7 @@ class VLANVMInterfacesView(generic.ObjectChildrenView): child_model = VMInterface table = tables.VLANVirtualMachinesTable filterset = VMInterfaceFilterSet + filterset_form = VMInterfaceFilterForm tab = ViewTab( label=_('VM Interfaces'), badge=lambda x: x.get_vminterfaces().count(), diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index 87e352710..71ce411ba 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -176,7 +176,7 @@ class ObjectListView(BaseMultiObjectView, ActionsMixin, TableMixin): 'model': model, 'table': table, 'actions': actions, - 'filter_form': self.filterset_form(request.GET, label_suffix='') if self.filterset_form else None, + 'filter_form': self.filterset_form(request.GET) if self.filterset_form else None, 'prerequisite_model': get_prerequisite_model(self.queryset), **self.get_extra_context(request), } diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index 243ae2547..cad7facd3 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -87,12 +87,14 @@ class ObjectChildrenView(ObjectView, ActionsMixin, TableMixin): child_model: The model class which represents the child objects table: The django-tables2 Table class used to render the child objects list filterset: A django-filter FilterSet that is applied to the queryset + filterset_form: The form class used to render filter options actions: A mapping of supported actions to their required permissions. When adding custom actions, bulk action names must be prefixed with `bulk_`. (See ActionsMixin.) """ child_model = None table = None filterset = None + filterset_form = None template_name = 'generic/object_children.html' def get_children(self, request, parent): @@ -152,6 +154,7 @@ class ObjectChildrenView(ObjectView, ActionsMixin, TableMixin): 'base_template': f'{instance._meta.app_label}/{instance._meta.model_name}.html', 'table': table, 'table_config': f'{table.name}_config', + 'filter_form': self.filterset_form(request.GET) if self.filterset_form else None, 'actions': actions, 'tab': self.tab, 'return_url': request.get_full_path(), diff --git a/netbox/templates/inc/table_controls_htmx.html b/netbox/templates/inc/table_controls_htmx.html index ec913d32a..a07b319ef 100644 --- a/netbox/templates/inc/table_controls_htmx.html +++ b/netbox/templates/inc/table_controls_htmx.html @@ -13,14 +13,16 @@
-
-
-
- + {% if filter_form %} +
+
+
+ +
+ {{ filter_form.filter_id }}
- {{ filter_form.filter_id }}
-
+ {% endif %}
{% if request.user.is_authenticated and table_modal %} diff --git a/netbox/tenancy/views.py b/netbox/tenancy/views.py index 06fbcc575..c1b3c1b26 100644 --- a/netbox/tenancy/views.py +++ b/netbox/tenancy/views.py @@ -13,6 +13,7 @@ class ObjectContactsView(generic.ObjectChildrenView): child_model = ContactAssignment table = tables.ContactAssignmentTable filterset = filtersets.ContactAssignmentFilterSet + filterset_form = forms.ContactAssignmentFilterForm template_name = 'tenancy/object_contacts.html' tab = ViewTab( label=_('Contacts'), diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py index c143fff85..1030fed04 100644 --- a/netbox/virtualization/views.py +++ b/netbox/virtualization/views.py @@ -10,6 +10,7 @@ from django.utils.translation import gettext as _ from jinja2.exceptions import TemplateError from dcim.filtersets import DeviceFilterSet +from dcim.forms import DeviceFilterForm from dcim.models import Device from dcim.tables import DeviceTable from extras.views import ObjectConfigContextView @@ -173,6 +174,7 @@ class ClusterVirtualMachinesView(generic.ObjectChildrenView): child_model = VirtualMachine table = tables.VirtualMachineTable filterset = filtersets.VirtualMachineFilterSet + filterset_form = forms.VirtualMachineFilterForm tab = ViewTab( label=_('Virtual Machines'), badge=lambda obj: obj.virtual_machines.count(), @@ -190,6 +192,7 @@ class ClusterDevicesView(generic.ObjectChildrenView): child_model = Device table = DeviceTable filterset = DeviceFilterSet + filterset_form = DeviceFilterForm template_name = 'virtualization/cluster/devices.html' actions = { 'add': {'add'}, @@ -350,6 +353,7 @@ class VirtualMachineInterfacesView(generic.ObjectChildrenView): child_model = VMInterface table = tables.VirtualMachineVMInterfaceTable filterset = filtersets.VMInterfaceFilterSet + filterset_form = forms.VMInterfaceFilterForm template_name = 'virtualization/virtualmachine/interfaces.html' actions = { **DEFAULT_ACTION_PERMISSIONS, @@ -375,6 +379,7 @@ class VirtualMachineVirtualDisksView(generic.ObjectChildrenView): child_model = VirtualDisk table = tables.VirtualMachineVirtualDiskTable filterset = filtersets.VirtualDiskFilterSet + filterset_form = forms.VirtualDiskFilterForm template_name = 'virtualization/virtualmachine/virtual_disks.html' tab = ViewTab( label=_('Virtual Disks'), From cf38c7724e81aaf90c47e7b3b5ba64b538f4770e Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 4 Jul 2024 05:02:06 +0000 Subject: [PATCH 24/42] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 136 ++++++++++--------- 1 file changed, 69 insertions(+), 67 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 21d35116d..b251563e2 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-02 05:02+0000\n" +"POT-Creation-Date: 2024-07-04 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -326,7 +326,7 @@ msgstr "" #: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127 #: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122 #: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 -#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210 +#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 #: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162 #: netbox/templates/circuits/provider.html:23 msgid "ASNs" @@ -890,7 +890,7 @@ msgstr "" #: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022 #: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46 #: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 -#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18 +#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19 #: netbox/virtualization/forms/filtersets.py:37 #: netbox/virtualization/forms/filtersets.py:48 #: netbox/virtualization/forms/filtersets.py:106 @@ -2132,7 +2132,7 @@ msgstr "" msgid "Reserved" msgstr "" -#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:254 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 msgid "Available" msgstr "" @@ -2189,14 +2189,14 @@ msgstr "" msgid "Child" msgstr "" -#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:334 +#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339 #: netbox/templates/dcim/rack.html:175 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "" -#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:340 +#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345 #: netbox/templates/dcim/rack.html:181 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 @@ -2420,7 +2420,7 @@ msgstr "" msgid "Feet" msgstr "" -#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:322 +#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:152 msgid "Kilograms" msgstr "" @@ -3133,7 +3133,7 @@ msgstr "" #: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278 #: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134 #: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188 -#: netbox/templates/dcim/device.html:319 +#: netbox/templates/dcim/device.html:324 #: netbox/templates/dcim/devicetype.html:49 #: netbox/templates/dcim/moduletype.html:30 #: netbox/templates/extras/configcontext.html:17 @@ -3749,7 +3749,7 @@ msgstr "" #: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548 #: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479 #: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459 -#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:234 +#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239 #: netbox/templates/virtualization/cluster.html:10 #: netbox/templates/virtualization/virtualmachine.html:88 #: netbox/templates/virtualization/virtualmachine.html:97 @@ -4253,7 +4253,7 @@ msgstr "" msgid "Outer Dimensions" msgstr "" -#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:310 +#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315 #: netbox/templates/dcim/rack.html:73 msgid "Dimensions" msgstr "" @@ -5987,7 +5987,7 @@ msgstr "" #: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 #: netbox/virtualization/forms/model_forms.py:122 #: netbox/virtualization/tables/clusters.py:83 -#: netbox/virtualization/views.py:202 +#: netbox/virtualization/views.py:205 msgid "Devices" msgstr "" @@ -6067,8 +6067,8 @@ msgid "Power outlets" msgstr "" #: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046 -#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985 -#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988 +#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908 #: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237 #: netbox/templates/dcim/device/base.html:37 #: netbox/templates/dcim/device_list.html:43 @@ -6080,7 +6080,7 @@ msgstr "" #: netbox/templates/virtualization/virtualmachine/base.html:27 #: netbox/templates/virtualization/virtualmachine_list.html:14 #: netbox/virtualization/tables/virtualmachines.py:100 -#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55 +#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "" @@ -6106,8 +6106,8 @@ msgid "Module Bay" msgstr "" #: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060 -#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063 +#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 #: netbox/templates/dcim/devicetype/base.html:49 @@ -6137,8 +6137,8 @@ msgid "Allocated draw (W)" msgstr "" #: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747 -#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589 -#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145 +#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596 +#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145 #: netbox/netbox/navigation/menu.py:147 #: netbox/templates/dcim/interface.html:339 #: netbox/templates/ipam/ipaddress_bulk_add.html:15 @@ -6231,8 +6231,8 @@ msgstr "" msgid "Instances" msgstr "" -#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925 -#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928 +#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844 #: netbox/netbox/navigation/menu.py:84 #: netbox/templates/dcim/device/base.html:25 #: netbox/templates/dcim/device_list.html:15 @@ -6242,8 +6242,8 @@ msgstr "" msgid "Console Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940 -#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943 +#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860 #: netbox/netbox/navigation/menu.py:85 #: netbox/templates/dcim/device/base.html:28 #: netbox/templates/dcim/device_list.html:22 @@ -6253,8 +6253,8 @@ msgstr "" msgid "Console Server Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955 -#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958 +#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876 #: netbox/netbox/navigation/menu.py:86 #: netbox/templates/dcim/device/base.html:31 #: netbox/templates/dcim/device_list.html:29 @@ -6264,8 +6264,8 @@ msgstr "" msgid "Power Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970 -#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973 +#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892 #: netbox/netbox/navigation/menu.py:87 #: netbox/templates/dcim/device/base.html:34 #: netbox/templates/dcim/device_list.html:36 @@ -6275,8 +6275,8 @@ msgstr "" msgid "Power Outlets" msgstr "" -#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000 -#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003 +#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930 #: netbox/netbox/navigation/menu.py:82 #: netbox/templates/dcim/device/base.html:40 #: netbox/templates/dcim/devicetype/base.html:37 @@ -6285,8 +6285,8 @@ msgstr "" msgid "Front Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015 -#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018 +#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946 #: netbox/netbox/navigation/menu.py:83 #: netbox/templates/dcim/device/base.html:43 #: netbox/templates/dcim/device_list.html:50 @@ -6296,16 +6296,16 @@ msgstr "" msgid "Rear Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045 -#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048 +#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 #: netbox/templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "" -#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030 -#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033 +#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88 #: netbox/templates/dcim/device/base.html:46 #: netbox/templates/dcim/device_list.html:64 #: netbox/templates/dcim/devicetype/base.html:43 @@ -6330,7 +6330,7 @@ msgstr "" msgid "Racks" msgstr "" -#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:313 +#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318 #: netbox/templates/dcim/rack.html:90 msgid "Height" msgstr "" @@ -6363,38 +6363,38 @@ msgstr "" msgid "Test case must set peer_termination_type" msgstr "" -#: netbox/dcim/views.py:139 +#: netbox/dcim/views.py:140 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "" -#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28 +#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28 msgid "Reservations" msgstr "" -#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90 +#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90 #: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" msgstr "" -#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453 +#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453 #: netbox/templates/extras/configcontext.html:10 #: netbox/virtualization/forms/model_forms.py:225 -#: netbox/virtualization/views.py:399 +#: netbox/virtualization/views.py:404 msgid "Config Context" msgstr "" -#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409 +#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414 msgid "Render Config" msgstr "" -#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441 +#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441 #: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236 -#: netbox/virtualization/views.py:177 +#: netbox/virtualization/views.py:179 msgid "Virtual Machines" msgstr "" -#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233 +#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233 msgid "Children" msgstr "" @@ -9418,7 +9418,7 @@ msgid "The primary function of this VLAN" msgstr "" #: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175 -#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961 +#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971 #: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182 msgid "VLANs" msgstr "" @@ -9490,7 +9490,7 @@ msgid "Added" msgstr "" #: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165 -#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342 +#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346 #: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154 #: netbox/templates/ipam/vlan.html:84 msgid "Prefixes" @@ -9498,7 +9498,7 @@ msgstr "" #: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267 #: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82 -#: netbox/templates/dcim/device.html:255 +#: netbox/templates/dcim/device.html:260 #: netbox/templates/ipam/aggregate.html:24 #: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 msgid "Utilization" @@ -9591,23 +9591,23 @@ msgid "" "are allowed in DNS names" msgstr "" -#: netbox/ipam/views.py:528 +#: netbox/ipam/views.py:533 msgid "Child Prefixes" msgstr "" -#: netbox/ipam/views.py:563 +#: netbox/ipam/views.py:569 msgid "Child Ranges" msgstr "" -#: netbox/ipam/views.py:889 +#: netbox/ipam/views.py:898 msgid "Related IPs" msgstr "" -#: netbox/ipam/views.py:1116 +#: netbox/ipam/views.py:1127 msgid "Device Interfaces" msgstr "" -#: netbox/ipam/views.py:1133 +#: netbox/ipam/views.py:1145 msgid "VM Interfaces" msgstr "" @@ -10100,7 +10100,7 @@ msgstr "" msgid "Service Templates" msgstr "" -#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:297 +#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302 #: netbox/templates/ipam/ipaddress.html:118 #: netbox/templates/virtualization/virtualmachine.html:150 msgid "Services" @@ -10166,7 +10166,7 @@ msgstr "" #: netbox/templates/virtualization/virtualmachine/base.html:32 #: netbox/templates/virtualization/virtualmachine_list.html:21 #: netbox/virtualization/tables/virtualmachines.py:103 -#: netbox/virtualization/views.py:380 +#: netbox/virtualization/views.py:385 msgid "Virtual Disks" msgstr "" @@ -10228,7 +10228,7 @@ msgstr "" #: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30 #: netbox/templates/inc/panels/custom_fields.html:7 #: netbox/templates/ipam/ipaddress_bulk_add.html:35 -#: netbox/templates/ipam/vlan_edit.html:63 +#: netbox/templates/ipam/vlan_edit.html:59 msgid "Custom Fields" msgstr "" @@ -10548,7 +10548,7 @@ msgstr "" msgid "Journal" msgstr "" -#: netbox/netbox/views/generic/object_views.py:106 +#: netbox/netbox/views/generic/object_views.py:108 #, python-brace-format msgid "{class_name} must implement get_children()" msgstr "" @@ -11111,8 +11111,8 @@ msgstr "" #: netbox/templates/core/rq_worker_list.html:45 #: netbox/templates/extras/script_result.html:49 #: netbox/templates/extras/script_result.html:51 -#: netbox/templates/inc/table_controls_htmx.html:28 -#: netbox/templates/inc/table_controls_htmx.html:31 +#: netbox/templates/inc/table_controls_htmx.html:30 +#: netbox/templates/inc/table_controls_htmx.html:33 msgid "Configure Table" msgstr "" @@ -11381,45 +11381,47 @@ msgid "Management" msgstr "" #: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:227 #: netbox/templates/virtualization/virtualmachine.html:53 #: netbox/templates/virtualization/virtualmachine.html:69 msgid "NAT for" msgstr "" #: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 +#: netbox/templates/dcim/device.html:229 #: netbox/templates/virtualization/virtualmachine.html:55 #: netbox/templates/virtualization/virtualmachine.html:71 msgid "NAT" msgstr "" -#: netbox/templates/dcim/device.html:247 netbox/templates/dcim/rack.html:67 +#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67 msgid "Power Utilization" msgstr "" -#: netbox/templates/dcim/device.html:251 +#: netbox/templates/dcim/device.html:256 msgid "Input" msgstr "" -#: netbox/templates/dcim/device.html:252 +#: netbox/templates/dcim/device.html:257 msgid "Outlets" msgstr "" -#: netbox/templates/dcim/device.html:253 +#: netbox/templates/dcim/device.html:258 msgid "Allocated" msgstr "" -#: netbox/templates/dcim/device.html:263 netbox/templates/dcim/device.html:265 -#: netbox/templates/dcim/device.html:281 +#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 +#: netbox/templates/dcim/device.html:286 #: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "" -#: netbox/templates/dcim/device.html:275 +#: netbox/templates/dcim/device.html:280 msgctxt "Leg of a power feed" msgid "Leg" msgstr "" -#: netbox/templates/dcim/device.html:301 +#: netbox/templates/dcim/device.html:306 #: netbox/templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "" @@ -12740,7 +12742,7 @@ msgstr "" msgid "Quick search" msgstr "" -#: netbox/templates/inc/table_controls_htmx.html:19 +#: netbox/templates/inc/table_controls_htmx.html:20 msgid "Saved filter" msgstr "" From 8026f79cbba9678cc16cefb307f9e04782848c46 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 4 Jul 2024 08:23:05 -0400 Subject: [PATCH 25/42] Fixes #16813: Fix ordering of bookmarks in dashboard widget when filtering by object type --- netbox/extras/dashboard/widgets.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/netbox/extras/dashboard/widgets.py b/netbox/extras/dashboard/widgets.py index c4710468b..edf6df2e4 100644 --- a/netbox/extras/dashboard/widgets.py +++ b/netbox/extras/dashboard/widgets.py @@ -381,17 +381,17 @@ class BookmarksWidget(DashboardWidget): if request.user.is_anonymous: bookmarks = list() else: - user_bookmarks = Bookmark.objects.filter(user=request.user) - if self.config['order_by'] == BookmarkOrderingChoices.ORDERING_ALPHABETICAL_AZ: - bookmarks = sorted(user_bookmarks, key=lambda bookmark: bookmark.__str__().lower()) - elif self.config['order_by'] == BookmarkOrderingChoices.ORDERING_ALPHABETICAL_ZA: - bookmarks = sorted(user_bookmarks, key=lambda bookmark: bookmark.__str__().lower(), reverse=True) - else: - bookmarks = user_bookmarks.order_by(self.config['order_by']) + bookmarks = Bookmark.objects.filter(user=request.user) if object_types := self.config.get('object_types'): models = get_models_from_content_types(object_types) content_types = ObjectType.objects.get_for_models(*models).values() bookmarks = bookmarks.filter(object_type__in=content_types) + if self.config['order_by'] == BookmarkOrderingChoices.ORDERING_ALPHABETICAL_AZ: + bookmarks = sorted(bookmarks, key=lambda bookmark: bookmark.__str__().lower()) + elif self.config['order_by'] == BookmarkOrderingChoices.ORDERING_ALPHABETICAL_ZA: + bookmarks = sorted(bookmarks, key=lambda bookmark: bookmark.__str__().lower(), reverse=True) + else: + bookmarks = bookmarks.order_by(self.config['order_by']) if max_items := self.config.get('max_items'): bookmarks = bookmarks[:max_items] From e9dd5aa17b0e1e1b312204594f16ef2313bd741b Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 4 Jul 2024 08:50:22 -0400 Subject: [PATCH 26/42] Fixes #16806: Fix redirect URL when creating contact assignments with "add another" button --- netbox/tenancy/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/tenancy/views.py b/netbox/tenancy/views.py index c1b3c1b26..12bf4baab 100644 --- a/netbox/tenancy/views.py +++ b/netbox/tenancy/views.py @@ -365,7 +365,7 @@ class ContactAssignmentEditView(generic.ObjectEditView): def get_extra_addanother_params(self, request): return { - 'content_type': request.GET.get('content_type'), + 'object_type': request.GET.get('object_type'), 'object_id': request.GET.get('object_id'), } From a5185799161ca64822f44ac93dc77a6b34077f7a Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 4 Jul 2024 09:14:07 -0400 Subject: [PATCH 27/42] Fixes #16796: Allow assignment of VM with no site to a cluster with a site --- netbox/virtualization/models/virtualmachines.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netbox/virtualization/models/virtualmachines.py b/netbox/virtualization/models/virtualmachines.py index 2ca1599bf..9deebe3ef 100644 --- a/netbox/virtualization/models/virtualmachines.py +++ b/netbox/virtualization/models/virtualmachines.py @@ -179,8 +179,8 @@ class VirtualMachine(ContactsMixin, ImageAttachmentsMixin, RenderConfigMixin, Co 'cluster': _('A virtual machine must be assigned to a site and/or cluster.') }) - # Validate site for cluster & device - if self.cluster and self.cluster.site is not None and self.cluster.site != self.site: + # Validate site for cluster & VM + if self.cluster and self.site and self.cluster.site and self.cluster.site != self.site: raise ValidationError({ 'cluster': _( 'The selected cluster ({cluster}) is not assigned to this site ({site}).' From 7a88810a23bac96e42988c73fc4965b9fdf86450 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 4 Jul 2024 09:32:01 -0400 Subject: [PATCH 28/42] Fixes #16780: IKE proposal created via REST API should not require authentication_algorithm --- netbox/vpn/api/serializers_/crypto.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/netbox/vpn/api/serializers_/crypto.py b/netbox/vpn/api/serializers_/crypto.py index 3ee30b754..d7a2777c6 100644 --- a/netbox/vpn/api/serializers_/crypto.py +++ b/netbox/vpn/api/serializers_/crypto.py @@ -25,7 +25,8 @@ class IKEProposalSerializer(NetBoxModelSerializer): choices=EncryptionAlgorithmChoices ) authentication_algorithm = ChoiceField( - choices=AuthenticationAlgorithmChoices + choices=AuthenticationAlgorithmChoices, + required=False ) group = ChoiceField( choices=DHGroupChoices From 9ab7960a668aceb6d0ac96cf845ccc50c6692424 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 4 Jul 2024 10:00:50 -0400 Subject: [PATCH 29/42] Changelog for #16679, #16716, #16779, #16780, #16791, #16796, #16806, #16807, #16813 --- docs/release-notes/version-4.0.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/release-notes/version-4.0.md b/docs/release-notes/version-4.0.md index 028381f68..9e57e7162 100644 --- a/docs/release-notes/version-4.0.md +++ b/docs/release-notes/version-4.0.md @@ -5,18 +5,27 @@ ### Enhancements * [#16424](https://github.com/netbox-community/netbox/issues/16424) - Enable filtering of devices by cluster and cluster group +* [#16716](https://github.com/netbox-community/netbox/issues/16716) - Display NAT address (if any) for OOB IP address under device view * [#16725](https://github.com/netbox-community/netbox/issues/16725) - Always position the admin section last in the navigation menu +* [#16791](https://github.com/netbox-community/netbox/issues/16791) - Add 200 & 400 Gbps selections for circuit termination port speed ### Bug Fixes * [#16523](https://github.com/netbox-community/netbox/issues/16523) - Restore highlighting of current device in virtual chassis members panel * [#16654](https://github.com/netbox-community/netbox/issues/16654) - Fix parent item assignment for inventory item bulk import * [#16657](https://github.com/netbox-community/netbox/issues/16657) - Fix translation of object types in global search +* [#16679](https://github.com/netbox-community/netbox/issues/16679) - Avoid overwriting custom JSON fields during bulk edit * [#16689](https://github.com/netbox-community/netbox/issues/16689) - System configuration view should reflect static parameters when no config revisions exist * [#16714](https://github.com/netbox-community/netbox/issues/16714) - Fix cloning of device types with 0U height * [#16723](https://github.com/netbox-community/netbox/issues/16723) - Fix escaping of path to virtual environment in `upgrade.sh` * [#16735](https://github.com/netbox-community/netbox/issues/16735) - Object list "results" tab should show a count of zero when empty * [#16747](https://github.com/netbox-community/netbox/issues/16747) - Avoid clearing entire search cache when manually reindexing specific apps/models +* [#16779](https://github.com/netbox-community/netbox/issues/16779) - Fix saved filter selection for child object lists +* [#16780](https://github.com/netbox-community/netbox/issues/16780) - IKE proposal created via REST API should not require authentication_algorithm +* [#16796](https://github.com/netbox-community/netbox/issues/16796) - Allow assignment of VM with no site to a cluster with a site +* [#16806](https://github.com/netbox-community/netbox/issues/16806) - Fix redirect URL when creating contact assignments with "add another" button +* [#16807](https://github.com/netbox-community/netbox/issues/16807) - Fix layout of VLAN edit form when custom fields are present +* [#16813](https://github.com/netbox-community/netbox/issues/16813) - Fix AttributeError exception when filtering bookmarks in dashboard widget by object type --- From e02796a64ea4cd0345a755e5f7829d5326d17579 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 4 Jul 2024 10:28:52 -0400 Subject: [PATCH 30/42] Fixes #16721: Fix errant API request after deselecting a rack in device edit form --- netbox/project-static/dist/netbox.js | Bin 390786 -> 390811 bytes netbox/project-static/dist/netbox.js.map | Bin 355635 -> 355666 bytes .../src/select/classes/dynamicTomSelect.ts | 16 ++++++++++++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 27db4718bed9d0d4e9b6862e03f0020a4f7d8790..618fb33d15e850ddc2c92060ce7bb0280b34c8f4 100644 GIT binary patch delta 117 zcmZpAD?a6%cALlMa;s}XBIK*D_iHJmMG+9+NNgerKgqzr52W^7MFw; z-YFaDiW!BVaOiw9dHl2R5i21_w8O6+(*fP^JiZeB*=a(?c@>!?m6sIZ_rIwTy U6%OXad=?z895<;n&ddWGdiADYeC7Jno#TuGA)8`d2n@;yB sV%DF2sfhXF^d-g27g>ul)zmbmSC=r$GHSLjD`5s=mhH<*Sid#`0GCuCvj6}9 diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index d54ded87b5f3bc021aade9c894a3d3f64e9e1dec..95dd32d484166f20173893ba27e4a0853282cb95 100644 GIT binary patch delta 149 zcmdmdOZ3t$(S{br7N#xC@7y>&lXTo29ldo@r<=Mn>uCYmzB-;D0xX*B=$H)TI_o>> zI669d>Nq<(Is^HhK02P$1>Kp|7=5NExijBo^q=nF!Mu+fsK*ni(b-MMeLANnv#db6 olcRf?vyQ)`qd!pGH)*@JC$l*RQ(0JhN+2^3vusZZWIZnp0P&|Px&QzG delta 117 zcmca~OLX%s(S{br7N#xC@7yNW|6`N&)p2)p^wvpsbWGOqboA7Bg78xvU43-ir~A7z zt4;su#;h~F+@1Ljqwn+(59WQ`j*gC=K*i2(I-b*IJ(*=$6CHicows{=GMjTS>4&yA P2QmXO%l76#*7MQ;6YC`e diff --git a/netbox/project-static/src/select/classes/dynamicTomSelect.ts b/netbox/project-static/src/select/classes/dynamicTomSelect.ts index 758462b60..72c9fe518 100644 --- a/netbox/project-static/src/select/classes/dynamicTomSelect.ts +++ b/netbox/project-static/src/select/classes/dynamicTomSelect.ts @@ -74,20 +74,25 @@ export class DynamicTomSelect extends TomSelect { load(value: string) { const self = this; - const url = self.getRequestUrl(value); // Automatically clear any cached options. (Only options included // in the API response should be present.) self.clearOptions(); - addClasses(self.wrapper, self.settings.loadingClass); - self.loading++; - // Populate the null option (if any) if not searching if (self.nullOption && !value) { self.addOption(self.nullOption); } + // Get the API request URL. If none is provided, abort as no request can be made. + const url = self.getRequestUrl(value); + if (!url) { + return; + } + + addClasses(self.wrapper, self.settings.loadingClass); + self.loading++; + // Make the API request fetch(url) .then(response => response.json()) @@ -129,6 +134,9 @@ export class DynamicTomSelect extends TomSelect { for (const result of this.api_url.matchAll(new RegExp(`({{${key}}})`, 'g'))) { if (value) { url = replaceAll(url, result[1], value.toString()); + } else { + // No value is available to replace the token; abort. + return ''; } } } From f4532dd4ab0440afdb1e484a0f3bca5aee045e35 Mon Sep 17 00:00:00 2001 From: Adam Brutsaert Date: Thu, 4 Jul 2024 14:28:13 +0000 Subject: [PATCH 31/42] Closes #16817: Added 200 & 400 Gbps selections for circuit commit rate --- netbox/circuits/choices.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/netbox/circuits/choices.py b/netbox/circuits/choices.py index 6648352a1..e2d345581 100644 --- a/netbox/circuits/choices.py +++ b/netbox/circuits/choices.py @@ -38,6 +38,8 @@ class CircuitCommitRateChoices(ChoiceSet): (25000000, '25 Gbps'), (40000000, '40 Gbps'), (100000000, '100 Gbps'), + (200000000, '200 Gbps'), + (400000000, '400 Gbps'), (1544, 'T1 (1.544 Mbps)'), (2048, 'E1 (2.048 Mbps)'), ] From 22348cdbfc2b3b6ea200100704c03e3b82a3b63c Mon Sep 17 00:00:00 2001 From: Arzhel Younsi Date: Mon, 8 Jul 2024 18:04:17 +0200 Subject: [PATCH 32/42] Extend STORAGE_BACKEND config to support Swift (#16319) * Extend STORAGE_BACKEND config to support Swift Requires django-storage-swift >= 1.4.0 when used. Bug: T310717 Change-Id: I67cf439e9152608cbba3a3de4173d54ba5fbddc2 * Update system.md from suggestions Co-authored-by: Jeremy Stretch * Update settings.py from suggestions Co-authored-by: Jeremy Stretch * Update system.md from suggestions 2 Co-authored-by: Jeremy Stretch * Remove SWIFT storage from configuration_example.py * Load swift config as global instead of monkey path --------- Co-authored-by: Jeremy Stretch --- docs/configuration/system.md | 4 ++-- netbox/netbox/settings.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/configuration/system.md b/docs/configuration/system.md index a1e0ebb17..f3c68db1b 100644 --- a/docs/configuration/system.md +++ b/docs/configuration/system.md @@ -177,7 +177,7 @@ The dotted path to the desired search backend class. `CachedValueSearchBackend` Default: None (local storage) -The backend storage engine for handling uploaded files (e.g. image attachments). NetBox supports integration with the [`django-storages`](https://django-storages.readthedocs.io/en/stable/) package, which provides backends for several popular file storage services. If not configured, local filesystem storage will be used. +The backend storage engine for handling uploaded files (e.g. image attachments). NetBox supports integration with the [`django-storages`](https://django-storages.readthedocs.io/en/stable/) and [`django-storage-swift`](https://github.com/dennisv/django-storage-swift) packages, which provide backends for several popular file storage services. If not configured, local filesystem storage will be used. The configuration parameters for the specified storage backend are defined under the `STORAGE_CONFIG` setting. @@ -187,7 +187,7 @@ The configuration parameters for the specified storage backend are defined under Default: Empty -A dictionary of configuration parameters for the storage backend configured as `STORAGE_BACKEND`. The specific parameters to be used here are specific to each backend; see the [`django-storages` documentation](https://django-storages.readthedocs.io/en/stable/) for more detail. +A dictionary of configuration parameters for the storage backend configured as `STORAGE_BACKEND`. The specific parameters to be used here are specific to each backend; see the documentation for your selected backend ([`django-storages`](https://django-storages.readthedocs.io/en/stable/) or [`django-storage-swift`](https://github.com/dennisv/django-storage-swift)) for more detail. If `STORAGE_BACKEND` is not defined, this setting will be ignored. diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 3a8e51e05..7a248c875 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -225,6 +225,23 @@ if STORAGE_BACKEND is not None: return globals().get(name, default) storages.utils.setting = _setting + # django-storage-swift + elif STORAGE_BACKEND == 'swift.storage.SwiftStorage': + try: + import swift.utils # type: ignore + except ModuleNotFoundError as e: + if getattr(e, 'name') == 'swift': + raise ImproperlyConfigured( + f"STORAGE_BACKEND is set to {STORAGE_BACKEND} but django-storage-swift is not present. " + "It can be installed by running 'pip install django-storage-swift'." + ) + raise e + + # Load all SWIFT_* settings from the user configuration + for param, value in STORAGE_CONFIG.items(): + if param.startswith('SWIFT_'): + globals()[param] = value + if STORAGE_CONFIG and STORAGE_BACKEND is None: warnings.warn( "STORAGE_CONFIG has been set in configuration.py but STORAGE_BACKEND is not defined. STORAGE_CONFIG will be " From f2e3c1a219d8dee29bd30af1cc6924961e33d98e Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Jul 2024 05:02:43 +0000 Subject: [PATCH 33/42] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index b251563e2..ddb9ca2d9 100644 --- a/netbox/translations/en/LC_MESSAGES/django.po +++ b/netbox/translations/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-04 05:01+0000\n" +"POT-Creation-Date: 2024-07-09 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -10465,43 +10465,43 @@ msgstr "" msgid "Cannot delete stores from registry" msgstr "" -#: netbox/netbox/settings.py:724 +#: netbox/netbox/settings.py:741 msgid "German" msgstr "" -#: netbox/netbox/settings.py:725 +#: netbox/netbox/settings.py:742 msgid "English" msgstr "" -#: netbox/netbox/settings.py:726 +#: netbox/netbox/settings.py:743 msgid "Spanish" msgstr "" -#: netbox/netbox/settings.py:727 +#: netbox/netbox/settings.py:744 msgid "French" msgstr "" -#: netbox/netbox/settings.py:728 +#: netbox/netbox/settings.py:745 msgid "Japanese" msgstr "" -#: netbox/netbox/settings.py:729 +#: netbox/netbox/settings.py:746 msgid "Portuguese" msgstr "" -#: netbox/netbox/settings.py:730 +#: netbox/netbox/settings.py:747 msgid "Russian" msgstr "" -#: netbox/netbox/settings.py:731 +#: netbox/netbox/settings.py:748 msgid "Turkish" msgstr "" -#: netbox/netbox/settings.py:732 +#: netbox/netbox/settings.py:749 msgid "Ukrainian" msgstr "" -#: netbox/netbox/settings.py:733 +#: netbox/netbox/settings.py:750 msgid "Chinese" msgstr "" From 7564f6f5382c12be249b2df54dab8040669e8305 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 4 Jul 2024 11:02:28 -0400 Subject: [PATCH 34/42] Fixes #16808: Correct event type of webhooks emitted upon object deletion immediately following a modification --- netbox/extras/events.py | 3 +++ netbox/extras/tests/test_event_rules.py | 33 +++++++++++++++++++++---- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/netbox/extras/events.py b/netbox/extras/events.py index 22ce26ba9..9f2f79b24 100644 --- a/netbox/extras/events.py +++ b/netbox/extras/events.py @@ -63,6 +63,9 @@ def enqueue_object(queue, instance, user, request_id, action): if key in queue: queue[key]['data'] = serialize_for_event(instance) queue[key]['snapshots']['postchange'] = get_snapshots(instance, action)['postchange'] + # If the object is being deleted, update any prior "update" event to "delete" + if action == ObjectChangeActionChoices.ACTION_DELETE: + queue[key]['event'] = action else: queue[key] = { 'content_type': ContentType.objects.get_for_model(instance), diff --git a/netbox/extras/tests/test_event_rules.py b/netbox/extras/tests/test_event_rules.py index a1dd8b48e..bef045fb5 100644 --- a/netbox/extras/tests/test_event_rules.py +++ b/netbox/extras/tests/test_event_rules.py @@ -390,13 +390,36 @@ class EventRuleTest(APITestCase): request.id = uuid.uuid4() request.user = self.user - self.assertEqual(self.queue.count, 0, msg="Unexpected jobs found in queue") - + # Test create & update with event_tracking(request): site = Site(name='Site 1', slug='site-1') site.save() - - # Save the site a second time + site.description = 'foo' site.save() - self.assertEqual(self.queue.count, 1, msg="Duplicate jobs found in queue") + job = self.queue.get_jobs()[0] + self.assertEqual(job.kwargs['event'], ObjectChangeActionChoices.ACTION_CREATE) + self.queue.empty() + + # Test multiple updates + site = Site.objects.create(name='Site 2', slug='site-2') + with event_tracking(request): + site.description = 'foo' + site.save() + site.description = 'bar' + site.save() + self.assertEqual(self.queue.count, 1, msg="Duplicate jobs found in queue") + job = self.queue.get_jobs()[0] + self.assertEqual(job.kwargs['event'], ObjectChangeActionChoices.ACTION_UPDATE) + self.queue.empty() + + # Test update & delete + site = Site.objects.create(name='Site 3', slug='site-3') + with event_tracking(request): + site.description = 'foo' + site.save() + site.delete() + self.assertEqual(self.queue.count, 1, msg="Duplicate jobs found in queue") + job = self.queue.get_jobs()[0] + self.assertEqual(job.kwargs['event'], ObjectChangeActionChoices.ACTION_DELETE) + self.queue.empty() From d8d66581cc051f9365ff4dcd12fe048ca2246ba2 Mon Sep 17 00:00:00 2001 From: locklearxd <105985337+locklearxd@users.noreply.github.com> Date: Mon, 8 Jul 2024 14:09:16 -0400 Subject: [PATCH 35/42] potential fix for IKE policy mode issue with version2 --- netbox/vpn/api/serializers_/crypto.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/netbox/vpn/api/serializers_/crypto.py b/netbox/vpn/api/serializers_/crypto.py index d7a2777c6..10b3f7855 100644 --- a/netbox/vpn/api/serializers_/crypto.py +++ b/netbox/vpn/api/serializers_/crypto.py @@ -50,7 +50,8 @@ class IKEPolicySerializer(NetBoxModelSerializer): choices=IKEVersionChoices ) mode = ChoiceField( - choices=IKEModeChoices + choices=IKEModeChoices, + required=False ) proposals = SerializedPKRelatedField( queryset=IKEProposal.objects.all(), From 96ff796b9482149b933a54e32d5f3d6c8f5bf2ee Mon Sep 17 00:00:00 2001 From: Mattias L <156665038+mulmat@users.noreply.github.com> Date: Tue, 9 Jul 2024 14:39:43 +0200 Subject: [PATCH 36/42] Allowed configuration of Sentry send_default_pii parameter (#16803) * Allowed configuration of Sentry send_default_pii parameter. Also changed default value of send_default_pii to False to avoid sending sensitive data to Sentry. Closes #16802 * Order alphabetically & link to Sentry parameter documentation --------- Co-authored-by: Jeremy Stretch --- docs/configuration/error-reporting.md | 11 +++++++++++ netbox/netbox/settings.py | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/configuration/error-reporting.md b/docs/configuration/error-reporting.md index 8c3526dec..56f187845 100644 --- a/docs/configuration/error-reporting.md +++ b/docs/configuration/error-reporting.md @@ -31,6 +31,17 @@ The sampling rate for errors. Must be a value between 0 (disabled) and 1.0 (repo --- +## SENTRY_SEND_DEFAULT_PII + +Default: False + +Maps to the Sentry SDK's [`send_default_pii`](https://docs.sentry.io/platforms/python/configuration/options/#send-default-pii) parameter. If enabled, certain personally identifiable information (PII) is added. + +!!! warning "Sensitive data" + If you enable this option, be aware that sensitive data such as cookies and authentication tokens will be logged. + +--- + ## SENTRY_TAGS An optional dictionary of tag names and values to apply to Sentry error reports.For example: diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 7a248c875..e8d9590fc 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -147,6 +147,7 @@ SECURE_SSL_REDIRECT = getattr(configuration, 'SECURE_SSL_REDIRECT', False) SENTRY_DSN = getattr(configuration, 'SENTRY_DSN', None) SENTRY_ENABLED = getattr(configuration, 'SENTRY_ENABLED', False) SENTRY_SAMPLE_RATE = getattr(configuration, 'SENTRY_SAMPLE_RATE', 1.0) +SENTRY_SEND_DEFAULT_PII = getattr(configuration, 'SENTRY_SEND_DEFAULT_PII', False) SENTRY_TAGS = getattr(configuration, 'SENTRY_TAGS', {}) SENTRY_TRACES_SAMPLE_RATE = getattr(configuration, 'SENTRY_TRACES_SAMPLE_RATE', 0) SESSION_COOKIE_NAME = getattr(configuration, 'SESSION_COOKIE_NAME', 'sessionid') @@ -553,7 +554,7 @@ if SENTRY_ENABLED: release=VERSION, sample_rate=SENTRY_SAMPLE_RATE, traces_sample_rate=SENTRY_TRACES_SAMPLE_RATE, - send_default_pii=True, + send_default_pii=SENTRY_SEND_DEFAULT_PII, http_proxy=HTTP_PROXIES.get('http') if HTTP_PROXIES else None, https_proxy=HTTP_PROXIES.get('https') if HTTP_PROXIES else None ) From 6a1245c792dccc6f6cd4d3b70d73f009650294d2 Mon Sep 17 00:00:00 2001 From: Martin <58110823+m2martin@users.noreply.github.com> Date: Tue, 9 Jul 2024 14:51:12 +0200 Subject: [PATCH 37/42] Fixes #16758: Create language cookie if required (#16764) * Fixes #16758: Create language cookie if required * Align language cookie with session lifetime --- netbox/account/views.py | 4 ++-- netbox/netbox/middleware.py | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/netbox/account/views.py b/netbox/account/views.py index feb85fdfe..d7c43aebf 100644 --- a/netbox/account/views.py +++ b/netbox/account/views.py @@ -111,7 +111,7 @@ class LoginView(View): # Set the user's preferred language (if any) if language := request.user.config.get('locale.language'): - response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language) + response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language, max_age=request.session.get_expiry_age()) return response @@ -206,7 +206,7 @@ class UserConfigView(LoginRequiredMixin, View): # Set/clear language cookie if language := form.cleaned_data['locale.language']: - response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language) + response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language, max_age=request.session.get_expiry_age()) else: response.delete_cookie(settings.LANGUAGE_COOKIE_NAME) diff --git a/netbox/netbox/middleware.py b/netbox/netbox/middleware.py index 6e7da9ab0..e15cb560d 100644 --- a/netbox/netbox/middleware.py +++ b/netbox/netbox/middleware.py @@ -47,6 +47,11 @@ class CoreMiddleware: with event_tracking(request): response = self.get_response(request) + # Check if language cookie should be renewed + if request.user.is_authenticated and settings.SESSION_SAVE_EVERY_REQUEST: + if language := request.user.config.get('locale.language'): + response.set_cookie(settings.LANGUAGE_COOKIE_NAME, language, max_age=request.session.get_expiry_age()) + # Attach the unique request ID as an HTTP header. response['X-Request-ID'] = request.id From aceed94787c0663d617867bbe244c2b7a4fafa33 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 9 Jul 2024 12:19:39 -0400 Subject: [PATCH 38/42] Changelog for #14554, #16721, #16758, #16802, #16808, #16817, #16843 --- docs/release-notes/version-4.0.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/release-notes/version-4.0.md b/docs/release-notes/version-4.0.md index 9e57e7162..baaa9ea90 100644 --- a/docs/release-notes/version-4.0.md +++ b/docs/release-notes/version-4.0.md @@ -4,10 +4,13 @@ ### Enhancements +* [#14554](https://github.com/netbox-community/netbox/issues/14554) - Add support for [django-storage-swift](https://github.com/dennisv/django-storage-swift) storage backend * [#16424](https://github.com/netbox-community/netbox/issues/16424) - Enable filtering of devices by cluster and cluster group * [#16716](https://github.com/netbox-community/netbox/issues/16716) - Display NAT address (if any) for OOB IP address under device view * [#16725](https://github.com/netbox-community/netbox/issues/16725) - Always position the admin section last in the navigation menu * [#16791](https://github.com/netbox-community/netbox/issues/16791) - Add 200 & 400 Gbps selections for circuit termination port speed +* [#16802](https://github.com/netbox-community/netbox/issues/16802) - Introduce `SENTRY_SEND_DEFAULT_PII` configuration parameter and disable PII export by default +* [#16817](https://github.com/netbox-community/netbox/issues/16817) - Add 200 & 400 Gbps selections for circuit commit rate ### Bug Fixes @@ -17,15 +20,19 @@ * [#16679](https://github.com/netbox-community/netbox/issues/16679) - Avoid overwriting custom JSON fields during bulk edit * [#16689](https://github.com/netbox-community/netbox/issues/16689) - System configuration view should reflect static parameters when no config revisions exist * [#16714](https://github.com/netbox-community/netbox/issues/16714) - Fix cloning of device types with 0U height +* [#16721](https://github.com/netbox-community/netbox/issues/16721) - Fix errant API request after deselecting a rack in device edit form * [#16723](https://github.com/netbox-community/netbox/issues/16723) - Fix escaping of path to virtual environment in `upgrade.sh` * [#16735](https://github.com/netbox-community/netbox/issues/16735) - Object list "results" tab should show a count of zero when empty * [#16747](https://github.com/netbox-community/netbox/issues/16747) - Avoid clearing entire search cache when manually reindexing specific apps/models +* [#16758](https://github.com/netbox-community/netbox/issues/16758) - Ensure manually selected lagnuage persists across browser sessions * [#16779](https://github.com/netbox-community/netbox/issues/16779) - Fix saved filter selection for child object lists * [#16780](https://github.com/netbox-community/netbox/issues/16780) - IKE proposal created via REST API should not require authentication_algorithm * [#16796](https://github.com/netbox-community/netbox/issues/16796) - Allow assignment of VM with no site to a cluster with a site * [#16806](https://github.com/netbox-community/netbox/issues/16806) - Fix redirect URL when creating contact assignments with "add another" button * [#16807](https://github.com/netbox-community/netbox/issues/16807) - Fix layout of VLAN edit form when custom fields are present +* [#16808](https://github.com/netbox-community/netbox/issues/16808) - Fix event rule triggering in scenario where objects are updated immediately prior to deletion * [#16813](https://github.com/netbox-community/netbox/issues/16813) - Fix AttributeError exception when filtering bookmarks in dashboard widget by object type +* [#16843](https://github.com/netbox-community/netbox/issues/16843) - Permit creation of IKE policies via REST API without specifying an IKE mode --- From 4c797bf7552877181e7087ffcd1a1093d0119b16 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 9 Jul 2024 13:05:57 -0400 Subject: [PATCH 39/42] Update dependencies for v4.0.7 --- netbox/project-static/dist/netbox.js | Bin 390811 -> 390612 bytes netbox/project-static/dist/netbox.js.map | Bin 355666 -> 355447 bytes netbox/project-static/package.json | 2 +- netbox/project-static/yarn.lock | 8 ++++---- requirements.txt | 18 +++++++++--------- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 618fb33d15e850ddc2c92060ce7bb0280b34c8f4..5624e7298e37c031d7e0508a1fb7020199237234 100644 GIT binary patch delta 17394 zcmaic33yXg`uB70Qq}^67HBD@4N#IcO|Mz?k&(m|y_MZ2= z`+3g^H+(wb@W&JG`BWJi({0^h-5TrrMzN+U{nOPCr?FUHdeNdx4Cv{xdURJzcSJqm zR$tT}>+==Oo}yu9v(KvOc8eBm?{Wr%P1P+?UwCb&CuFh5`X4GnGG0UynwftY4x~r@r zrqB244!FF`+EqcJ4sswypqNnePnz?yyz1U^Rw-ndvw%%Ug z*%A)6yWD!Oz*FnXT2weL#m>aiHmBCNVv#kQ+O=>n8uj~JUTXpe8})8mG<_0!&+qVc z_*}^jr%91;FxWR`QSO+S-k|A?gFybU$fi(ZpS5-&i}knFE*^rd-?x16LFJ1CW4c`jw+ahm+>E#zxrc z=Up5OyAtvPE)H&OXtde2zKiOofbhHOEiA@Ym#UdLfuv|-`GL;@4Qla4y*>)m#=?Gc zVRv8aiah4-yL?3$8~J`kC;pzlvKV{2apk3I6=bv?g6?S6biX(33t&BxT1}r1$O);{ zQc?@ZCdDeC9#92$pL=~abN9#BJ6Ik-`Dt0ZR~Jy?;RKb0boTvogPUpn(>KnQhmt-) zL$yBdCMVF@wW)wq*&e`z{^vG5R18sd`Go#i0v-~~ie>=|c*Z>b4xb&O*Gmei_1$%O z{%ojpOGltNss{r?U$n5*r`ti|h;D~Af)I96B)g?07;d+~JOqJx|1XzcGb9}g0ca=~ zvJ#;LsQdyJf;hvuQFqXXehMC2HjCRvlt&I7?VcqNN>52QW zi8a5)rk#x#Ku9Rwv-jJMs-(P-z|SKz?w}r+ElRrvRgKwa{QLr z43&)AzCmTkpI6GLY`oJBBrm)3w-AZ+zid@60-6vXNVlUY7>q=HUJ?mfAH)=8g=wPl z{dyHy9ZRSqqFJaDly-U(jbUHN?}6E&b_j%%Z0f0_J|-!-hJ<#qk!zHFm`5-(z1Qt`_{0wKI1+csBq%GVtl9fpNqd+`mYB? z)cdbtZT;8ZU&>I~`+#e>ruWiB5|oSwGts!^!AX794`z>n&eFQQusYUo*h(E|K-70V z_!}7zX6*S}dRkm}Rd&bwUwyWirHk)qJmd?u`fR4f?MPL4bQjBK;!urZY_xE)@DMj%mxGGYQbunZfyYz zO%(>pSM7(Q_T90+4u4PX|0fVLUc5>f4Ow!zVnN-TUj|aP^{qYR1nOH4ozGZ&$B|+d z@3SAdD+eeC^@b*Rt2nW-S$w-9x;5VS#gP*1&gQC&_f0+8k=>>@bm)y@OtGsYX+muF zw!V9hF2~Y8AN~CdKq~{F`As_h!XeVm#f}12%rG?!d+*!*%3WB0)3Iszd(pA1Y!Jch zw3z}}P)?Sm07(4(*yK#=g$_mMuT6Xu7RLMDJeEB+*-==C9$&y)8Rx6+Vg>z0ukK|E zaB1dMe`8sF>Bq-loxI~q@VE7NH;ebbdt3q)`agL68D&gdPfC3UQ6S#8=R_+Y<8zVj z0^D}tt>gW(-r2^c0VwvAApKgRoda=5bu=1Y91tjjVEp_UQg+`j@8)8;-1lz8-#zaw z!)j^o{}zk(ZTp~t#rf`+q%2fUd_Zg2V7{z=Uo?NEo=>9Fzv;u_5<~=&m6Rqh(*pAZ z*&(e#S9go<^Lw3f-QMZbTeYaOyw^4$LC}H@9S|I1RHMsc4zlQh{J35f?|=N?nS{&X zk3f_D$sd281{Sy=e_l`2lh|?4G*R)s(l51%fFu;uRLpjWb3q`-|Gt} z=U`vSIThrqAO~@N<#6UJz?|l=&lB}6*8K=TT}uM4N{CPtv66L3z~+qeu_M?m)vB1t4_xIA1xEL3+4E4Iup_3E)o3k`=sG)IvEvLMh# zdvToKox^fRL9_<99m`?Uf#uIRYzD9^oWzC>VIiZ`!nVsOpP0@b8IJDWGWI7H;yLB4 z2DS6bS#U~R2Xjn4hZ;fT*6McfauJBwL@fQJoLz`1Z8KR809`(l{TbWm_Brev$Y*7{ zUfiTtnX)Nj3hP?E1dVay<~gi?2oG)6(rUF@Q9V-G~9O7((pbvdyGXco&!`Y+&!n2MfgdbhUO4o~lK2MmOtGxiM z8!!a$E`-Hm#6?y_{I+gvu^kKP4mZMR5Z`K{4M4zCuDf9oyda#t)7+H(sVo0n`b|pm?pvMa;*@W|KLb_H8 z%)q*pLTO+>1UoT<9FunotXCjvU8&p4Z510K?dU)dQjO3u=1WZ3h?x7dB|xp+8`z|o zVtm-w681$jb999E0O|yrJ0d~IYv+r(wpQ7yw$)y5C3v9uGwhX1p9_L&^Fb?_^6+E$m{`m_?|5!jqa2RYEes ztO{YG`AspF$uEwx85FTrio^tT_SC`r$v8U$u>TWhzedq>0h@>={%`@inO2;8A)Acq z`U_d(XjJ>JVvQ&=wz4&KiO|>4=8M-*4B>LEjgZj=%|c;cOb>QM*6K}um=Z`ZwNi>B z(PA%vNJ8q!W9WSK#VngISi{ndm$$MT$aw~~i)F9e&gMy2{$D$ogRuGL5A1RjJ=d}x zw0?grdr(S??#~YTn!Cn_Bpd>&zjxXXm|4+yVzpZ zX1uzK%~4nzA9EYCj%&lIU`tRBSS>vkc+(zBv70ZujV)jrzw$PA8HQ*4naz?}%&5JS zT{DDf#%sG-os^GrMFe|7vOt{f5&WN7K9^2!X0yg??t}ig`Ca#6D{aPe_pwiK)-)ct zAFdST_YW`&a4>TBu-k?K_>)hwb8tK|COylZl_uioh68%7ZpWz>2nx=vL$ZNi{1^lp z2d-7)hN5>J_41ovV&l=ay?p%KWE;{(y~!LvzE{UV^Hg|=6Kf)N)A)6J*`-9T!QryT z%XiATAVb|gHW_K5fuzDZV3dI1*R4QeFs?ZE4J?gw*r26Tvy!M;X>V=($$c!dq%C>m z2Q-|I5WgYlY=tp0vkrxY)#L@>T>!AnkX~R#67i1wOhGMVsi2zvwDGDJiD~@87uiJq z`ismt95^Hh$@34e$un^hOc9pCN6KP|GXk1zNnh+9JcwWNBGmh`18jZP0I&fX)Dk;X z!70HDp8FCaIN&yz2?MM0l`pXsz;NeFZ1W@YsAC%a~z<-pZwFocXI@?mtgLv|URO~{1?+tG?_s@?Bvp>}&0 z{fRp@1=A+CJs)+Oh-jyva2q_}4N_Tz9 zY;%x!fFQ=9(k^@^a}ZT!&Nkh?7=fFa9}y~=)E-Nf#)o|cQyAlyf5nai>#x6NWqili z%wvA{j-)KpIt}4Lz@-_z-!N4Ii7)*Y49BGFzhf_$MXqt__w0|OS! zN^1PxAK*fAeq>X4{|^XnMOT{W()lIhSswq>4{U-l???8K1g^QdJdjA_IT2*U4E76q zEp06EG9g1X9h7Z~@lRE0LN3xoU>EX+R8aoVA=u`M2dx^IW!jyTfFnVTA(Eo+)EY7Vw>)VgzjCNFp$_*6iED)tB`NCW!^TMS0HbD%v<1c8W2DY9(&<5DC(wAdStz2n!{N zN)TOQP>IhRWpTQVKTVJxWHt<-o2>-3HNC+NNvsoD`Y1)H%`g-KE#93iO$GA1vZW5F za#oHsQsP6$NaMztWE?C?Zhls-R5~3J1^PyPQOy@Njn4mKWcUra5?v3a$O;M%f(1)? zJXiW_IxaP!Xan+w5Dqn9Rv|Q;-&Q1DI{_4HXe5~`C?^5$MjA5eb838bvE%Jv?y^gBQG3TOorz*n ziIk5b{X3S+&n}TNN&y7NE?<-u$G1qjlNv(Slh6kmvBsyR(lq`^i8KOGo-2`RQH*j( zQwbRpjth5xWC*JrQUN-f9a0M=&f!E;8+*keO+(j@4rvvN`ckPL9J--Y%As4jU|_Kx zjzrgoAOJqPAA7D;nv&K=Zd$Cq15++8lV(Aq?k~e;++=+D|CC8%5heamCe@E-^}KF@ z^d+k|=2uH01{(Z*p>zp~(i&;{CSd>?{CXq8V3;s`xVn3V0562tf{P^3RX$x<%*5Rr zmL|k}5C=gQ@l{wDPM$}4DFfr?ch^Xlq(cyJ$3^l8|Jir%>P%zRB555`Ef$NC;Zq`McC^)8kcfDV6NEX^4Shmp+Iy7`BTrMz5#g=9y>`M%s{t4MTX zA$u*)sFgBt7iBX~b&w%9UwD@EJfMwSBE?Z$zC^f(+m}f5a6MUA$S)~S#_|6wk;aqT z!r~cq60UKK$~x)eAwZSFAzuE0ly9tDEqylxq+D{2bRh#}Pi}*=cx#h%B=K$RZ;-Z2 z7;xTsk}9M0dZbOL^C#P-as1_GX=3vG=VnM?qJ61%pgrc5CM4R8o4wN4X{gNbOZoi4 zHgK=r!1r=mSpfV^J8Yf!wkDf?YM1_kVRr9qx!GjTLE4IBkD#hW&$PF$GIk$w! zyyN?VkaI(*0;iE?$|x?^BT-8I;3CLoU*tiohpWWX`-n>aH9_NNbVySX2O%hF=#WYk zFhk>8JAiM@INo8>#or|%9bIpH7?%o@_!)&4Nxx1}^O=jKClZJoH(ny0NOlf|k4mHYrQ4)-48(xB$=SU6YN-p8_FN5!=3L|c z9n$+FP`Q4mYE;j&cTr(DcS-*sK7MtJbO&G=H{2#&A!V5&VNHhAcFk|I z*Yk=y1e`5*NMVe8;|{5WpbIpo_Deq}zn%9>$HpZfbiywNJMCQ&%r~Y#AdSLW=8Wb4 zkbL+SZ2spz;LGZH*+bHrMAI;TD--~Sa**R8NhS#s>pc9hv^nu@obia10ebPpPe9%4 z`EyT5g+S}`C!{0EMT|F|k*-Wp=vV)e8j^GW^Dn6?)v@9^>7U6C`}5LJ>JWG>*$a!8 zSo!w7()akjX`gfrirFtnSEG3L1;W_K*)RQ-PS^iBDA{oUqx%+|d+S>1Fa|yC=|Svj z=27TYM{nw&cOgd3%hGgMFJr+8z)CK&-~(xrp}q_L4sPMMzbD;*hK29LlqL|Ok^K7i zrK<)tJT){y_b`9*YG|(IL+RZ?-II)Y|07Kth8D3s0pa44(znTmE54L|m;APVC4B(o zMt?2s8H2XHikz2_!vl&u!BABBfs}l|JY05?QAkghe@CtNHSQbNu`XO0>5d2Jduy8l1Jm%iuf(y3)B6RE2>i> zJYVA{tK=NMyb5DAzM)DcM=GXltCB}b8shtIC6nJNN|2s=uBFOsr_cc|^Vy#bb}iYtWbRsC-KajB6-BQr#Xf1)D-- zz{R1gO4FU@&2VooB^_`|dHYd02QzaC36mvvMVhr=OL-NAc)$@-h^|o|mnoLP`H@wPG$` zy;si6qcGll3^52?m5HY_#Ls_Tu0c*RMdc8G;(2-U9E?Rwh>NTiy|p5wJ34*7wiO-i zO}=mh@CxvZ0F4nX*jbO$i$-nb$Y=6#d*!cisWW7sJc^|eRK10tEL0})Sue;xSB8i& z$-8sRr!y$C$SZsVG)B)ArgOlzg#pL=@VKn z(y7xcun_-lzwF2e>C?++4oY;n`P>)fg`n02FUn63!5#^kvFLytmC*RmLD`Dpor7}w z6!g{OiGrgYc|WXomdN{?OtabSAs%>H-ZL=B(?x@{09_6Y8g$knxeEZFI3$lBO~_FQ z+zR=@;g?@>7^?TvA$j9)u^oFS`pw2=nlg-EbXcB-ska@L!&xESX)T{w3<%gwarw-m zjtDkbd_;C*#1%*66*x$V%_rb{sr%z2a!xjAj3imq)6-LiLwBcMTJD=wDHxS^6cQQY zO-JSB@C>PecTAE6+ty`L6sCT5a#i8Mw*h6(2(JL%iif`B!ND_lNSOG`9WU@;(&vK9YB< z#JUjw^dor&gnm%&5_W*PC@@WN78i77PJXf(c5%hWavJ8M#jLk~3_BU(mwqfe@N+_(J|1;D?-)&qlHNr2IP+ADxsRmqI$9)6Cy2b@7x`HhdSIxMC8Yx=jchg! z^N_M4NofY|TP4Lqx8Yx?%2U!{jQGBx%57LHG)$?0&{X2BP)MKOnoN%3R17n1bY+pvMHBJwiz*!oHfOSoqQr$_jK`H$s_$;-L{r9*Scllzpjb3Y$7e1=d0Z_>L^af!-&xl%?}PCVJW>+yi|ivqISMg^9jo6JG1#lU`8t z^jrve8Bb7*$av*xHUf*lb-;xdgn0EtWjxW~YM+wN;}aE9qHPnEVzLRH+_Mz2ba0~5 zK{PunM}cWFF3eFTl4|qG3K>zMD`lUM0i*AwkT09FpnTvG0`Eg;!K4!NrFlxtcwig$ z`C*{E$@>Mo@d)u-^OSPHIg+Q;|CgmIpQ8L4eZ~~!B$?jCy%%0lQv$JkmNO8j0)!{? zl>+GWDcQxDb0OA9)Q;mr3up`G_nHEw6yN1n;OM$}i=y!B3Y0~b0m$I*ta(-C&XRI+ z(aq7Yf0-{%OVFcNKF*@}2G3T`BExZwMcF{YeER4SQQ3wog|&5$OyqR4zjC+d{>Ds=(Bcjeen6$>DDmDrIoN zfKULM{6We}gPv0i0V_WbysZiuff>pe8Ox=N7%gX9RisoBvjJsM!ZxQUGz7+x+<-C5 zuEc53-%FGkD2|jU=b$KcC}bGUbtn`B>~bh&C|+_Xub{ZIR9OQRZsZ5ON-obX6Z5Le zly(Tz?lL8qhA~s-DifhO4QK0(jRWyfL$ZZ3K|MVXYcp2)fLKgA+iIWA|G$wLVW%TW%(o!%?01EHUdIWRBlFiRaEDir}CIhY04)k_bM=DZgh?M1{-Gyh`7{Z z!;A*3FetL%_pF354e@7JD$5JZwHgN{_08vIAv|Ppiq+0or8HqQU!~lOqHeYF9ty`A zWyw@Q6c}*;fry@h51fT34tvM1TO+K^V{4Q>rv%i-Wos3Rj`)dn%3X-|3JW(uLMa8k zMj3DXb-nUi60I}NRUSt1#ktCLD1P6lOb3tdX;co9U;EW&rSw!i!qcY^e`>QZyeBs+ zQ4DJFC>n|b9%Vj?kxj}(6w{lOEhx4(DOQp=^1OV1lTrprxATIHO6IUi7xvXcYB{-C z>4v<3BmDC(<#ps;j{%9jUS$sxJ4zZzV|$Bo79)Y^KHbTD)T-bKBs{UESWmZ)#vEN4 z%T80-ArK#N5P&hWz+%#aJPRT_Q;mPM1-^<5P9ltj!-QS9p-piOPebZb(<`{A16%rH zmaOt^=SgYCj~xnQLvbFXymOS7f39ZnoK7VdmqW?7=MIa_mQW^~*i50rRfu@^ zunKOzwNrT@1KG1mYd4Oa=Br|-o3HCq3d+RM)F!%W^+rnN+mJ=YL!cIVM~_F{_=Sa! zp4LzPcerkU&_lN;&|-S$ z$vyozh24L@@|TfRP4@Cl4=7*d;3CN34>q^?yilyc-8N&xgUU}5-D~0Y4ezv?qjc0Y z4}y;R>a*P&s+X^?r7Yv=Z57y0oPHA#$FbOj9HS#%j6YflHQ7q>S98*kV*Jr6sj-;a zVBt;PCF&(KF=≺qJxJMKHVQ0X)I%BAA^7vrCNWB$!}h*&KTdn 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 LzW)8SdLR40mqKF= delta 17757 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 Gv;PACPT@cR diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 95dd32d484166f20173893ba27e4a0853282cb95..af923dd4f60b4aedd56144655655b92e116b8da9 100644 GIT binary patch delta 1015 zcmZuvOK1~O6lErN)EA3Znxdj&KZ2i*r0JO2R#ESJnZy`k2{EmyABd<8X&Yn6)U^If z5f!Qwg|`!TE?kHod~QS#H!c-H5ovKFEx7Ol+DZlAo79cCxp2Sdo_p@=_q9LY)m|9Y zM)gt8BVb)CPtgE1(})Aqj373-);1Xy_`xn{&`yZ+U2sR|&MojQ>!XN$ZbjUTAJ&2?7nO{_#dZ1z%Y;pZlx&R3#-rg)%=RnCwS4<dxH^=omANFclDIepFFo9f8_RUNz(+pA z4wCDo`Q0wJm!IJykm3FcmuB(sD?HJ>Tl2K2xVGhm^Bt-@q*SEC5gBm!)gMqENT~5j zHHi_$Xx>#Zs({m`jVwE_suU}sf>HSa7*RdxzdbVMx-x55c6Aq)#+D^4>ju-ZnH}Ys z8Q8R-TZW@SK0X77wFLh%11p+x%#;UoVLK~xGwLUz7#XGtktyt?GC3S!nN1Xm8pF@lA&2zA#^%zF7^QdymeHB#stSPC5 zI>Y~DF=Kr4o@Y6KFb8Y+KB2cDLQCm%%P)_Ar9dS2c z>|9E+c2NC!b5?xcW$YxRXj@?^ep^v&+hd$tOoDbGD)TKt@jPWbuF@<%bi}Y~ilK^* Rs8}V;B=cM1*%9N0_YWjLGfn^i delta 1256 zcmZ8gU1(fI6z1-pD^9v-nr)IQN@4^b?7;4J|NGE(X71hXby?!FX3M6cE0j82skP!3#^)l5ffX35e1I9UkGd%-Cs8vy2@wr%MHE%BM>(W;N9L5`5qr$}yIs z4bE7@ROD%ni4d2$GHl4BlW@eBbmihCtnc?UOo0{{o4}iBartr^f@(C04dW%OLI>8$1qnBXHChfDlsSD1kkyn8ENqd2(Gx*(6wO8R|YyWhZw;ftx zwJ_J{%#)G#t)M)*3^xKH%n8g@BfKC#AFzjIdIkE`$=BcyKWW8zlpCP&*Wpo%%q94I zuh9!{z_LYJNsi1aY*qzU;FM*x)%2SX%v*=#i)-)@Nfu@@w8~jRURs0E1M@s2&;Z7C ztmjBseYXa_dr4J<9Ap;a>iP|swdB+~JR;v&hp~Q-dW@aataG%8#;9xS@RdJ>D4xd3 z(Hdvs$=(%Z_mOZ7sfWM!owd1pFk@=8IVj9F~{=g8AWpndLFa#x>DA_2lXX96VoS?0H-V zCNy(Bc4TS}Q<>N0m~b&B(phTM;CFFv0q}+hMz#hQXdI>sJ+QrIx&Jr75;I?yK8UzU z^N+^JHg~rV8J1;u83yGS8!+T*(@kq*F&?`O3{eCd*Yp<6%#6>yZTDJtb{R!^@`+#J z;Q&^f$J1h!4lPZi=^tkYi;UqJd zcB)*ij@pBA=@v}-#H74_3&wm=Az>Rr^29cr>uYuSoSxTgSAD&WYad2I9=;OvWKWQ* zpKKXpqJFokBFlEUd~XMaAInW)Pm$49n{nu6+8f?3Shg$VwH-+8GjqfP-I0Iq0JSD0 zy$uoHw5y)I4L<{k@frPIVlnAhb`w9-9J^QJ>WXE5+fNomTwwb2f_i(vUJc0kQTvFz zG-7|>S9RiAORDO~*%3ReE~EB-(sk-Onm~nN``G=Y=En6q57*SerA0s4q6951J diff --git a/netbox/project-static/package.json b/netbox/project-static/package.json index c0ee79754..b28218201 100644 --- a/netbox/project-static/package.json +++ b/netbox/project-static/package.json @@ -27,7 +27,7 @@ "bootstrap": "5.3.3", "clipboard": "2.0.11", "flatpickr": "4.6.13", - "gridstack": "10.2.1", + "gridstack": "10.3.0", "htmx.org": "1.9.12", "query-string": "9.0.0", "sass": "1.77.6", diff --git a/netbox/project-static/yarn.lock b/netbox/project-static/yarn.lock index 6e5517d59..8e5960166 100644 --- a/netbox/project-static/yarn.lock +++ b/netbox/project-static/yarn.lock @@ -1754,10 +1754,10 @@ graphql@16.8.1: resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== -gridstack@10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/gridstack/-/gridstack-10.2.1.tgz#3ce6119ae86cfb0a533c5f0d15b03777a55384ca" - integrity sha512-UAPKnIvd9sIqPDFMtKMqj0G5GDj8MUFPcelRJq7FzQFSxSYBblKts/Gd52iEJg0EvTFP51t6ZuMWGx0pSSFBdw== +gridstack@10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/gridstack/-/gridstack-10.3.0.tgz#8fa065f896d0a880c5c54c24d189f3197184488a" + integrity sha512-eGKsmU2TppV4coyDu9IIdIkm4qjgLLdjlEOFwQyQMuSwfOpzSfLdPc8du0HuebGr7CvAIrJxN4lBOmGrWSBg9g== has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" diff --git a/requirements.txt b/requirements.txt index 79e8941e3..55b972be2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -Django==5.0.6 +Django==5.0.7 django-cors-headers==4.4.0 django-debug-toolbar==4.3.0 django-filter==24.2 @@ -12,26 +12,26 @@ django-rich==1.9.0 django-rq==2.10.2 django-taggit==5.0.1 django-tables2==2.7.0 -django-timezone-field==6.1.0 +django-timezone-field==7.0 djangorestframework==3.15.2 drf-spectacular==0.27.2 -drf-spectacular-sidecar==2024.6.1 +drf-spectacular-sidecar==2024.7.1 feedparser==6.0.11 gunicorn==22.0.0 Jinja2==3.1.4 Markdown==3.6 -mkdocs-material==9.5.27 +mkdocs-material==9.5.28 mkdocstrings[python-legacy]==0.25.1 netaddr==1.3.0 -nh3==0.2.17 -Pillow==10.3.0 -psycopg[c,pool]==3.1.19 +nh3==0.2.18 +Pillow==10.4.0 +psycopg[c,pool]==3.2.1 PyYAML==6.0.1 requests==2.32.3 social-auth-app-django==5.4.1 social-auth-core==4.5.4 -strawberry-graphql==0.235.0 -strawberry-graphql-django==0.44.2 +strawberry-graphql==0.235.2 +strawberry-graphql-django==0.46.1 svgwrite==1.4.3 tablib==3.6.1 tzdata==2024.1 From aafb26662a81123d9a1a959a49dc61c15fbf7c10 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 9 Jul 2024 13:18:19 -0400 Subject: [PATCH 40/42] Updates for project NetBox (#16811) * Translate django.po in pt 100% reviewed source file: 'django.po' on 'pt'. * Translate django.po in fr [Manual Sync] 12% of minimum 1% reviewed source file: 'django.po' on 'fr'. Sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format * Translate django.po in pt [Manual Sync] 100% reviewed source file: 'django.po' on 'pt'. * Translate django.po in de [Manual Sync] 78% of minimum 1% reviewed source file: 'django.po' on 'de'. Sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format * Translate django.po in tr [Manual Sync] 7% of minimum 1% reviewed source file: 'django.po' on 'tr'. Sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format * Translate django.po in ru [Manual Sync] 30% of minimum 1% reviewed source file: 'django.po' on 'ru'. Sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format * Translate django.po in zh [Manual Sync] 16% of minimum 1% reviewed source file: 'django.po' on 'zh'. Sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format --------- Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- netbox/translations/de/LC_MESSAGES/django.po | 1345 +- netbox/translations/fr/LC_MESSAGES/django.po | 1276 +- netbox/translations/pt/LC_MESSAGES/django.po | 1273 +- netbox/translations/ru/LC_MESSAGES/django.po | 1333 +- netbox/translations/tr/LC_MESSAGES/django.po | 1456 +- netbox/translations/zh/LC_MESSAGES/django.po | 14775 +++++++++-------- 6 files changed, 11135 insertions(+), 10323 deletions(-) diff --git a/netbox/translations/de/LC_MESSAGES/django.po b/netbox/translations/de/LC_MESSAGES/django.po index 5aa80a0c4..7806ff6a3 100644 --- a/netbox/translations/de/LC_MESSAGES/django.po +++ b/netbox/translations/de/LC_MESSAGES/django.po @@ -8,6 +8,7 @@ # Martin R, 2024 # Niklas, 2024 # fepilins, 2024 +# Steffen, 2024 # Robin Reinhardt, 2024 # chbally, 2024 # @@ -16,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-22 05:02+0000\n" +"POT-Creation-Date: 2024-07-09 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: chbally, 2024\n" "Language-Team: German (https://app.transifex.com/netbox-community/teams/178115/de/)\n" @@ -116,8 +117,8 @@ msgstr "Stillgelegt" #: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151 #: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297 #: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969 -#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832 -#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133 +#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843 +#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945 #: netbox/virtualization/filtersets.py:45 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377 @@ -128,8 +129,8 @@ msgstr "Region (ID)" #: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157 #: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304 #: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976 -#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839 -#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140 +#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850 +#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151 #: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372 @@ -139,9 +140,9 @@ msgstr "Region (URL-Slug)" #: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209 #: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224 #: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419 -#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318 -#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088 -#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352 +#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329 +#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099 +#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352 #: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" @@ -150,9 +151,9 @@ msgstr "Standortgruppe (ID)" #: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216 #: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231 #: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426 -#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325 -#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095 -#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467 +#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336 +#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106 +#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467 #: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965 #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 @@ -161,7 +162,7 @@ msgstr "Standortgruppe (URL-Slug)" #: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186 #: netbox/circuits/forms/bulk_edit.py:214 -#: netbox/circuits/forms/bulk_import.py:126 +#: netbox/circuits/forms/bulk_import.py:123 #: netbox/circuits/forms/filtersets.py:49 #: netbox/circuits/forms/filtersets.py:169 #: netbox/circuits/forms/filtersets.py:207 @@ -170,15 +171,15 @@ msgstr "Standortgruppe (URL-Slug)" #: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167 #: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575 #: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130 -#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257 -#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262 -#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85 -#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265 -#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682 -#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940 -#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068 -#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500 -#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136 +#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254 +#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250 +#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86 +#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266 +#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684 +#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952 +#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080 +#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512 +#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136 #: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206 #: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671 #: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150 @@ -277,8 +278,8 @@ msgstr "Transportnetz Typ (URL-Slug)" #: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266 #: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321 #: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993 -#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857 -#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158 +#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868 +#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387 @@ -291,7 +292,7 @@ msgstr "Abschlusspunkt A (ID)" #: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73 #: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693 -#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206 +#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217 #: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63 #: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127 #: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204 @@ -308,11 +309,12 @@ msgstr "Abschlusspunkt A (ID)" #: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92 #: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104 +#: netbox/utilities/templates/navigation/menu.html:16 msgid "Search" msgstr "Suche" #: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170 -#: netbox/circuits/forms/bulk_import.py:117 +#: netbox/circuits/forms/bulk_import.py:114 #: netbox/circuits/forms/filtersets.py:196 #: netbox/circuits/forms/filtersets.py:212 #: netbox/circuits/forms/model_forms.py:109 @@ -333,9 +335,9 @@ msgstr "Provider-Netzwerk (ID)" #: netbox/circuits/forms/filtersets.py:54 #: netbox/circuits/forms/model_forms.py:27 #: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127 -#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122 +#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122 #: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 -#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210 +#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 #: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162 #: netbox/templates/circuits/provider.html:23 msgid "ASNs" @@ -473,7 +475,7 @@ msgstr "Beschreibung" #: netbox/circuits/forms/bulk_edit.py:121 #: netbox/circuits/forms/bulk_import.py:35 #: netbox/circuits/forms/bulk_import.py:50 -#: netbox/circuits/forms/bulk_import.py:76 +#: netbox/circuits/forms/bulk_import.py:73 #: netbox/circuits/forms/filtersets.py:68 #: netbox/circuits/forms/filtersets.py:86 #: netbox/circuits/forms/filtersets.py:114 @@ -506,8 +508,8 @@ msgstr "Dienst ID" #: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205 #: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702 #: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098 -#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983 -#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380 +#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995 +#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 #: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744 #: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245 #: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32 @@ -523,7 +525,7 @@ msgid "Color" msgstr "Farbe" #: netbox/circuits/forms/bulk_edit.py:116 -#: netbox/circuits/forms/bulk_import.py:89 +#: netbox/circuits/forms/bulk_import.py:86 #: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20 #: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282 @@ -531,17 +533,17 @@ msgstr "Farbe" #: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906 #: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971 #: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066 -#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214 -#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679 -#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725 -#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902 -#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161 -#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287 -#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973 -#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164 -#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208 -#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259 -#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375 +#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673 +#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719 +#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896 +#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152 +#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288 +#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985 +#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176 +#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220 +#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387 #: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652 #: netbox/dcim/forms/object_import.py:84 #: netbox/dcim/forms/object_import.py:113 @@ -580,14 +582,14 @@ msgid "Type" msgstr "Typ" #: netbox/circuits/forms/bulk_edit.py:126 -#: netbox/circuits/forms/bulk_import.py:82 +#: netbox/circuits/forms/bulk_import.py:79 #: netbox/circuits/forms/filtersets.py:137 #: netbox/circuits/forms/model_forms.py:96 msgid "Provider account" msgstr "Provider-Konto" #: netbox/circuits/forms/bulk_edit.py:134 -#: netbox/circuits/forms/bulk_import.py:95 +#: netbox/circuits/forms/bulk_import.py:92 #: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35 #: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -596,13 +598,13 @@ msgstr "Provider-Konto" #: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686 #: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594 #: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146 -#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450 -#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155 -#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386 -#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230 -#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728 -#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877 -#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089 +#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444 +#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374 +#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231 +#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730 +#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889 +#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101 #: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800 #: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66 @@ -620,7 +622,7 @@ msgstr "Provider-Konto" #: netbox/templates/circuits/circuit.html:34 #: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30 #: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 -#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176 +#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 #: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66 #: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43 #: netbox/templates/dcim/site.html:43 @@ -656,20 +658,20 @@ msgid "Status" msgstr "Status" #: netbox/circuits/forms/bulk_edit.py:140 -#: netbox/circuits/forms/bulk_import.py:100 +#: netbox/circuits/forms/bulk_import.py:97 #: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121 #: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256 #: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588 #: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599 #: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151 -#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282 -#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167 -#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166 -#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249 -#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355 -#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835 -#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927 -#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88 +#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167 +#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 +#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356 +#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847 +#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939 +#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88 #: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332 #: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41 #: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110 @@ -808,29 +810,22 @@ msgstr "Einzelheiten zum Abschlusspunkt" #: netbox/circuits/forms/bulk_import.py:38 #: netbox/circuits/forms/bulk_import.py:53 -#: netbox/circuits/forms/bulk_import.py:79 +#: netbox/circuits/forms/bulk_import.py:76 msgid "Assigned provider" msgstr "Zugewiesener Provider" -#: netbox/circuits/forms/bulk_import.py:70 -#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388 -#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187 -#: netbox/extras/forms/bulk_import.py:232 -msgid "RGB color in hexadecimal. Example:" -msgstr "RGB-Farbe in Hexadezimal. Beispiel:" - -#: netbox/circuits/forms/bulk_import.py:85 +#: netbox/circuits/forms/bulk_import.py:82 msgid "Assigned provider account" msgstr "Zugewiesenes Providerkonto" -#: netbox/circuits/forms/bulk_import.py:92 +#: netbox/circuits/forms/bulk_import.py:89 msgid "Type of circuit" msgstr "Transportnetz Typ" -#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89 -#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204 -#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606 -#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193 +#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201 +#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600 +#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193 #: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294 #: netbox/ipam/forms/bulk_import.py:460 #: netbox/virtualization/forms/bulk_import.py:56 @@ -839,11 +834,11 @@ msgstr "Transportnetz Typ" msgid "Operational status" msgstr "Betriebsstatus" -#: netbox/circuits/forms/bulk_import.py:104 +#: netbox/circuits/forms/bulk_import.py:101 #: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155 -#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428 -#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319 -#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41 +#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422 +#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307 +#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41 #: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98 #: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138 #: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253 @@ -855,7 +850,7 @@ msgstr "Betriebsstatus" msgid "Assigned tenant" msgstr "Zugewiesener Mandant" -#: netbox/circuits/forms/bulk_import.py:122 +#: netbox/circuits/forms/bulk_import.py:119 #: netbox/templates/circuits/inc/circuit_termination.html:6 #: netbox/templates/circuits/inc/circuit_termination_fields.html:15 #: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 @@ -863,7 +858,7 @@ msgstr "Zugewiesener Mandant" msgid "Termination" msgstr "Abschlusspunkt" -#: netbox/circuits/forms/bulk_import.py:132 +#: netbox/circuits/forms/bulk_import.py:129 #: netbox/circuits/forms/filtersets.py:145 #: netbox/circuits/forms/filtersets.py:225 #: netbox/circuits/forms/model_forms.py:142 @@ -875,20 +870,20 @@ msgstr "Provider-Netzwerk" #: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248 #: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580 #: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780 -#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263 -#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268 -#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93 -#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279 -#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382 -#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691 -#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925 -#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009 -#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048 -#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181 -#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220 -#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348 -#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391 -#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420 +#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256 +#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94 +#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280 +#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693 +#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937 +#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021 +#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193 +#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232 +#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360 +#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403 +#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432 #: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211 #: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676 #: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30 @@ -911,14 +906,14 @@ msgid "Location" msgstr "Lokation" #: netbox/circuits/forms/filtersets.py:30 -#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137 -#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167 -#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 -#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406 -#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010 +#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138 +#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168 +#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251 +#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407 +#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022 #: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46 #: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 -#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18 +#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19 #: netbox/virtualization/forms/filtersets.py:37 #: netbox/virtualization/forms/filtersets.py:48 #: netbox/virtualization/forms/filtersets.py:106 @@ -928,13 +923,13 @@ msgstr "Kontakte" #: netbox/circuits/forms/filtersets.py:35 #: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111 #: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755 -#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71 -#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204 -#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360 -#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902 -#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016 -#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468 -#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516 +#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72 +#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205 +#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361 +#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914 +#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028 +#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480 +#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528 #: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375 #: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85 #: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206 @@ -955,11 +950,11 @@ msgstr "Region" #: netbox/circuits/forms/filtersets.py:40 #: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231 -#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76 -#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209 -#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365 -#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907 -#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77 +#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210 +#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366 +#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919 +#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072 #: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472 #: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445 #: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222 @@ -976,14 +971,14 @@ msgstr "Standortgruppe" #: netbox/circuits/forms/filtersets.py:81 #: netbox/circuits/forms/filtersets.py:100 #: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64 -#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165 -#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834 -#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050 -#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180 -#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219 -#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347 -#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390 -#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418 +#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166 +#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846 +#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062 +#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192 +#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231 +#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359 +#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402 +#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430 #: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112 #: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183 #: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230 @@ -1012,7 +1007,7 @@ msgstr "Konto" #: netbox/circuits/forms/filtersets.py:215 msgid "Term Side" -msgstr "Begriffsseite" +msgstr "Terminationsseite" #: netbox/circuits/models/circuits.py:25 netbox/dcim/models/cables.py:67 #: netbox/dcim/models/device_component_templates.py:491 @@ -1120,7 +1115,7 @@ msgstr "Patchpanel-ID und Anschlussnummer(n)" #: netbox/dcim/models/device_component_templates.py:61 #: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 -#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60 +#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60 #: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424 #: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32 #: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109 @@ -1163,7 +1158,7 @@ msgstr "" #: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 -#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90 +#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91 #: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181 #: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420 #: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624 @@ -1236,7 +1231,7 @@ msgstr "Providernetzwerke" #: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16 #: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13 #: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 -#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43 +#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43 #: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89 #: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286 #: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421 @@ -1548,7 +1543,7 @@ msgstr "Datenquelle (Name)" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020 -#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276 +#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288 #: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221 #: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162 #: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120 @@ -1651,7 +1646,7 @@ msgid "Completed before" msgstr "Abgeschlossen vor" #: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361 -#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397 +#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465 #: netbox/extras/forms/filtersets.py:505 #: netbox/templates/dcim/rackreservation.html:58 @@ -1736,7 +1731,7 @@ msgstr "Validierung" msgid "User Preferences" msgstr "Benutzereinstellungen" -#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661 +#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663 #: netbox/templates/core/inc/config_data.html:127 #: netbox/users/forms/model_forms.py:65 msgid "Miscellaneous" @@ -1812,7 +1807,7 @@ msgstr "Konfigurationsrevision #{id}" #: netbox/dcim/models/device_components.py:971 #: netbox/dcim/models/device_components.py:1045 #: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128 -#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41 +#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 msgid "type" msgstr "Typ" @@ -1893,7 +1888,7 @@ msgstr "Größe" #: netbox/core/models/data.py:306 msgid "hash" -msgstr "Hash" +msgstr "Prüfsumme" #: netbox/core/models/data.py:310 msgid "Length must be 64 hexadecimal characters." @@ -2126,7 +2121,7 @@ msgstr "Position (HE)" #: netbox/dcim/api/serializers_/racks.py:45 netbox/templates/dcim/rack.html:30 msgid "Facility ID" -msgstr "Einrichtung ID" +msgstr "Einrichtungs-ID" #: netbox/dcim/choices.py:21 netbox/virtualization/choices.py:21 msgid "Staging" @@ -2140,7 +2135,7 @@ msgstr "Außerbetriebnahme" #: netbox/dcim/choices.py:24 msgid "Retired" -msgstr "Ruhestand" +msgstr "Ausser Dienst" #: netbox/dcim/choices.py:65 msgid "2-post frame" @@ -2182,7 +2177,7 @@ msgstr "{n} Zoll" msgid "Reserved" msgstr "Reserviert" -#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 msgid "Available" msgstr "Verfügbar" @@ -2204,8 +2199,8 @@ msgstr "Zoll" #: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172 #: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59 #: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136 -#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778 -#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227 +#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772 +#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228 #: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92 #: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010 #: netbox/dcim/forms/model_forms.py:1449 @@ -2239,14 +2234,14 @@ msgstr "Übergeordnet" msgid "Child" msgstr "Untergeordnet" -#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332 +#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339 #: netbox/templates/dcim/rack.html:175 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Frontseite" -#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338 +#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345 #: netbox/templates/dcim/rack.html:181 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 @@ -2330,7 +2325,7 @@ msgid "Virtual" msgstr "Virtuell" #: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051 -#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239 +#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251 #: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344 #: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131 #: netbox/templates/dcim/interface.html:210 @@ -2342,14 +2337,14 @@ msgid "Virtual interfaces" msgstr "Virtuelle Schnittstellen" #: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303 -#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922 +#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922 #: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106 #: netbox/templates/virtualization/vminterface.html:43 #: netbox/virtualization/forms/bulk_edit.py:212 #: netbox/virtualization/forms/bulk_import.py:158 #: netbox/virtualization/tables/virtualmachines.py:159 msgid "Bridge" -msgstr "Brücke" +msgstr "Bridge" #: netbox/dcim/choices.py:980 msgid "Link Aggregation Group (LAG)" @@ -2365,15 +2360,15 @@ msgstr "Ethernet (modular)" #: netbox/dcim/choices.py:1035 msgid "Ethernet (backplane)" -msgstr "Ethernet (Rückwandplatine)" +msgstr "Ethernet (Backplane)" #: netbox/dcim/choices.py:1065 msgid "Cellular" msgstr "Mobilfunk" -#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303 -#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882 -#: netbox/dcim/forms/filtersets.py:1434 +#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304 +#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894 +#: netbox/dcim/forms/filtersets.py:1446 #: netbox/templates/dcim/inventoryitem.html:52 #: netbox/templates/dcim/virtualchassis_edit.html:54 msgid "Serial" @@ -2446,7 +2441,7 @@ msgstr "Glasfaser" msgid "Fiber" msgstr "Faser" -#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146 +#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158 msgid "Connected" msgstr "Verbunden" @@ -2470,7 +2465,7 @@ msgstr "Meilen" msgid "Feet" msgstr "Fuß" -#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320 +#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:152 msgid "Kilograms" msgstr "Kilogramm" @@ -2544,33 +2539,33 @@ msgstr "AS (ID)" #: netbox/dcim/filtersets.py:245 msgid "Parent location (ID)" -msgstr "Übergeordneter Lokation (ID)" +msgstr "Übergeordnete Lokation (ID)" #: netbox/dcim/filtersets.py:251 msgid "Parent location (slug)" -msgstr "Übergeordneter Lokation (URL-Slug)" +msgstr "Übergeordnete Lokation (URL-Slug)" #: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333 #: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005 -#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111 +#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122 msgid "Location (ID)" msgstr "Lokation (ID)" #: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340 -#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358 #: netbox/extras/filtersets.py:494 msgid "Location (slug)" msgstr "Lokation (URL-Slug)" #: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840 -#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779 +#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790 #: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 #: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "Rolle (ID)" #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846 -#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785 +#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796 #: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387 #: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995 #: netbox/virtualization/filtersets.py:216 @@ -2578,7 +2573,7 @@ msgid "Role (slug)" msgstr "Rolle (URL-Slug)" #: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010 -#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173 +#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184 msgid "Rack (ID)" msgstr "Rack (ID)" @@ -2596,15 +2591,15 @@ msgstr "Benutzer (Name)" #: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620 #: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881 -#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243 -#: netbox/dcim/filtersets.py:1769 +#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:1780 msgid "Manufacturer (ID)" msgstr "Hersteller (ID)" #: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626 #: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887 -#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249 -#: netbox/dcim/filtersets.py:1775 +#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1786 msgid "Manufacturer (slug)" msgstr "Hersteller (Slug)" @@ -2616,83 +2611,83 @@ msgstr "Standard-Betriebssystem (ID)" msgid "Default platform (slug)" msgstr "Standard-Betriebssystem (URL-Slug)" -#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452 +#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453 msgid "Has a front image" msgstr "Hat ein Frontalbild" -#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459 +#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460 msgid "Has a rear image" msgstr "Hat ein Rückseitenbild" #: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630 -#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466 -#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777 +#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467 +#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779 msgid "Has console ports" msgstr "Hat Konsolenanschlüsse" #: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634 -#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473 -#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784 +#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474 +#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786 msgid "Has console server ports" msgstr "Hat Konsolenserver-Anschlüsse" #: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638 -#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480 -#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791 +#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481 +#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793 msgid "Has power ports" msgstr "Hat Stromanschlüsse" #: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642 -#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487 -#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798 +#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488 +#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800 msgid "Has power outlets" msgstr "Hat Stromabgänge" #: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646 -#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494 -#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805 +#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495 +#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807 msgid "Has interfaces" msgstr "Hat Schnittstellen" #: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650 -#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501 -#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812 +#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502 +#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814 msgid "Has pass-through ports" msgstr "Hat durchgereichte Anschlüsse" -#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092 -#: netbox/dcim/forms/filtersets.py:515 +#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103 +#: netbox/dcim/forms/filtersets.py:516 msgid "Has module bays" msgstr "Hat Moduleinsätze" -#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096 -#: netbox/dcim/forms/filtersets.py:508 +#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107 +#: netbox/dcim/forms/filtersets.py:509 msgid "Has device bays" msgstr "Hat Geräteeinsätze" -#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522 +#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523 msgid "Has inventory items" msgstr "Hat Inventargegenstände" #: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937 -#: netbox/dcim/filtersets.py:1373 +#: netbox/dcim/filtersets.py:1384 msgid "Device type (ID)" msgstr "Gerätetyp (ID)" -#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265 msgid "Module type (ID)" msgstr "Modultyp (ID)" -#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524 +#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535 msgid "Power port (ID)" msgstr "Stromanschluss (ID)" -#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765 +#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776 msgid "Parent inventory item (ID)" msgstr "Übergeordneter Inventarartikel (ID)" #: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895 -#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238 +#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Konfigurationsvorlage (ID)" @@ -2713,9 +2708,9 @@ msgstr "Betriebssystem (ID)" msgid "Platform (slug)" msgstr "Betriebssystem (URL-Slug)" -#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336 -#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105 -#: netbox/dcim/filtersets.py:2164 +#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116 +#: netbox/dcim/filtersets.py:2175 msgid "Site name (slug)" msgstr "Standortname (URL-Slug)" @@ -2727,16 +2722,25 @@ msgstr "Übergeordneter Schacht (ID)" msgid "VM cluster (ID)" msgstr "VM-Cluster (ID)" -#: netbox/dcim/filtersets.py:1025 +#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543 +#: netbox/virtualization/filtersets.py:136 +msgid "Cluster group (slug)" +msgstr "Cluster-Gruppe (URL-Slug)" + +#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130 +msgid "Cluster group (ID)" +msgstr "Cluster-Gruppe (ID)" + +#: netbox/dcim/filtersets.py:1036 msgid "Device model (slug)" msgstr "Gerätemodell (URL-Slug)" -#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423 +#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423 msgid "Is full depth" msgstr "Hat volle Tiefe" -#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18 -#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291 +#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18 +#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303 #: netbox/dcim/models/device_components.py:519 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:297 @@ -2745,88 +2749,88 @@ msgstr "Hat volle Tiefe" msgid "MAC address" msgstr "MAC-Adresse" -#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211 -#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849 +#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222 +#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861 #: netbox/virtualization/filtersets.py:234 #: netbox/virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "Hat eine primäre IP" -#: netbox/dcim/filtersets.py:1051 +#: netbox/dcim/filtersets.py:1062 msgid "Has an out-of-band IP" msgstr "Hat eine Out-of-Band-IP" -#: netbox/dcim/filtersets.py:1056 +#: netbox/dcim/filtersets.py:1067 msgid "Virtual chassis (ID)" msgstr "Virtuelles Gehäuse (ID)" -#: netbox/dcim/filtersets.py:1060 +#: netbox/dcim/filtersets.py:1071 msgid "Is a virtual chassis member" msgstr "Ist ein virtuelles Gehäuse-Mitglied" -#: netbox/dcim/filtersets.py:1101 +#: netbox/dcim/filtersets.py:1112 msgid "OOB IP (ID)" msgstr "OOB IP (ID)" -#: netbox/dcim/filtersets.py:1105 +#: netbox/dcim/filtersets.py:1116 msgid "Has virtual device context" msgstr "Hat virtuellen Gerätekontext" -#: netbox/dcim/filtersets.py:1194 +#: netbox/dcim/filtersets.py:1205 msgid "VDC (ID)" msgstr "VDC (ID)" -#: netbox/dcim/filtersets.py:1199 +#: netbox/dcim/filtersets.py:1210 msgid "Device model" msgstr "Modell des Geräts" -#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632 +#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420 msgid "Interface (ID)" msgstr "Schnittstelle (ID)" -#: netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1271 msgid "Module type (model)" msgstr "Modultyp (Modell)" -#: netbox/dcim/filtersets.py:1266 +#: netbox/dcim/filtersets.py:1277 msgid "Module Bay (ID)" msgstr "Moduleinsatz (ID)" -#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362 +#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 #: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161 #: netbox/vpn/filtersets.py:398 msgid "Device (ID)" msgstr "Gerät (ID)" -#: netbox/dcim/filtersets.py:1358 +#: netbox/dcim/filtersets.py:1369 msgid "Rack (name)" msgstr "Rack (Name)" -#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606 +#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606 #: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081 #: netbox/vpn/filtersets.py:393 msgid "Device (name)" msgstr "Gerät (Name)" -#: netbox/dcim/filtersets.py:1379 +#: netbox/dcim/filtersets.py:1390 msgid "Device type (model)" msgstr "Gerätetyp (Modell)" -#: netbox/dcim/filtersets.py:1384 +#: netbox/dcim/filtersets.py:1395 msgid "Device role (ID)" msgstr "Geräterolle (ID)" -#: netbox/dcim/filtersets.py:1390 +#: netbox/dcim/filtersets.py:1401 msgid "Device role (slug)" msgstr "Geräterolle (URL-Slug)" -#: netbox/dcim/filtersets.py:1395 +#: netbox/dcim/filtersets.py:1406 msgid "Virtual Chassis (ID)" msgstr "Virtuelles Gehäuse (ID)" -#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107 +#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108 #: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66 #: netbox/templates/dcim/device.html:120 #: netbox/templates/dcim/device_edit.html:93 @@ -2836,25 +2840,25 @@ msgstr "Virtuelles Gehäuse (ID)" msgid "Virtual Chassis" msgstr "Virtuelles Gehäuse" -#: netbox/dcim/filtersets.py:1421 +#: netbox/dcim/filtersets.py:1432 msgid "Module (ID)" msgstr "Modul (ID)" -#: netbox/dcim/filtersets.py:1428 +#: netbox/dcim/filtersets.py:1439 msgid "Cable (ID)" msgstr "Kabel (ID)" -#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188 +#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188 #: netbox/vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "Zugewiesenes VLAN" -#: netbox/dcim/filtersets.py:1541 +#: netbox/dcim/filtersets.py:1552 msgid "Assigned VID" msgstr "Zugewiesene VID" -#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382 -#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334 +#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382 +#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346 #: netbox/dcim/forms/model_forms.py:1325 #: netbox/dcim/models/device_components.py:712 #: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316 @@ -2886,18 +2890,18 @@ msgstr "Zugewiesene VID" msgid "VRF" msgstr "VRF" -#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322 +#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322 #: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 #: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "VRF (RD)" -#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016 +#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016 #: netbox/vpn/filtersets.py:361 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" -#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339 +#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351 #: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022 #: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 @@ -2909,84 +2913,84 @@ msgstr "L2VPN (ID)" msgid "L2VPN" msgstr "L2VPN" -#: netbox/dcim/filtersets.py:1595 +#: netbox/dcim/filtersets.py:1606 msgid "Virtual Chassis Interfaces for Device" msgstr "Virtuelle Gehäuseschnittstellen für Gerät" -#: netbox/dcim/filtersets.py:1600 +#: netbox/dcim/filtersets.py:1611 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Virtuelle Gehäuseschnittstellen für Gerät (ID)" -#: netbox/dcim/filtersets.py:1604 +#: netbox/dcim/filtersets.py:1615 msgid "Kind of interface" msgstr "Art der Schnittstelle" -#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289 +#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Übergeordnete Schnittstelle (ID)" -#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294 +#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Überbrückte Schnittstelle (ID)" -#: netbox/dcim/filtersets.py:1619 +#: netbox/dcim/filtersets.py:1630 msgid "LAG interface (ID)" msgstr "LAG-Schnittstelle (ID)" -#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658 -#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669 +#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Kontext für virtuelles Gerät" -#: netbox/dcim/filtersets.py:1652 +#: netbox/dcim/filtersets.py:1663 msgid "Virtual Device Context (Identifier)" msgstr "Virtueller Gerätekontext (Identifier)" -#: netbox/dcim/filtersets.py:1663 +#: netbox/dcim/filtersets.py:1674 #: netbox/templates/wireless/wirelesslan.html:11 #: netbox/wireless/forms/model_forms.py:53 msgid "Wireless LAN" msgstr "WLAN" -#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597 msgid "Wireless link" msgstr "WLAN Verbindung" -#: netbox/dcim/filtersets.py:1737 +#: netbox/dcim/filtersets.py:1748 msgid "Installed module (ID)" msgstr "Installiertes Modul (ID)" -#: netbox/dcim/filtersets.py:1748 +#: netbox/dcim/filtersets.py:1759 msgid "Installed device (ID)" msgstr "Installiertes Gerät (ID)" -#: netbox/dcim/filtersets.py:1754 +#: netbox/dcim/filtersets.py:1765 msgid "Installed device (name)" msgstr "Installiertes Gerät (Name)" -#: netbox/dcim/filtersets.py:1820 +#: netbox/dcim/filtersets.py:1831 msgid "Master (ID)" msgstr "Master (ID)" -#: netbox/dcim/filtersets.py:1826 +#: netbox/dcim/filtersets.py:1837 msgid "Master (name)" msgstr "Master (Name)" -#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246 msgid "Tenant (ID)" msgstr "Mandant (ID)" -#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570 +#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570 #: netbox/tenancy/filtersets.py:252 msgid "Tenant (slug)" msgstr "Mandant (URL-Slug)" -#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996 +#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008 msgid "Unterminated" msgstr "Nicht terminiert" -#: netbox/dcim/filtersets.py:2168 +#: netbox/dcim/filtersets.py:2179 msgid "Power panel (ID)" msgstr "Stromverteiler (ID)" @@ -3001,12 +3005,12 @@ msgstr "Stromverteiler (ID)" msgid "Tags" msgstr "Tags" -#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396 +#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408 #: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162 #: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242 -#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130 +#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:34 #: netbox/templates/dcim/virtualchassis.html:66 #: netbox/templates/dcim/virtualchassis_edit.html:55 @@ -3080,9 +3084,9 @@ msgid "Time zone" msgstr "Zeitzone" #: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160 -#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207 -#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300 -#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426 +#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204 +#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301 +#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438 #: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018 #: netbox/dcim/forms/model_forms.py:1457 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166 @@ -3099,7 +3103,7 @@ msgstr "Zeitzone" #: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257 #: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363 #: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230 -#: netbox/templates/dcim/device.html:180 +#: netbox/templates/dcim/device.html:182 #: netbox/templates/dcim/inc/panels/inventory_items.html:20 #: netbox/templates/dcim/interface.html:223 #: netbox/templates/dcim/inventoryitem.html:36 @@ -3131,14 +3135,14 @@ msgstr "Rolle" msgid "Serial Number" msgstr "Seriennummer" -#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307 -#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886 -#: netbox/dcim/forms/filtersets.py:1438 +#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308 +#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898 +#: netbox/dcim/forms/filtersets.py:1450 msgid "Asset tag" msgstr "Asset-Tag" -#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220 -#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86 +#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86 msgid "Width" msgstr "Breite" @@ -3158,7 +3162,7 @@ msgstr "Äußere Breite" msgid "Outer depth" msgstr "Äußere Tiefe" -#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225 +#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222 msgid "Outer unit" msgstr "Äußere Einheit" @@ -3169,18 +3173,18 @@ msgstr "Einbautiefe" #: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351 #: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459 #: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495 -#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358 -#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312 -#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423 -#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548 -#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232 +#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355 +#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313 +#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424 +#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549 +#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232 #: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103 #: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103 #: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108 #: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278 #: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134 #: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188 -#: netbox/templates/dcim/device.html:317 +#: netbox/templates/dcim/device.html:324 #: netbox/templates/dcim/devicetype.html:49 #: netbox/templates/dcim/moduletype.html:30 #: netbox/templates/extras/configcontext.html:17 @@ -3190,25 +3194,25 @@ msgstr "Einbautiefe" msgid "Weight" msgstr "Gewicht" -#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317 +#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318 msgid "Max weight" msgstr "Maximales Gewicht" #: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441 -#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231 -#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363 -#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533 -#: netbox/dcim/forms/filtersets.py:608 +#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534 +#: netbox/dcim/forms/filtersets.py:609 msgid "Weight unit" msgstr "Gewichtseinheit" #: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808 -#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273 -#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309 -#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102 -#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354 -#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701 -#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086 +#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270 +#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297 +#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103 +#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355 +#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703 +#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098 #: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248 #: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703 #: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158 @@ -3225,9 +3229,9 @@ msgid "Rack" msgstr "Rack" #: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628 -#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 -#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543 -#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861 +#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334 +#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544 +#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873 #: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" @@ -3236,12 +3240,12 @@ msgstr "Hardware" #: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466 #: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554 #: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165 -#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319 -#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395 -#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027 -#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554 -#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711 -#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431 +#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316 +#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389 +#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021 +#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555 +#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713 +#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443 #: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293 #: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379 #: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462 @@ -3258,13 +3262,13 @@ msgstr "Hardware" msgid "Manufacturer" msgstr "Hersteller" -#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325 -#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297 +#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297 msgid "Default platform" msgstr "Standard-Betriebssystem" #: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471 -#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557 +#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558 msgid "Part number" msgstr "Artikelnummer" @@ -3277,8 +3281,8 @@ msgid "Exclude from utilization" msgstr "Von der Nutzung ausschließen" #: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603 -#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446 -#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98 +#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447 +#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98 #: netbox/templates/dcim/devicetype.html:65 msgid "Airflow" msgstr "Luftstrom" @@ -3303,11 +3307,11 @@ msgid "VM role" msgstr "VM-Rolle" #: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535 -#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376 -#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402 -#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531 -#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619 -#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752 +#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373 +#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396 +#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525 +#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620 +#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754 #: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384 #: netbox/dcim/forms/model_forms.py:498 #: netbox/virtualization/forms/bulk_import.py:132 @@ -3318,21 +3322,21 @@ msgid "Config template" msgstr "Konfigurationsvorlage" #: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959 -#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112 +#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113 #: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820 #: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499 msgid "Device type" msgstr "Geräte-Typ" -#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418 -#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452 +#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412 +#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452 msgid "Device role" msgstr "Geräte-Rolle" -#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443 -#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394 +#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437 +#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394 #: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179 -#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184 +#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186 #: netbox/templates/dcim/platform.html:26 #: netbox/templates/virtualization/virtualmachine.html:27 #: netbox/virtualization/forms/bulk_edit.py:160 @@ -3345,21 +3349,21 @@ msgstr "Betriebssystem" #: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179 #: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589 -#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648 -#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700 -#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773 -#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939 -#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968 -#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373 -#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129 -#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970 -#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182 -#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221 -#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349 -#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 -#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421 -#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508 -#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576 +#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642 +#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694 +#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767 +#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933 +#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962 +#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361 +#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130 +#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982 +#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194 +#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233 +#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361 +#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404 +#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433 +#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520 +#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576 #: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156 #: netbox/dcim/forms/model_forms.py:1611 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 @@ -3377,7 +3381,7 @@ msgstr "Betriebssystem" #: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176 #: netbox/templates/dcim/consoleport.html:20 #: netbox/templates/dcim/consoleserverport.html:20 -#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129 +#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 #: netbox/templates/dcim/device_edit.html:10 #: netbox/templates/dcim/devicebay.html:20 #: netbox/templates/dcim/devicebay.html:48 @@ -3417,7 +3421,7 @@ msgstr "Gerät" msgid "Configuration" msgstr "Konfiguration" -#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598 +#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592 #: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845 msgid "Module type" msgstr "Modul-Typ" @@ -3427,7 +3431,7 @@ msgstr "Modul-Typ" #: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010 #: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088 #: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133 -#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65 +#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66 #: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 #: netbox/templates/dcim/consoleport.html:32 #: netbox/templates/dcim/consoleserverport.html:32 @@ -3445,13 +3449,13 @@ msgstr "Modul-Typ" msgid "Label" msgstr "Label" -#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987 +#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999 #: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "Länge" -#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174 -#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991 +#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165 +#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003 msgid "Length unit" msgstr "Längeneinheit" @@ -3460,34 +3464,34 @@ msgstr "Längeneinheit" msgid "Domain" msgstr "Domäne" -#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296 -#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698 +#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284 +#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698 msgid "Power panel" msgstr "Stromverteiler" -#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332 -#: netbox/dcim/forms/filtersets.py:1099 +#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320 +#: netbox/dcim/forms/filtersets.py:1111 #: netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "Versorgung" -#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337 -#: netbox/dcim/forms/filtersets.py:1104 +#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325 +#: netbox/dcim/forms/filtersets.py:1116 #: netbox/templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "Phase" -#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109 +#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121 #: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "Spannung" -#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113 +#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125 #: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "Stromstärke" -#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117 +#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129 msgid "Max utilization" msgstr "Max. Auslastung" @@ -3511,13 +3515,13 @@ msgstr "Zugewiesene Leistungsaufnahme" msgid "Allocated power draw (watts)" msgstr "Zugewiesene Leistungsaufnahme (Watt)" -#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731 +#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725 #: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226 #: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Stromanschluss" -#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738 +#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732 msgid "Feed leg" msgstr "Phasenlage" @@ -3526,7 +3530,7 @@ msgid "Management only" msgstr "Nur Management" #: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339 -#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300 +#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312 #: netbox/dcim/forms/object_import.py:90 #: netbox/dcim/models/device_component_templates.py:411 #: netbox/dcim/models/device_components.py:671 @@ -3534,14 +3538,14 @@ msgid "PoE mode" msgstr "PoE-Modus" #: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345 -#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305 +#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317 #: netbox/dcim/forms/object_import.py:95 #: netbox/dcim/models/device_component_templates.py:417 #: netbox/dcim/models/device_components.py:677 msgid "PoE type" msgstr "PoE-Typ" -#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310 +#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322 #: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "WLAN Funktion" @@ -3567,11 +3571,11 @@ msgstr "LAG" #: netbox/dcim/forms/bulk_edit.py:1318 netbox/dcim/forms/model_forms.py:1253 msgid "Virtual device contexts" -msgstr "Kontexte virtueller Geräte" +msgstr "Virtuelle Gerätekontexte" -#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659 -#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169 -#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264 +#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181 +#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276 #: netbox/dcim/tables/devices.py:594 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 @@ -3579,7 +3583,7 @@ msgstr "Kontexte virtueller Geräte" msgid "Speed" msgstr "Geschwindigkeit" -#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830 +#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824 #: netbox/templates/vpn/ikepolicy.html:25 #: netbox/templates/vpn/ipsecprofile.html:21 #: netbox/templates/vpn/ipsecprofile.html:48 @@ -3625,7 +3629,7 @@ msgstr "WLAN-Gruppe" msgid "Wireless LANs" msgstr "WLANs" -#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237 +#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249 #: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271 #: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 @@ -3634,13 +3638,13 @@ msgstr "WLANs" msgid "Addressing" msgstr "Adressierung" -#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650 +#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651 #: netbox/dcim/forms/model_forms.py:1338 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Bedienung" -#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238 +#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250 #: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340 msgid "PoE" msgstr "PoE" @@ -3665,7 +3669,7 @@ msgstr "Der Schnittstellenmodus muss gesetzt werden, um VLANs zuzuweisen" #: netbox/dcim/forms/bulk_edit.py:1474 netbox/dcim/forms/common.py:50 msgid "An access interface cannot have tagged VLANs assigned." msgstr "" -"Einer mit \"Access\" getagte Schnittstelle können keine markierten VLANs " +"Einer Endgeräteschnittstelle (Access) können keine getaggten VLANs " "zugewiesen sein." #: netbox/dcim/forms/bulk_import.py:63 @@ -3690,8 +3694,8 @@ msgstr "Zugewiesene Gruppe" msgid "available options" msgstr "verfügbare Optionen" -#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488 -#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174 +#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482 +#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174 #: netbox/ipam/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:63 #: netbox/virtualization/forms/bulk_import.py:89 @@ -3700,111 +3704,112 @@ msgstr "Zugewiesener Standort" #: netbox/dcim/forms/bulk_import.py:140 msgid "Parent location" -msgstr "Übergeordneter Lokation" +msgstr "Übergeordnete Lokation" #: netbox/dcim/forms/bulk_import.py:142 msgid "Location not found." msgstr "Lokation wurde nicht gefunden." -#: netbox/dcim/forms/bulk_import.py:199 +#: netbox/dcim/forms/bulk_import.py:196 msgid "Name of assigned tenant" msgstr "Name des zugewiesenen Mandanten " -#: netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:208 msgid "Name of assigned role" msgstr "Name der zugewiesenen Rolle" -#: netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/bulk_import.py:214 msgid "Rack type" msgstr "Rack-Typ" -#: netbox/dcim/forms/bulk_import.py:222 +#: netbox/dcim/forms/bulk_import.py:219 msgid "Rail-to-rail width (in inches)" msgstr "Breite von Schiene zu Schiene (in Zoll)" -#: netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:225 msgid "Unit for outer dimensions" msgstr "Einheit für Außenmaße" -#: netbox/dcim/forms/bulk_import.py:234 +#: netbox/dcim/forms/bulk_import.py:231 msgid "Unit for rack weights" msgstr "Einheit für Rackgewichte" -#: netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:257 msgid "Parent site" msgstr "Übergeordneter Standort" -#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306 +#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294 msgid "Rack's location (if any)" msgstr "Lokation des Racks (falls vorhanden)" -#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253 +#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253 #: netbox/dcim/tables/racks.py:153 #: netbox/templates/dcim/rackreservation.html:12 #: netbox/templates/dcim/rackreservation.html:45 msgid "Units" msgstr "Einheiten" -#: netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:276 msgid "Comma-separated list of individual unit numbers" msgstr "Kommagetrennte Liste einzelner Einheitennummern" -#: netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/bulk_import.py:319 msgid "The manufacturer which produces this device type" msgstr "Der Hersteller, der diesen Gerätetyp herstellt" -#: netbox/dcim/forms/bulk_import.py:329 +#: netbox/dcim/forms/bulk_import.py:326 msgid "The default platform for devices of this type (optional)" msgstr "Das Standard-Betriebssystem für Geräte diesen Typs (optional)" -#: netbox/dcim/forms/bulk_import.py:334 +#: netbox/dcim/forms/bulk_import.py:331 msgid "Device weight" msgstr "Gewicht des Geräts" -#: netbox/dcim/forms/bulk_import.py:340 +#: netbox/dcim/forms/bulk_import.py:337 msgid "Unit for device weight" msgstr "Einheit für das Gerätegewicht" -#: netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/bulk_import.py:357 msgid "Module weight" msgstr "Gewicht des Moduls" -#: netbox/dcim/forms/bulk_import.py:366 +#: netbox/dcim/forms/bulk_import.py:363 msgid "Unit for module weight" msgstr "Einheit für das Modulgewicht" -#: netbox/dcim/forms/bulk_import.py:399 +#: netbox/dcim/forms/bulk_import.py:393 msgid "Limit platform assignments to this manufacturer" msgstr "Betriebssystem-Zuweisungen auf diesen Hersteller beschränken" -#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376 +#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364 #: netbox/tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Zugewiesene Rolle" -#: netbox/dcim/forms/bulk_import.py:434 +#: netbox/dcim/forms/bulk_import.py:428 msgid "Device type manufacturer" msgstr "Gerätetyp Hersteller" -#: netbox/dcim/forms/bulk_import.py:440 +#: netbox/dcim/forms/bulk_import.py:434 msgid "Device type model" msgstr "Gerätetyp Modell" -#: netbox/dcim/forms/bulk_import.py:447 +#: netbox/dcim/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Zugewiesenes Betriebssystem" -#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459 +#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453 #: netbox/dcim/forms/model_forms.py:479 msgid "Virtual chassis" msgstr "Virtuelles Gehäuse" -#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465 +#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659 +#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465 #: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548 #: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479 #: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459 -#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232 +#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239 #: netbox/templates/virtualization/cluster.html:10 #: netbox/templates/virtualization/virtualmachine.html:88 #: netbox/templates/virtualization/virtualmachine.html:97 @@ -3821,65 +3826,65 @@ msgstr "Virtuelles Gehäuse" msgid "Cluster" msgstr "Cluster" -#: netbox/dcim/forms/bulk_import.py:466 +#: netbox/dcim/forms/bulk_import.py:460 msgid "Virtualization cluster" msgstr "Virtualisierungscluster" -#: netbox/dcim/forms/bulk_import.py:495 +#: netbox/dcim/forms/bulk_import.py:489 msgid "Assigned location (if any)" msgstr "Zugewiesene Lokation (falls vorhanden)" -#: netbox/dcim/forms/bulk_import.py:502 +#: netbox/dcim/forms/bulk_import.py:496 msgid "Assigned rack (if any)" msgstr "Zugewiesenes Rack (falls vorhanden)" -#: netbox/dcim/forms/bulk_import.py:505 +#: netbox/dcim/forms/bulk_import.py:499 msgid "Face" msgstr "Ausrichtung" -#: netbox/dcim/forms/bulk_import.py:508 +#: netbox/dcim/forms/bulk_import.py:502 msgid "Mounted rack face" msgstr "Montierte Rackseite" -#: netbox/dcim/forms/bulk_import.py:515 +#: netbox/dcim/forms/bulk_import.py:509 msgid "Parent device (for child devices)" msgstr "Übergeordnetes Gerät (für untergeordnete Geräte)" -#: netbox/dcim/forms/bulk_import.py:518 +#: netbox/dcim/forms/bulk_import.py:512 msgid "Device bay" msgstr "Geräteeinsatz" -#: netbox/dcim/forms/bulk_import.py:522 +#: netbox/dcim/forms/bulk_import.py:516 msgid "Device bay in which this device is installed (for child devices)" msgstr "" "Geräteschacht, in dem dieses Gerät installiert ist (für untergeordnete " "Geräte)" -#: netbox/dcim/forms/bulk_import.py:528 +#: netbox/dcim/forms/bulk_import.py:522 msgid "Airflow direction" msgstr "Richtung des Luftstroms" -#: netbox/dcim/forms/bulk_import.py:589 +#: netbox/dcim/forms/bulk_import.py:583 msgid "The device in which this module is installed" msgstr "Das Gerät, in dem dieses Modul installiert ist" -#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583 +#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583 msgid "Module bay" msgstr "Moduleinsatz" -#: netbox/dcim/forms/bulk_import.py:595 +#: netbox/dcim/forms/bulk_import.py:589 msgid "The module bay in which this module is installed" msgstr "Der Modulschacht, in dem dieses Modul installiert ist" -#: netbox/dcim/forms/bulk_import.py:601 +#: netbox/dcim/forms/bulk_import.py:595 msgid "The type of module" msgstr "Der Typ des Moduls" -#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599 +#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599 msgid "Replicate components" msgstr "Komponenten replizieren" -#: netbox/dcim/forms/bulk_import.py:611 +#: netbox/dcim/forms/bulk_import.py:605 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3887,87 +3892,87 @@ msgstr "" "Automatisches Ausfüllen von Komponenten, die diesem Modultyp zugeordnet sind" " (standardmäßig aktiviert)" -#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605 +#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605 msgid "Adopt components" msgstr "Komponenten übernehmen" -#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608 +#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608 msgid "Adopt already existing components" msgstr "Übernehmen Sie bereits bestehende Komponenten" -#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682 -#: netbox/dcim/forms/bulk_import.py:708 +#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676 +#: netbox/dcim/forms/bulk_import.py:702 msgid "Port type" msgstr "Anschluss-Typ" -#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690 +#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684 msgid "Port speed in bps" msgstr "Anschlussgeschwindigkeit in Bit/s" -#: netbox/dcim/forms/bulk_import.py:728 +#: netbox/dcim/forms/bulk_import.py:722 msgid "Outlet type" msgstr "Ausgangs-Typ" -#: netbox/dcim/forms/bulk_import.py:735 +#: netbox/dcim/forms/bulk_import.py:729 msgid "Local power port which feeds this outlet" msgstr "Lokaler Stromanschluss, der diese Stromabgänge speist" -#: netbox/dcim/forms/bulk_import.py:741 +#: netbox/dcim/forms/bulk_import.py:735 msgid "Electrical phase (for three-phase circuits)" msgstr "Elektrische Phase (für dreiphasige Stromkreise)" -#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264 +#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264 #: netbox/virtualization/forms/bulk_import.py:155 #: netbox/virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "Übergeordnete Schnittstelle" -#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272 +#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272 #: netbox/virtualization/forms/bulk_import.py:162 #: netbox/virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "Überbrückte Schnittstelle" -#: netbox/dcim/forms/bulk_import.py:792 +#: netbox/dcim/forms/bulk_import.py:786 msgid "Lag" msgstr "Lag" -#: netbox/dcim/forms/bulk_import.py:796 +#: netbox/dcim/forms/bulk_import.py:790 msgid "Parent LAG interface" msgstr "Übergeordnete LAG-Schnittstelle" -#: netbox/dcim/forms/bulk_import.py:799 +#: netbox/dcim/forms/bulk_import.py:793 msgid "Vdcs" msgstr "Vdcs" -#: netbox/dcim/forms/bulk_import.py:804 +#: netbox/dcim/forms/bulk_import.py:798 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" "VDC-Namen, getrennt durch Kommas, umgeben von doppelten Anführungszeichen. " "Beispiel:" -#: netbox/dcim/forms/bulk_import.py:810 +#: netbox/dcim/forms/bulk_import.py:804 msgid "Physical medium" msgstr "Physikalisches Medium" -#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283 msgid "Duplex" msgstr "Duplex" -#: netbox/dcim/forms/bulk_import.py:818 +#: netbox/dcim/forms/bulk_import.py:812 msgid "Poe mode" msgstr "Poe-Modus" -#: netbox/dcim/forms/bulk_import.py:824 +#: netbox/dcim/forms/bulk_import.py:818 msgid "Poe type" msgstr "Poe-Typ" -#: netbox/dcim/forms/bulk_import.py:833 +#: netbox/dcim/forms/bulk_import.py:827 #: netbox/virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "IEEE 802.1Q-Betriebsmodus (für L2-Schnittstellen)" -#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160 +#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160 #: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282 #: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277 #: netbox/ipam/forms/filtersets.py:336 @@ -3975,151 +3980,151 @@ msgstr "IEEE 802.1Q-Betriebsmodus (für L2-Schnittstellen)" msgid "Assigned VRF" msgstr "Zugewiesenes VRF" -#: netbox/dcim/forms/bulk_import.py:843 +#: netbox/dcim/forms/bulk_import.py:837 msgid "Rf role" msgstr "Rf-Rolle" -#: netbox/dcim/forms/bulk_import.py:846 +#: netbox/dcim/forms/bulk_import.py:840 msgid "Wireless role (AP/station)" msgstr "WLAN Rolle (AP/Station)" -#: netbox/dcim/forms/bulk_import.py:882 +#: netbox/dcim/forms/bulk_import.py:876 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} ist dem Gerät {device} nicht zugewiesen" -#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948 +#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948 #: netbox/dcim/forms/model_forms.py:1522 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Rückseitenanschluss" -#: netbox/dcim/forms/bulk_import.py:899 +#: netbox/dcim/forms/bulk_import.py:893 msgid "Corresponding rear port" msgstr "Entsprechender Rückanschluss" -#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945 -#: netbox/dcim/forms/bulk_import.py:1164 +#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939 +#: netbox/dcim/forms/bulk_import.py:1155 msgid "Physical medium classification" msgstr "Klassifizierung des physikalischen Mediums" -#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805 +#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805 msgid "Installed device" msgstr "Installiertes Gerät" -#: netbox/dcim/forms/bulk_import.py:977 +#: netbox/dcim/forms/bulk_import.py:971 msgid "Child device installed within this bay" msgstr "In diesem Schacht installiertes untergeordnetes Gerät" -#: netbox/dcim/forms/bulk_import.py:979 +#: netbox/dcim/forms/bulk_import.py:973 msgid "Child device not found." msgstr "Untergeordnetes Gerät wurde nicht gefunden." -#: netbox/dcim/forms/bulk_import.py:1037 +#: netbox/dcim/forms/bulk_import.py:1031 msgid "Parent inventory item" msgstr "Artikel aus dem übergeordneten Inventar" -#: netbox/dcim/forms/bulk_import.py:1040 +#: netbox/dcim/forms/bulk_import.py:1034 msgid "Component type" msgstr "Komponenten-Typ" -#: netbox/dcim/forms/bulk_import.py:1044 +#: netbox/dcim/forms/bulk_import.py:1038 msgid "Component Type" msgstr "Komponenten-Typ" -#: netbox/dcim/forms/bulk_import.py:1047 +#: netbox/dcim/forms/bulk_import.py:1041 msgid "Compnent name" msgstr "Name der Komponente" -#: netbox/dcim/forms/bulk_import.py:1049 +#: netbox/dcim/forms/bulk_import.py:1043 msgid "Component Name" msgstr "Name der Komponente" -#: netbox/dcim/forms/bulk_import.py:1091 +#: netbox/dcim/forms/bulk_import.py:1085 #, python-brace-format msgid "Component not found: {device} - {component_name}" msgstr "Komponente wurde nicht gefunden: {device} - {component_name}" -#: netbox/dcim/forms/bulk_import.py:1119 +#: netbox/dcim/forms/bulk_import.py:1110 msgid "Side A device" msgstr "Gerät Seite A" -#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140 +#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131 msgid "Device name" msgstr "Name des Geräts" -#: netbox/dcim/forms/bulk_import.py:1125 +#: netbox/dcim/forms/bulk_import.py:1116 msgid "Side A type" msgstr "Typ Seite A" -#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137 msgid "Termination type" msgstr "Typ des Abschlusspunktes" -#: netbox/dcim/forms/bulk_import.py:1131 +#: netbox/dcim/forms/bulk_import.py:1122 msgid "Side A name" msgstr "Name der Seite A" -#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150 +#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141 msgid "Termination name" msgstr "Name des Abschlusspunktes" -#: netbox/dcim/forms/bulk_import.py:1137 +#: netbox/dcim/forms/bulk_import.py:1128 msgid "Side B device" msgstr "Gerät Seite B" -#: netbox/dcim/forms/bulk_import.py:1143 +#: netbox/dcim/forms/bulk_import.py:1134 msgid "Side B type" msgstr "Typ Seite B" -#: netbox/dcim/forms/bulk_import.py:1149 +#: netbox/dcim/forms/bulk_import.py:1140 msgid "Side B name" msgstr "Name der Seite B" -#: netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1149 #: netbox/wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "Status der Verbindung" -#: netbox/dcim/forms/bulk_import.py:1213 +#: netbox/dcim/forms/bulk_import.py:1201 #, python-brace-format msgid "Side {side_upper}: {device} {termination_object} is already connected" msgstr "" "Seite {side_upper}: {device} {termination_object} ist bereits verbunden" -#: netbox/dcim/forms/bulk_import.py:1219 +#: netbox/dcim/forms/bulk_import.py:1207 #, python-brace-format msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} Seitlicher Abschluss nicht gefunden: {device} {name}" -#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733 -#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131 +#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733 +#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "Master" -#: netbox/dcim/forms/bulk_import.py:1248 +#: netbox/dcim/forms/bulk_import.py:1236 msgid "Master device" msgstr "Master-Gerät" -#: netbox/dcim/forms/bulk_import.py:1265 +#: netbox/dcim/forms/bulk_import.py:1253 msgid "Name of parent site" msgstr "Name des übergeordneten Standorts" -#: netbox/dcim/forms/bulk_import.py:1299 +#: netbox/dcim/forms/bulk_import.py:1287 msgid "Upstream power panel" msgstr "vorgeschalteter Stromverteiler" -#: netbox/dcim/forms/bulk_import.py:1329 +#: netbox/dcim/forms/bulk_import.py:1317 msgid "Primary or redundant" msgstr "Primär oder redundant" -#: netbox/dcim/forms/bulk_import.py:1334 +#: netbox/dcim/forms/bulk_import.py:1322 msgid "Supply type (AC/DC)" msgstr "Versorgungsart (AC/DC)" -#: netbox/dcim/forms/bulk_import.py:1339 +#: netbox/dcim/forms/bulk_import.py:1327 msgid "Single or three-phase" msgstr "Ein- oder Dreiphasig" @@ -4178,11 +4183,11 @@ msgstr "Stromzufuhr" msgid "Side" msgstr "Seite" -#: netbox/dcim/forms/filtersets.py:142 +#: netbox/dcim/forms/filtersets.py:143 msgid "Parent region" msgstr "Übergeordnete Region" -#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28 +#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28 #: netbox/tenancy/forms/bulk_import.py:62 #: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62 #: netbox/wireless/forms/bulk_import.py:25 @@ -4190,51 +4195,58 @@ msgstr "Übergeordnete Region" msgid "Parent group" msgstr "Übergeordnete Gruppe" -#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332 +#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 msgid "Function" msgstr "Funktion" -#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317 +#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317 #: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "Bilder" -#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546 -#: netbox/dcim/forms/filtersets.py:656 +#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547 +#: netbox/dcim/forms/filtersets.py:657 msgid "Components" msgstr "Komponenten" -#: netbox/dcim/forms/filtersets.py:441 +#: netbox/dcim/forms/filtersets.py:442 msgid "Subdevice role" msgstr "Rolle des Untergeräts" -#: netbox/dcim/forms/filtersets.py:719 +#: netbox/dcim/forms/filtersets.py:721 msgid "Model" msgstr "Modell" -#: netbox/dcim/forms/filtersets.py:763 +#: netbox/dcim/forms/filtersets.py:765 msgid "Has an OOB IP" msgstr "Hat eine OOB-IP" -#: netbox/dcim/forms/filtersets.py:770 +#: netbox/dcim/forms/filtersets.py:772 msgid "Virtual chassis member" msgstr "Virtuelles Gehäuse-Mitglied" -#: netbox/dcim/forms/filtersets.py:819 +#: netbox/dcim/forms/filtersets.py:821 msgid "Has virtual device contexts" msgstr "Hat virtuelle Gerätekontexte" -#: netbox/dcim/forms/filtersets.py:1129 +#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537 +#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464 +#: netbox/ipam/forms/model_forms.py:624 +#: netbox/virtualization/forms/filtersets.py:112 +msgid "Cluster group" +msgstr "Cluster-Gruppe" + +#: netbox/dcim/forms/filtersets.py:1141 msgid "Cabled" msgstr "Verkabelt" -#: netbox/dcim/forms/filtersets.py:1136 +#: netbox/dcim/forms/filtersets.py:1148 msgid "Occupied" msgstr "Belegt" -#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183 -#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222 -#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352 +#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195 +#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234 +#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352 #: netbox/templates/dcim/consoleport.html:55 #: netbox/templates/dcim/consoleserverport.html:55 #: netbox/templates/dcim/frontport.html:69 @@ -4246,42 +4258,42 @@ msgstr "Belegt" msgid "Connection" msgstr "Verbindung" -#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316 -#: netbox/extras/forms/bulk_import.py:242 +#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316 +#: netbox/extras/forms/bulk_import.py:239 #: netbox/extras/forms/filtersets.py:473 #: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513 #: netbox/templates/extras/journalentry.html:30 msgid "Kind" msgstr "Art" -#: netbox/dcim/forms/filtersets.py:1283 +#: netbox/dcim/forms/filtersets.py:1295 msgid "Mgmt only" msgstr "Nur Verwaltung" -#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330 +#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" -#: netbox/dcim/forms/filtersets.py:1315 +#: netbox/dcim/forms/filtersets.py:1327 msgid "Wireless channel" msgstr "WLAN Kanal" -#: netbox/dcim/forms/filtersets.py:1319 +#: netbox/dcim/forms/filtersets.py:1331 msgid "Channel frequency (MHz)" msgstr "Kanalfrequenz (MHz)" -#: netbox/dcim/forms/filtersets.py:1323 +#: netbox/dcim/forms/filtersets.py:1335 msgid "Channel width (MHz)" msgstr "Kanalbreite (MHz)" -#: netbox/dcim/forms/filtersets.py:1327 +#: netbox/dcim/forms/filtersets.py:1339 #: netbox/templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "Sendeleistung (dBm)" -#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372 +#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384 #: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12 #: netbox/templates/dcim/cable_trace.html:46 #: netbox/templates/dcim/frontport.html:77 @@ -4292,7 +4304,7 @@ msgstr "Sendeleistung (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915 +#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915 msgid "Discovered" msgstr "Erfasst" @@ -4318,7 +4330,7 @@ msgstr "Inventar-Steuerung" msgid "Outer Dimensions" msgstr "Äußere Abmessungen" -#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308 +#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315 #: netbox/templates/dcim/rack.html:73 msgid "Dimensions" msgstr "Abmessungen" @@ -4360,7 +4372,7 @@ msgstr "" "Die Position im virtuellen Gehäuse, durch die dieses Gerät identifiziert " "wird" -#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132 +#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133 #: netbox/templates/dcim/virtualchassis.html:68 #: netbox/templates/dcim/virtualchassis_edit.html:56 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 @@ -4542,13 +4554,13 @@ msgstr "Inventar-Artikel" msgid "Inventory Item Role" msgstr "Rolle des Inventarartikels" -#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188 +#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190 #: netbox/templates/dcim/virtualdevicecontext.html:30 #: netbox/templates/virtualization/virtualmachine.html:48 msgid "Primary IPv4" msgstr "Primäre IPv4" -#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204 +#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206 #: netbox/templates/dcim/virtualdevicecontext.html:41 #: netbox/templates/virtualization/virtualmachine.html:64 msgid "Primary IPv6" @@ -4640,7 +4652,7 @@ msgstr "Für das erste VC-Mitglied muss eine Position angegeben werden." #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 #: netbox/dcim/models/device_components.py:63 -#: netbox/extras/models/customfields.py:109 +#: netbox/extras/models/customfields.py:110 msgid "label" msgstr "Label" @@ -5799,7 +5811,7 @@ msgstr "identifizieren" msgid "Numeric identifier unique to the parent device" msgstr "Numerische Kennung, die für das übergeordnete Gerät eindeutig ist" -#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210 +#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211 #: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722 #: netbox/netbox/models/__init__.py:114 msgid "comments" @@ -6169,43 +6181,43 @@ msgstr "" "Übergeordneter Standort ({parent}) muss zum gleichen Standort gehören " "({site})." -#: netbox/dcim/tables/cables.py:54 +#: netbox/dcim/tables/cables.py:55 msgid "Termination A" msgstr "Abschlusspunkt A" -#: netbox/dcim/tables/cables.py:59 +#: netbox/dcim/tables/cables.py:60 msgid "Termination B" msgstr "Abschlusspunkt B" -#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22 +#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22 msgid "Device A" msgstr "Gerät A" -#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31 +#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31 msgid "Device B" msgstr "Gerät B" -#: netbox/dcim/tables/cables.py:77 +#: netbox/dcim/tables/cables.py:78 msgid "Location A" msgstr "Standort A" -#: netbox/dcim/tables/cables.py:83 +#: netbox/dcim/tables/cables.py:84 msgid "Location B" msgstr "Standort B" -#: netbox/dcim/tables/cables.py:89 +#: netbox/dcim/tables/cables.py:90 msgid "Rack A" msgstr "Rack A" -#: netbox/dcim/tables/cables.py:95 +#: netbox/dcim/tables/cables.py:96 msgid "Rack B" msgstr "Rack B" -#: netbox/dcim/tables/cables.py:101 +#: netbox/dcim/tables/cables.py:102 msgid "Site A" msgstr "Standort A" -#: netbox/dcim/tables/cables.py:107 +#: netbox/dcim/tables/cables.py:108 msgid "Site B" msgstr "Standort B" @@ -6221,7 +6233,7 @@ msgstr "Erreichbar" #: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 #: netbox/virtualization/forms/model_forms.py:122 #: netbox/virtualization/tables/clusters.py:83 -#: netbox/virtualization/views.py:202 +#: netbox/virtualization/views.py:205 msgid "Devices" msgstr "Geräte" @@ -6302,8 +6314,8 @@ msgid "Power outlets" msgstr "Stromabgänge" #: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046 -#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985 -#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988 +#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908 #: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237 #: netbox/templates/dcim/device/base.html:37 #: netbox/templates/dcim/device_list.html:43 @@ -6315,7 +6327,7 @@ msgstr "Stromabgänge" #: netbox/templates/virtualization/virtualmachine/base.html:27 #: netbox/templates/virtualization/virtualmachine_list.html:14 #: netbox/virtualization/tables/virtualmachines.py:100 -#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55 +#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Schnittstellen" @@ -6341,8 +6353,8 @@ msgid "Module Bay" msgstr "Moduleinsatz" #: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060 -#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063 +#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 #: netbox/templates/dcim/devicetype/base.html:49 @@ -6372,8 +6384,8 @@ msgid "Allocated draw (W)" msgstr "Zugewiesener Stromverbrauch (W)" #: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747 -#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589 -#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145 +#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596 +#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145 #: netbox/netbox/navigation/menu.py:147 #: netbox/templates/dcim/interface.html:339 #: netbox/templates/ipam/ipaddress_bulk_add.html:15 @@ -6466,8 +6478,8 @@ msgstr "Höhe in HE" msgid "Instances" msgstr "Instanzen" -#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925 -#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928 +#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844 #: netbox/netbox/navigation/menu.py:84 #: netbox/templates/dcim/device/base.html:25 #: netbox/templates/dcim/device_list.html:15 @@ -6477,8 +6489,8 @@ msgstr "Instanzen" msgid "Console Ports" msgstr "Konsolen-Anschlüsse" -#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940 -#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943 +#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860 #: netbox/netbox/navigation/menu.py:85 #: netbox/templates/dcim/device/base.html:28 #: netbox/templates/dcim/device_list.html:22 @@ -6488,8 +6500,8 @@ msgstr "Konsolen-Anschlüsse" msgid "Console Server Ports" msgstr "Konsolenserver-Anschlüsse" -#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955 -#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958 +#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876 #: netbox/netbox/navigation/menu.py:86 #: netbox/templates/dcim/device/base.html:31 #: netbox/templates/dcim/device_list.html:29 @@ -6499,8 +6511,8 @@ msgstr "Konsolenserver-Anschlüsse" msgid "Power Ports" msgstr "Stromanschlüsse" -#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970 -#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973 +#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892 #: netbox/netbox/navigation/menu.py:87 #: netbox/templates/dcim/device/base.html:34 #: netbox/templates/dcim/device_list.html:36 @@ -6510,8 +6522,8 @@ msgstr "Stromanschlüsse" msgid "Power Outlets" msgstr "Steckdosen" -#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000 -#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003 +#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930 #: netbox/netbox/navigation/menu.py:82 #: netbox/templates/dcim/device/base.html:40 #: netbox/templates/dcim/devicetype/base.html:37 @@ -6520,8 +6532,8 @@ msgstr "Steckdosen" msgid "Front Ports" msgstr "Frontanschlüsse" -#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015 -#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018 +#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946 #: netbox/netbox/navigation/menu.py:83 #: netbox/templates/dcim/device/base.html:43 #: netbox/templates/dcim/device_list.html:50 @@ -6531,16 +6543,16 @@ msgstr "Frontanschlüsse" msgid "Rear Ports" msgstr "Rückanschlüsse" -#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045 -#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048 +#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 #: netbox/templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Geräte-Einsätze" -#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030 -#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033 +#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88 #: netbox/templates/dcim/device/base.html:46 #: netbox/templates/dcim/device_list.html:64 #: netbox/templates/dcim/devicetype/base.html:43 @@ -6565,7 +6577,7 @@ msgstr "Verfügbare Leistung (VA)" msgid "Racks" msgstr "Racks" -#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311 +#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318 #: netbox/templates/dcim/rack.html:90 msgid "Height" msgstr "Höhe" @@ -6598,38 +6610,38 @@ msgstr "Standorte" msgid "Test case must set peer_termination_type" msgstr "Der Testfall muss peer_termination_type setzen" -#: netbox/dcim/views.py:139 +#: netbox/dcim/views.py:140 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Verbindung von {count} {type} unterbrochen" -#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28 +#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28 msgid "Reservations" msgstr "Reservierungen" -#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90 +#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90 #: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" msgstr "Nicht in einem Rack befindliche Geräte" -#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453 +#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453 #: netbox/templates/extras/configcontext.html:10 #: netbox/virtualization/forms/model_forms.py:225 -#: netbox/virtualization/views.py:399 +#: netbox/virtualization/views.py:404 msgid "Config Context" msgstr "Config-Kontext" -#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409 +#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414 msgid "Render Config" msgstr "Konfiguration rendern" -#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441 +#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441 #: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236 -#: netbox/virtualization/views.py:177 +#: netbox/virtualization/views.py:179 msgid "Virtual Machines" msgstr "Virtuelle Maschinen" -#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233 +#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233 msgid "Children" msgstr "Untergeordnet" @@ -7062,16 +7074,6 @@ msgstr "Cluster-Typ" msgid "Cluster type (slug)" msgstr "Cluster-Typ (URL-Slug)" -#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476 -#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624 -#: netbox/virtualization/forms/filtersets.py:112 -msgid "Cluster group" -msgstr "Cluster-Gruppe" - -#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136 -msgid "Cluster group (slug)" -msgstr "Cluster-Gruppe (URL-Slug)" - #: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16 #: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" @@ -7112,13 +7114,13 @@ msgstr "Erforderlich" #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57 #: netbox/extras/forms/filtersets.py:79 -#: netbox/extras/models/customfields.py:194 +#: netbox/extras/models/customfields.py:195 msgid "UI visible" msgstr "UI sichtbar" #: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63 #: netbox/extras/forms/filtersets.py:84 -#: netbox/extras/models/customfields.py:201 +#: netbox/extras/models/customfields.py:202 msgid "UI editable" msgstr "UI editierbar" @@ -7303,11 +7305,11 @@ msgstr "Webhook {name} nicht gefunden" msgid "Script {name} not found" msgstr "Skript {name} nicht gefunden" -#: netbox/extras/forms/bulk_import.py:239 +#: netbox/extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Zugewiesener Objekttyp" -#: netbox/extras/forms/bulk_import.py:244 +#: netbox/extras/forms/bulk_import.py:241 msgid "The classification of entry" msgstr "Die Klassifizierung der Einreise" @@ -7773,35 +7775,35 @@ msgstr "Konfigurationsvorlage" msgid "config templates" msgstr "Konfigurationsvorlagen" -#: netbox/extras/models/customfields.py:73 +#: netbox/extras/models/customfields.py:74 msgid "The object(s) to which this field applies." msgstr "Die Objekte, für die dieses Feld gilt." -#: netbox/extras/models/customfields.py:80 +#: netbox/extras/models/customfields.py:81 msgid "The type of data this custom field holds" msgstr "Der Datentyp, den dieses benutzerdefinierte Feld enthält" -#: netbox/extras/models/customfields.py:87 +#: netbox/extras/models/customfields.py:88 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" "Der Typ des NetBox-Objekts, dem dieses Feld zugeordnet ist (für " "Objektfelder)" -#: netbox/extras/models/customfields.py:93 +#: netbox/extras/models/customfields.py:94 msgid "Internal field name" msgstr "Interner Feldname" -#: netbox/extras/models/customfields.py:97 +#: netbox/extras/models/customfields.py:98 msgid "Only alphanumeric characters and underscores are allowed." msgstr "Nur alphanumerische Zeichen und Unterstriche sind zulässig." -#: netbox/extras/models/customfields.py:102 +#: netbox/extras/models/customfields.py:103 msgid "Double underscores are not permitted in custom field names." msgstr "" "Doppelte Unterstriche sind in den Namen benutzerdefinierter Felder nicht " "zulässig." -#: netbox/extras/models/customfields.py:113 +#: netbox/extras/models/customfields.py:114 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" @@ -7809,21 +7811,21 @@ msgstr "" "Name des Feldes, wie er den Benutzern angezeigt wird (falls nicht angegeben," " wird der Name des Felds verwendet)" -#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345 +#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345 msgid "group name" msgstr "Name der Gruppe" -#: netbox/extras/models/customfields.py:120 +#: netbox/extras/models/customfields.py:121 msgid "Custom fields within the same group will be displayed together" msgstr "" "Benutzerdefinierte Felder innerhalb derselben Gruppe werden zusammen " "angezeigt" -#: netbox/extras/models/customfields.py:128 +#: netbox/extras/models/customfields.py:129 msgid "required" msgstr "erforderlich" -#: netbox/extras/models/customfields.py:130 +#: netbox/extras/models/customfields.py:131 msgid "" "If true, this field is required when creating new objects or editing an " "existing object." @@ -7831,11 +7833,11 @@ msgstr "" "Wenn wahr, ist dieses Feld erforderlich, wenn Sie neue Objekte erstellen " "oder ein vorhandenes Objekt bearbeiten." -#: netbox/extras/models/customfields.py:133 +#: netbox/extras/models/customfields.py:134 msgid "search weight" msgstr "Gewichtung der Suche" -#: netbox/extras/models/customfields.py:136 +#: netbox/extras/models/customfields.py:137 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." @@ -7843,11 +7845,11 @@ msgstr "" "Gewichtung für die Suche. Niedrigere Werte werden als wichtiger angesehen. " "Felder mit einem Suchgewicht von Null werden ignoriert." -#: netbox/extras/models/customfields.py:141 +#: netbox/extras/models/customfields.py:142 msgid "filter logic" msgstr "Filterlogik" -#: netbox/extras/models/customfields.py:145 +#: netbox/extras/models/customfields.py:146 msgid "" "Loose matches any instance of a given string; exact matches the entire " "field." @@ -7855,11 +7857,11 @@ msgstr "" "Loose entspricht einer beliebigen Instanz einer bestimmten Zeichenfolge; " "exact entspricht dem gesamten Feld." -#: netbox/extras/models/customfields.py:148 +#: netbox/extras/models/customfields.py:149 msgid "default" msgstr "Standard" -#: netbox/extras/models/customfields.py:152 +#: netbox/extras/models/customfields.py:153 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with" " double quotes (e.g. \"Foo\")." @@ -7867,36 +7869,36 @@ msgstr "" "Standardwert für das Feld (muss ein JSON-Wert sein). Kapsele Zeichenketten " "mit doppelten Anführungszeichen ein (z. B. „Foo“)." -#: netbox/extras/models/customfields.py:157 +#: netbox/extras/models/customfields.py:158 msgid "display weight" msgstr "Gewicht anzeigen" -#: netbox/extras/models/customfields.py:158 +#: netbox/extras/models/customfields.py:159 msgid "Fields with higher weights appear lower in a form." msgstr "" "Felder mit höheren Gewichten werden in einem Formular niedriger angezeigt." -#: netbox/extras/models/customfields.py:163 +#: netbox/extras/models/customfields.py:164 msgid "minimum value" msgstr "minimaler Wert" -#: netbox/extras/models/customfields.py:164 +#: netbox/extras/models/customfields.py:165 msgid "Minimum allowed value (for numeric fields)" msgstr "Zulässiger Mindestwert (für numerische Felder)" -#: netbox/extras/models/customfields.py:169 +#: netbox/extras/models/customfields.py:170 msgid "maximum value" msgstr "maximaler Wert" -#: netbox/extras/models/customfields.py:170 +#: netbox/extras/models/customfields.py:171 msgid "Maximum allowed value (for numeric fields)" msgstr "Zulässiger Maximalwert (für numerische Felder)" -#: netbox/extras/models/customfields.py:176 +#: netbox/extras/models/customfields.py:177 msgid "validation regex" msgstr "Regex für die Validierung" -#: netbox/extras/models/customfields.py:178 +#: netbox/extras/models/customfields.py:179 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -7908,178 +7910,178 @@ msgstr "" "Beispiel ^ [A-Z]{3}$ begrenzt die Werte auf genau drei " "Großbuchstaben." -#: netbox/extras/models/customfields.py:186 +#: netbox/extras/models/customfields.py:187 msgid "choice set" msgstr "Auswahlset" -#: netbox/extras/models/customfields.py:195 +#: netbox/extras/models/customfields.py:196 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" "Gibt an, ob das benutzerdefinierte Feld in der Benutzeroberfläche angezeigt " "wird" -#: netbox/extras/models/customfields.py:202 +#: netbox/extras/models/customfields.py:203 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" "Gibt an, ob der Wert des benutzerdefinierten Felds in der Benutzeroberfläche" " bearbeitet werden kann." -#: netbox/extras/models/customfields.py:206 +#: netbox/extras/models/customfields.py:207 msgid "is cloneable" msgstr "ist klonbar" -#: netbox/extras/models/customfields.py:207 +#: netbox/extras/models/customfields.py:208 msgid "Replicate this value when cloning objects" msgstr "Replizieren Sie diesen Wert beim Klonen von Objekten" -#: netbox/extras/models/customfields.py:224 +#: netbox/extras/models/customfields.py:225 msgid "custom field" msgstr "benutzerdefiniertes Feld" -#: netbox/extras/models/customfields.py:225 +#: netbox/extras/models/customfields.py:226 msgid "custom fields" msgstr "benutzerdefinierte Felder" -#: netbox/extras/models/customfields.py:314 +#: netbox/extras/models/customfields.py:315 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "Ungültiger Standardwert \"{value}\": {error}" -#: netbox/extras/models/customfields.py:321 +#: netbox/extras/models/customfields.py:322 msgid "A minimum value may be set only for numeric fields" msgstr "Ein Mindestwert kann nur für numerische Felder festgelegt werden" -#: netbox/extras/models/customfields.py:323 +#: netbox/extras/models/customfields.py:324 msgid "A maximum value may be set only for numeric fields" msgstr "Ein Maximalwert kann nur für numerische Felder festgelegt werden" -#: netbox/extras/models/customfields.py:333 +#: netbox/extras/models/customfields.py:334 msgid "" "Regular expression validation is supported only for text and URL fields" msgstr "" "Die Überprüfung regulärer Ausdrücke wird nur für Text- und URL-Felder " "unterstützt" -#: netbox/extras/models/customfields.py:343 +#: netbox/extras/models/customfields.py:344 msgid "Selection fields must specify a set of choices." msgstr "Auswahlfelder müssen eine Reihe von Auswahlmöglichkeiten enthalten." -#: netbox/extras/models/customfields.py:347 +#: netbox/extras/models/customfields.py:348 msgid "Choices may be set only on selection fields." msgstr "Auswahlmöglichkeiten können nur für Auswahlfelder festgelegt werden." -#: netbox/extras/models/customfields.py:354 +#: netbox/extras/models/customfields.py:355 msgid "Object fields must define an object type." msgstr "Objektfelder müssen einen Objekttyp definieren." -#: netbox/extras/models/customfields.py:359 +#: netbox/extras/models/customfields.py:360 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "{type} Felder definieren möglicherweise keinen Objekttyp." -#: netbox/extras/models/customfields.py:439 +#: netbox/extras/models/customfields.py:440 msgid "True" msgstr "Wahr" -#: netbox/extras/models/customfields.py:440 +#: netbox/extras/models/customfields.py:441 msgid "False" msgstr "Falsch" -#: netbox/extras/models/customfields.py:522 +#: netbox/extras/models/customfields.py:523 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" "Die Werte müssen mit diesem Regex übereinstimmen: {regex}" -#: netbox/extras/models/customfields.py:616 +#: netbox/extras/models/customfields.py:617 msgid "Value must be a string." msgstr "Der Wert muss eine Zeichenfolge sein." -#: netbox/extras/models/customfields.py:618 +#: netbox/extras/models/customfields.py:619 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "Wert muss mit Regex '{regex}' übereinstimmen" -#: netbox/extras/models/customfields.py:623 +#: netbox/extras/models/customfields.py:624 msgid "Value must be an integer." msgstr "Der Wert muss eine Ganzzahl sein." -#: netbox/extras/models/customfields.py:626 -#: netbox/extras/models/customfields.py:641 +#: netbox/extras/models/customfields.py:627 +#: netbox/extras/models/customfields.py:642 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "Wert muss mindestens {minimum} sein" -#: netbox/extras/models/customfields.py:630 -#: netbox/extras/models/customfields.py:645 +#: netbox/extras/models/customfields.py:631 +#: netbox/extras/models/customfields.py:646 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "Wert darf nicht {maximum} überschreiten" -#: netbox/extras/models/customfields.py:638 +#: netbox/extras/models/customfields.py:639 msgid "Value must be a decimal." msgstr "Der Wert muss eine Dezimalzahl sein." -#: netbox/extras/models/customfields.py:650 +#: netbox/extras/models/customfields.py:651 msgid "Value must be true or false." msgstr "Der Wert muss wahr oder falsch sein." -#: netbox/extras/models/customfields.py:658 +#: netbox/extras/models/customfields.py:659 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." msgstr "Datumswerte müssen im ISO 8601-Format (JJJJ-MM-DD) vorliegen." -#: netbox/extras/models/customfields.py:671 +#: netbox/extras/models/customfields.py:672 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" "Datums- und Uhrzeitwerte müssen im ISO 8601-Format (JJJJ-MM-DD HH:MM:SS) " "vorliegen." -#: netbox/extras/models/customfields.py:678 +#: netbox/extras/models/customfields.py:679 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "Ungültige Auswahl ({value}) für Auswahlsatz {choiceset}." -#: netbox/extras/models/customfields.py:688 +#: netbox/extras/models/customfields.py:689 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "Ungültige Auswahl (en) ({value}) für Auswahlsatz {choiceset}." -#: netbox/extras/models/customfields.py:697 +#: netbox/extras/models/customfields.py:698 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "Der Wert muss eine Objekt-ID sein, nicht {type}" -#: netbox/extras/models/customfields.py:703 +#: netbox/extras/models/customfields.py:704 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "Der Wert muss eine Liste von Objekt-IDs sein, nicht {type}" -#: netbox/extras/models/customfields.py:707 +#: netbox/extras/models/customfields.py:708 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "Ungültige Objekt-ID gefunden: {id}" -#: netbox/extras/models/customfields.py:710 +#: netbox/extras/models/customfields.py:711 msgid "Required field cannot be empty." msgstr "Das erforderliche Feld darf nicht leer sein." -#: netbox/extras/models/customfields.py:729 +#: netbox/extras/models/customfields.py:730 msgid "Base set of predefined choices (optional)" msgstr "Basissatz vordefinierter Auswahlmöglichkeiten (optional)" -#: netbox/extras/models/customfields.py:741 +#: netbox/extras/models/customfields.py:742 msgid "Choices are automatically ordered alphabetically" msgstr "Die Auswahlmöglichkeiten werden automatisch alphabetisch sortiert" -#: netbox/extras/models/customfields.py:748 +#: netbox/extras/models/customfields.py:749 msgid "custom field choice set" msgstr "benutzerdefinierter Feldauswahlsatz" -#: netbox/extras/models/customfields.py:749 +#: netbox/extras/models/customfields.py:750 msgid "custom field choice sets" msgstr "benutzerdefinierte Feldauswahlsätze" -#: netbox/extras/models/customfields.py:785 +#: netbox/extras/models/customfields.py:786 msgid "Must define base or extra choices." msgstr "Muss Basis- oder zusätzliche Auswahlmöglichkeiten definieren." @@ -8525,19 +8527,19 @@ msgstr "Skriptdaten" msgid "Script Execution Parameters" msgstr "Parameter für die Skriptausführung" -#: netbox/extras/scripts.py:664 +#: netbox/extras/scripts.py:666 msgid "Database changes have been reverted automatically." msgstr "Datenbankänderungen wurden automatisch rückgängig gemacht." -#: netbox/extras/scripts.py:677 +#: netbox/extras/scripts.py:679 msgid "Script aborted with error: " msgstr "Das Skript wurde mit einem Fehler abgebrochen: " -#: netbox/extras/scripts.py:687 +#: netbox/extras/scripts.py:689 msgid "An exception occurred: " msgstr "Eine Ausnahme ist aufgetreten: " -#: netbox/extras/scripts.py:690 +#: netbox/extras/scripts.py:692 msgid "Database changes have been reverted due to error." msgstr "Datenbankänderungen wurden aufgrund eines Fehlers rückgängig gemacht." @@ -9847,7 +9849,7 @@ msgid "The primary function of this VLAN" msgstr "Die Hauptfunktion dieses VLAN" #: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175 -#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961 +#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971 #: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182 msgid "VLANs" msgstr "VLANs" @@ -9923,7 +9925,7 @@ msgid "Added" msgstr "Hinzugefügt" #: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165 -#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342 +#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346 #: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154 #: netbox/templates/ipam/vlan.html:84 msgid "Prefixes" @@ -9931,7 +9933,7 @@ msgstr "Prefixe" #: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267 #: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82 -#: netbox/templates/dcim/device.html:253 +#: netbox/templates/dcim/device.html:260 #: netbox/templates/ipam/aggregate.html:24 #: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 msgid "Utilization" @@ -10026,23 +10028,23 @@ msgstr "" "In DNS-Namen sind nur alphanumerische Zeichen, Sternchen, Bindestriche, " "Punkte und Unterstriche zulässig" -#: netbox/ipam/views.py:528 +#: netbox/ipam/views.py:533 msgid "Child Prefixes" msgstr "untergeordnete Prefixe" -#: netbox/ipam/views.py:563 +#: netbox/ipam/views.py:569 msgid "Child Ranges" msgstr "untergeordnete Bereiche" -#: netbox/ipam/views.py:889 +#: netbox/ipam/views.py:898 msgid "Related IPs" msgstr "Verwandte IPs" -#: netbox/ipam/views.py:1116 +#: netbox/ipam/views.py:1127 msgid "Device Interfaces" msgstr "Geräte-Schnittstellen" -#: netbox/ipam/views.py:1133 +#: netbox/ipam/views.py:1145 msgid "VM Interfaces" msgstr "VM-Schnittstellen" @@ -10377,6 +10379,10 @@ msgstr "Regex" msgid "Object type(s)" msgstr "Objekttyp(en)" +#: netbox/netbox/forms/__init__.py:40 +msgid "Lookup" +msgstr "Suchen" + #: netbox/netbox/forms/base.py:88 msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. " @@ -10481,7 +10487,7 @@ msgstr "Kontakt-Zuweisungen" msgid "Modules" msgstr "Module" -#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158 +#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160 #: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "Kontexte virtueller Geräte" @@ -10543,7 +10549,7 @@ msgstr "VLAN-Gruppen" msgid "Service Templates" msgstr "Vorlagen für Dienste" -#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295 +#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302 #: netbox/templates/ipam/ipaddress.html:118 #: netbox/templates/virtualization/virtualmachine.html:150 msgid "Services" @@ -10610,7 +10616,7 @@ msgstr "Virtualisierung" #: netbox/templates/virtualization/virtualmachine/base.html:32 #: netbox/templates/virtualization/virtualmachine_list.html:21 #: netbox/virtualization/tables/virtualmachines.py:103 -#: netbox/virtualization/views.py:380 +#: netbox/virtualization/views.py:385 msgid "Virtual Disks" msgstr "Virtuelle Festplatten" @@ -10672,7 +10678,7 @@ msgstr "Personalisierung" #: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30 #: netbox/templates/inc/panels/custom_fields.html:7 #: netbox/templates/ipam/ipaddress_bulk_add.html:35 -#: netbox/templates/ipam/vlan_edit.html:63 +#: netbox/templates/ipam/vlan_edit.html:59 msgid "Custom Fields" msgstr "Benutzerdefinierte Felder" @@ -10778,7 +10784,7 @@ msgstr "Konfigurationsverlauf" msgid "Background Tasks" msgstr "Hintergrund-Aufgaben" -#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35 +#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35 #: netbox/templates/account/preferences.html:22 #: netbox/templates/core/system.html:80 msgid "Plugins" @@ -10897,7 +10903,7 @@ msgstr "Beide" #: netbox/netbox/preferences.py:55 msgid "Where the paginator controls will be displayed relative to a table" msgstr "" -"Wo die Paginator-Steuerelemente relativ zu einer Tabelle angezeigt werden" +"Wo die Seiten-Steuerelemente relativ zu einer Tabelle angezeigt werden" #: netbox/netbox/preferences.py:60 msgid "Data format" @@ -10924,43 +10930,43 @@ msgstr "" msgid "Cannot delete stores from registry" msgstr "Stores können nicht aus der Registrierung gelöscht werden" -#: netbox/netbox/settings.py:724 +#: netbox/netbox/settings.py:741 msgid "German" msgstr "Deutsch" -#: netbox/netbox/settings.py:725 +#: netbox/netbox/settings.py:742 msgid "English" msgstr "Englisch" -#: netbox/netbox/settings.py:726 +#: netbox/netbox/settings.py:743 msgid "Spanish" msgstr "Spanisch" -#: netbox/netbox/settings.py:727 +#: netbox/netbox/settings.py:744 msgid "French" msgstr "Französisch" -#: netbox/netbox/settings.py:728 +#: netbox/netbox/settings.py:745 msgid "Japanese" msgstr "Japanisch" -#: netbox/netbox/settings.py:729 +#: netbox/netbox/settings.py:746 msgid "Portuguese" msgstr "Portugiesisch" -#: netbox/netbox/settings.py:730 +#: netbox/netbox/settings.py:747 msgid "Russian" msgstr "Russisch" -#: netbox/netbox/settings.py:731 +#: netbox/netbox/settings.py:748 msgid "Turkish" msgstr "Türkisch" -#: netbox/netbox/settings.py:732 +#: netbox/netbox/settings.py:749 msgid "Ukrainian" msgstr "Ukrainisch" -#: netbox/netbox/settings.py:733 +#: netbox/netbox/settings.py:750 msgid "Chinese" msgstr "chinesisch" @@ -11007,7 +11013,7 @@ msgstr "Changelog" msgid "Journal" msgstr "Journal" -#: netbox/netbox/views/generic/object_views.py:106 +#: netbox/netbox/views/generic/object_views.py:108 #, python-brace-format msgid "{class_name} must implement get_children()" msgstr "{class_name} muss get_children () implementieren" @@ -11581,8 +11587,8 @@ msgstr "Warteschlangen im Hintergrund" #: netbox/templates/core/rq_worker_list.html:45 #: netbox/templates/extras/script_result.html:49 #: netbox/templates/extras/script_result.html:51 -#: netbox/templates/inc/table_controls_htmx.html:28 -#: netbox/templates/inc/table_controls_htmx.html:31 +#: netbox/templates/inc/table_controls_htmx.html:30 +#: netbox/templates/inc/table_controls_htmx.html:33 msgid "Configure Table" msgstr "Tabelle konfigurieren" @@ -11831,7 +11837,7 @@ msgstr "GPS-Koordinaten" #: netbox/templates/dcim/device.html:68 netbox/templates/dcim/site.html:100 msgid "Map It" -msgstr "Ordnen Sie es zu" +msgstr "Karte" #: netbox/templates/dcim/device.html:108 #: netbox/templates/dcim/inventoryitem.html:56 @@ -11844,56 +11850,58 @@ msgstr "Asset-Tag" msgid "View Virtual Chassis" msgstr "Virtuelles Gehäuse anzeigen" -#: netbox/templates/dcim/device.html:162 +#: netbox/templates/dcim/device.html:164 msgid "Create VDC" msgstr "VDC erstellen" -#: netbox/templates/dcim/device.html:173 +#: netbox/templates/dcim/device.html:175 #: netbox/templates/dcim/device_edit.html:64 #: netbox/virtualization/forms/model_forms.py:223 msgid "Management" msgstr "Management" -#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209 +#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:227 #: netbox/templates/virtualization/virtualmachine.html:53 #: netbox/templates/virtualization/virtualmachine.html:69 msgid "NAT for" msgstr "NAT für" -#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 +#: netbox/templates/dcim/device.html:229 #: netbox/templates/virtualization/virtualmachine.html:55 #: netbox/templates/virtualization/virtualmachine.html:71 msgid "NAT" msgstr "NAT" -#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67 +#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67 msgid "Power Utilization" msgstr "Energienutzung" -#: netbox/templates/dcim/device.html:249 +#: netbox/templates/dcim/device.html:256 msgid "Input" msgstr "Eingabe" -#: netbox/templates/dcim/device.html:250 +#: netbox/templates/dcim/device.html:257 msgid "Outlets" msgstr "Abgänge" -#: netbox/templates/dcim/device.html:251 +#: netbox/templates/dcim/device.html:258 msgid "Allocated" msgstr "Zugeteilt" -#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263 -#: netbox/templates/dcim/device.html:279 +#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 +#: netbox/templates/dcim/device.html:286 #: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "VA" -#: netbox/templates/dcim/device.html:273 +#: netbox/templates/dcim/device.html:280 msgctxt "Leg of a power feed" msgid "Leg" msgstr "Bein" -#: netbox/templates/dcim/device.html:299 +#: netbox/templates/dcim/device.html:306 #: netbox/templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "Einen Dienst hinzufügen" @@ -12041,7 +12049,7 @@ msgstr "" #: netbox/templates/dcim/devicebay_populate.html:13 msgid "Populate" -msgstr "Bevölkern" +msgstr "Bestücken" #: netbox/templates/dcim/devicebay_populate.html:22 msgid "Bay" @@ -12422,7 +12430,7 @@ msgstr "Physische Adresse" #: netbox/templates/dcim/site.html:81 msgid "Map" -msgstr "Landkarte" +msgstr "Karte" #: netbox/templates/dcim/site.html:90 msgid "Shipping Address" @@ -13204,8 +13212,8 @@ msgid "" "Are you sure you want to delete " "%(object_type)s %(object)s?" msgstr "" -"Bist du sicher, dass du willst löschen %(object_type)s %(object)s?" +"Bist du sicher, dass du%(object_type)s %(object)s löschen willst?" #: netbox/templates/htmx/delete_form.html:17 msgid "The following objects will be deleted as a result of this action." @@ -13244,7 +13252,7 @@ msgstr "Auswahl der Seite" #: netbox/templates/inc/paginator.html:75 #, python-format msgid "Showing %(start)s-%(end)s of %(total)s" -msgstr "Zeigt %(start)s-%(end)s von %(total)s" +msgstr "zeige %(start)s-%(end)s von %(total)s" #: netbox/templates/inc/paginator.html:82 msgid "Pagination options" @@ -13252,7 +13260,7 @@ msgstr "Optionen für die Seitennummerierung" #: netbox/templates/inc/paginator.html:86 msgid "Per Page" -msgstr "Pro Seite" +msgstr "pro Seite" #: netbox/templates/inc/panels/image_attachments.html:10 msgid "Attach an image" @@ -13274,7 +13282,7 @@ msgstr "Die Daten sind nicht mit der Upstream-Datei synchronisiert" msgid "Quick search" msgstr "Schnellsuche" -#: netbox/templates/inc/table_controls_htmx.html:19 +#: netbox/templates/inc/table_controls_htmx.html:20 msgid "Saved filter" msgstr "Gespeicherte Filter" @@ -13647,7 +13655,7 @@ msgstr "Virtuelle CPUs" #: netbox/templates/virtualization/cluster.html:59 #: netbox/templates/virtualization/virtualmachine.html:125 msgid "Memory" -msgstr "Speicher" +msgstr "Arbeitsspeicher" #: netbox/templates/virtualization/cluster.html:69 #: netbox/templates/virtualization/virtualmachine.html:136 @@ -13723,7 +13731,7 @@ msgstr "IKE-Richtlinie" #: netbox/templates/vpn/ikepolicy.html:21 msgid "IKE Version" -msgstr "IKE-Ausführung" +msgstr "IKE-Version" #: netbox/templates/vpn/ikepolicy.html:29 msgid "Pre-Shared Key" @@ -13853,7 +13861,7 @@ msgstr "Tunnel-Abschlusspunkt" #: netbox/vpn/forms/model_forms.py:138 netbox/vpn/forms/model_forms.py:247 #: netbox/vpn/tables/tunnels.py:101 msgid "Outside IP" -msgstr "Außerhalb von IP" +msgstr "Äußere IP" #: netbox/templates/vpn/tunneltermination.html:51 msgid "Peer Terminations" @@ -14369,7 +14377,11 @@ msgstr "" msgid "More than 50" msgstr "Mehr als 50" -#: netbox/utilities/fields.py:157 +#: netbox/utilities/fields.py:30 +msgid "RGB color in hexadecimal. Example: " +msgstr "RGB Farbe in hexadezimaler Form. Beispiel:" + +#: netbox/utilities/fields.py:159 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " @@ -14378,7 +14390,7 @@ msgstr "" "%s(%r) ist ungültig. Der to_model-Parameter für CounterCacheField muss eine " "Zeichenfolge im Format 'app.model' sein" -#: netbox/utilities/fields.py:167 +#: netbox/utilities/fields.py:169 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " @@ -14487,7 +14499,7 @@ msgid "" "target=\"_blank\" tabindex=\"-1\">Markdown syntax is supported" msgstr "" " Abschlag Syntax wird unterstützt" +"target=\"_blank\" tabindex=\"-1\">Markdown Syntax wird unterstützt" #: netbox/utilities/forms/fields/fields.py:48 msgid "URL-friendly unique shorthand" @@ -14496,8 +14508,7 @@ msgstr "URL-freundliche, einzigartige Kurzschrift" #: netbox/utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." msgstr "" -"Geben Sie Kontextdaten ein JSON " -"formatieren." +"Geben Sie Kontextdaten im JSON Format ein." #: netbox/utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" @@ -14608,8 +14619,8 @@ msgid "" "Invalid permission name: {name}. Must be in the format " "._" msgstr "" -"Ungültiger Berechtigungsname: {name}. Muss im Format sein " -"._" +"Ungültiger Berechtigungsname: {name}. Muss im Format " +"._ sein." #: netbox/utilities/permissions.py:57 #, python-brace-format @@ -14688,6 +14699,14 @@ msgstr "Nach oben bewegen" msgid "Move Down" msgstr "Nach unten bewegen" +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search…" +msgstr "Suchen..." + +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search NetBox" +msgstr "Suche NetBox" + #: netbox/utilities/templates/widgets/apiselect.html:7 msgid "Open selector" msgstr "Selektor öffnen" @@ -14709,18 +14728,18 @@ msgstr "Der Test muss csv_update_data definieren." msgid "{value} is not a valid regular expression." msgstr "{value} ist kein gültiger regulärer Ausdruck." -#: netbox/utilities/views.py:44 +#: netbox/utilities/views.py:45 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "" "{self.__class__.__name__} muss get_required_permission() implementieren" -#: netbox/utilities/views.py:80 +#: netbox/utilities/views.py:81 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "{class_name} muss get_required_permission() implementieren" -#: netbox/utilities/views.py:104 +#: netbox/utilities/views.py:105 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" @@ -14743,10 +14762,6 @@ msgstr "Übergeordnete Gruppe (URL-Slug)" msgid "Cluster type (ID)" msgstr "Cluster-Typ (ID)" -#: netbox/virtualization/filtersets.py:130 -msgid "Cluster group (ID)" -msgstr "Cluster-Gruppe (ID)" - #: netbox/virtualization/filtersets.py:151 #: netbox/virtualization/filtersets.py:267 msgid "Cluster (ID)" @@ -14907,7 +14922,7 @@ msgstr "" #, python-brace-format msgid "Must be an IPv{family} address. ({ip} is an IPv{version} address.)" msgstr "" -"Muss ein IPV sein{family} Adresse. ({ip} ist ein IPv{version} Adresse.)" +"Muss eine IPv{family} Adresse sein. ({ip} ist eine IPv{version} Adresse.)" #: netbox/virtualization/models/virtualmachines.py:233 #, python-brace-format @@ -15099,7 +15114,7 @@ msgstr "Tunnelgruppe" #: netbox/vpn/forms/bulk_edit.py:117 netbox/vpn/models/crypto.py:47 msgid "SA lifetime" -msgstr "Ein Leben lang" +msgstr "SA-Lebendauer" #: netbox/vpn/forms/bulk_edit.py:151 netbox/wireless/forms/bulk_edit.py:79 #: netbox/wireless/forms/bulk_edit.py:126 @@ -15209,11 +15224,11 @@ msgstr "Tunnel-Schnittstelle" #: netbox/vpn/forms/model_forms.py:150 msgid "First Termination" -msgstr "Erste Kündigung" +msgstr "Erster Endpunkt" #: netbox/vpn/forms/model_forms.py:153 msgid "Second Termination" -msgstr "Zweite Kündigung" +msgstr "Zweiter Endpunkt" #: netbox/vpn/forms/model_forms.py:197 msgid "This parameter is required when defining a termination." @@ -15353,7 +15368,7 @@ msgstr "Tunnelgruppen" #: netbox/vpn/models/tunnels.py:53 msgid "encapsulation" -msgstr "Verkapselung" +msgstr "Encapsulation" #: netbox/vpn/models/tunnels.py:72 msgid "tunnel ID" @@ -15369,7 +15384,7 @@ msgstr "Tunnel" #: netbox/vpn/models/tunnels.py:153 msgid "An object may be terminated to only one tunnel at a time." -msgstr "Ein Objekt kann jeweils nur zu einem Tunnel terminiert werden." +msgstr "Ein Objekt kann jeweils nur an einem Tunnel terminiert werden." #: netbox/vpn/models/tunnels.py:156 msgid "tunnel termination" @@ -15398,7 +15413,7 @@ msgstr "Authentifizierungsalgorithmus" #: netbox/vpn/tables/crypto.py:34 msgid "SA Lifetime" -msgstr "Ein Leben lang" +msgstr "SA-Lebensdauer" #: netbox/vpn/tables/crypto.py:71 msgid "Pre-shared Key" @@ -15410,7 +15425,7 @@ msgstr "SA-Lebensdauer (Sekunden)" #: netbox/vpn/tables/crypto.py:106 msgid "SA Lifetime (KB)" -msgstr "SA Lifetime (KB)" +msgstr "SA-Lebensdauer (KB)" #: netbox/vpn/tables/l2vpn.py:69 msgid "Object Parent" @@ -15453,7 +15468,7 @@ msgstr "Authentifizierungchiffre" #: netbox/wireless/forms/bulk_import.py:52 msgid "Bridged VLAN" -msgstr "Gebrücktes VLAN" +msgstr "Bridged VLAN" #: netbox/wireless/forms/bulk_import.py:89 #: netbox/wireless/tables/wirelesslink.py:27 diff --git a/netbox/translations/fr/LC_MESSAGES/django.po b/netbox/translations/fr/LC_MESSAGES/django.po index d3d142d73..5ddbb2441 100644 --- a/netbox/translations/fr/LC_MESSAGES/django.po +++ b/netbox/translations/fr/LC_MESSAGES/django.po @@ -11,15 +11,16 @@ # Lou Lecrivain, 2024 # Jean Benoit , 2024 # thomas rivemale, 2024 +# Jeff Gehlbach, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-22 05:02+0000\n" +"POT-Creation-Date: 2024-07-09 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: thomas rivemale, 2024\n" +"Last-Translator: Jeff Gehlbach, 2024\n" "Language-Team: French (https://app.transifex.com/netbox-community/teams/178115/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -117,8 +118,8 @@ msgstr "Mis hors service" #: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151 #: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297 #: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969 -#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832 -#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133 +#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843 +#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945 #: netbox/virtualization/filtersets.py:45 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377 @@ -129,8 +130,8 @@ msgstr "Région (ID)" #: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157 #: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304 #: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976 -#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839 -#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140 +#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850 +#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151 #: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372 @@ -140,9 +141,9 @@ msgstr "Région (slug)" #: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209 #: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224 #: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419 -#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318 -#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088 -#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352 +#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329 +#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099 +#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352 #: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" @@ -151,9 +152,9 @@ msgstr "Groupe de sites (ID)" #: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216 #: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231 #: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426 -#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325 -#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095 -#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467 +#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336 +#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106 +#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467 #: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965 #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 @@ -162,7 +163,7 @@ msgstr "Groupe de sites (slug)" #: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186 #: netbox/circuits/forms/bulk_edit.py:214 -#: netbox/circuits/forms/bulk_import.py:126 +#: netbox/circuits/forms/bulk_import.py:123 #: netbox/circuits/forms/filtersets.py:49 #: netbox/circuits/forms/filtersets.py:169 #: netbox/circuits/forms/filtersets.py:207 @@ -171,15 +172,15 @@ msgstr "Groupe de sites (slug)" #: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167 #: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575 #: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130 -#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257 -#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262 -#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85 -#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265 -#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682 -#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940 -#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068 -#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500 -#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136 +#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254 +#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250 +#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86 +#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266 +#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684 +#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952 +#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080 +#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512 +#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136 #: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206 #: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671 #: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150 @@ -278,8 +279,8 @@ msgstr "Type de circuit (slug)" #: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266 #: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321 #: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993 -#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857 -#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158 +#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868 +#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387 @@ -292,7 +293,7 @@ msgstr "Terminaison A (ID)" #: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73 #: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693 -#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206 +#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217 #: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63 #: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127 #: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204 @@ -309,11 +310,12 @@ msgstr "Terminaison A (ID)" #: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92 #: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104 +#: netbox/utilities/templates/navigation/menu.html:16 msgid "Search" msgstr "Rechercher" #: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170 -#: netbox/circuits/forms/bulk_import.py:117 +#: netbox/circuits/forms/bulk_import.py:114 #: netbox/circuits/forms/filtersets.py:196 #: netbox/circuits/forms/filtersets.py:212 #: netbox/circuits/forms/model_forms.py:109 @@ -334,9 +336,9 @@ msgstr "Réseau fournisseur (ID)" #: netbox/circuits/forms/filtersets.py:54 #: netbox/circuits/forms/model_forms.py:27 #: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127 -#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122 +#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122 #: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 -#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210 +#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 #: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162 #: netbox/templates/circuits/provider.html:23 msgid "ASNs" @@ -474,7 +476,7 @@ msgstr "Description" #: netbox/circuits/forms/bulk_edit.py:121 #: netbox/circuits/forms/bulk_import.py:35 #: netbox/circuits/forms/bulk_import.py:50 -#: netbox/circuits/forms/bulk_import.py:76 +#: netbox/circuits/forms/bulk_import.py:73 #: netbox/circuits/forms/filtersets.py:68 #: netbox/circuits/forms/filtersets.py:86 #: netbox/circuits/forms/filtersets.py:114 @@ -507,8 +509,8 @@ msgstr "Identifiant du service" #: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205 #: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702 #: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098 -#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983 -#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380 +#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995 +#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 #: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744 #: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245 #: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32 @@ -524,7 +526,7 @@ msgid "Color" msgstr "Couleur" #: netbox/circuits/forms/bulk_edit.py:116 -#: netbox/circuits/forms/bulk_import.py:89 +#: netbox/circuits/forms/bulk_import.py:86 #: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20 #: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282 @@ -532,17 +534,17 @@ msgstr "Couleur" #: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906 #: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971 #: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066 -#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214 -#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679 -#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725 -#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902 -#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161 -#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287 -#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973 -#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164 -#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208 -#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259 -#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375 +#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673 +#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719 +#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896 +#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152 +#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288 +#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985 +#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176 +#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220 +#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387 #: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652 #: netbox/dcim/forms/object_import.py:84 #: netbox/dcim/forms/object_import.py:113 @@ -581,14 +583,14 @@ msgid "Type" msgstr "Type" #: netbox/circuits/forms/bulk_edit.py:126 -#: netbox/circuits/forms/bulk_import.py:82 +#: netbox/circuits/forms/bulk_import.py:79 #: netbox/circuits/forms/filtersets.py:137 #: netbox/circuits/forms/model_forms.py:96 msgid "Provider account" msgstr "Identifiant de compte du prestataire" #: netbox/circuits/forms/bulk_edit.py:134 -#: netbox/circuits/forms/bulk_import.py:95 +#: netbox/circuits/forms/bulk_import.py:92 #: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35 #: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -597,13 +599,13 @@ msgstr "Identifiant de compte du prestataire" #: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686 #: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594 #: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146 -#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450 -#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155 -#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386 -#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230 -#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728 -#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877 -#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089 +#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444 +#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374 +#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231 +#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730 +#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889 +#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101 #: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800 #: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66 @@ -621,7 +623,7 @@ msgstr "Identifiant de compte du prestataire" #: netbox/templates/circuits/circuit.html:34 #: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30 #: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 -#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176 +#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 #: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66 #: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43 #: netbox/templates/dcim/site.html:43 @@ -657,20 +659,20 @@ msgid "Status" msgstr "Statut" #: netbox/circuits/forms/bulk_edit.py:140 -#: netbox/circuits/forms/bulk_import.py:100 +#: netbox/circuits/forms/bulk_import.py:97 #: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121 #: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256 #: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588 #: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599 #: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151 -#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282 -#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167 -#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166 -#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249 -#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355 -#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835 -#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927 -#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88 +#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167 +#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 +#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356 +#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847 +#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939 +#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88 #: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332 #: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41 #: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110 @@ -809,29 +811,22 @@ msgstr "Détails de terminaison" #: netbox/circuits/forms/bulk_import.py:38 #: netbox/circuits/forms/bulk_import.py:53 -#: netbox/circuits/forms/bulk_import.py:79 +#: netbox/circuits/forms/bulk_import.py:76 msgid "Assigned provider" msgstr "Prestataire assigné" -#: netbox/circuits/forms/bulk_import.py:70 -#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388 -#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187 -#: netbox/extras/forms/bulk_import.py:232 -msgid "RGB color in hexadecimal. Example:" -msgstr "Couleur RVB en hexadécimal. Exemple :" - -#: netbox/circuits/forms/bulk_import.py:85 +#: netbox/circuits/forms/bulk_import.py:82 msgid "Assigned provider account" msgstr "Compte opérateur associé" -#: netbox/circuits/forms/bulk_import.py:92 +#: netbox/circuits/forms/bulk_import.py:89 msgid "Type of circuit" msgstr "Type de circuit" -#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89 -#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204 -#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606 -#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193 +#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201 +#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600 +#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193 #: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294 #: netbox/ipam/forms/bulk_import.py:460 #: netbox/virtualization/forms/bulk_import.py:56 @@ -840,11 +835,11 @@ msgstr "Type de circuit" msgid "Operational status" msgstr "État opérationnel" -#: netbox/circuits/forms/bulk_import.py:104 +#: netbox/circuits/forms/bulk_import.py:101 #: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155 -#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428 -#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319 -#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41 +#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422 +#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307 +#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41 #: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98 #: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138 #: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253 @@ -856,7 +851,7 @@ msgstr "État opérationnel" msgid "Assigned tenant" msgstr "Locataire associé" -#: netbox/circuits/forms/bulk_import.py:122 +#: netbox/circuits/forms/bulk_import.py:119 #: netbox/templates/circuits/inc/circuit_termination.html:6 #: netbox/templates/circuits/inc/circuit_termination_fields.html:15 #: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 @@ -864,7 +859,7 @@ msgstr "Locataire associé" msgid "Termination" msgstr "Terminaison" -#: netbox/circuits/forms/bulk_import.py:132 +#: netbox/circuits/forms/bulk_import.py:129 #: netbox/circuits/forms/filtersets.py:145 #: netbox/circuits/forms/filtersets.py:225 #: netbox/circuits/forms/model_forms.py:142 @@ -876,20 +871,20 @@ msgstr "Réseau de fournisseurs" #: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248 #: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580 #: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780 -#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263 -#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268 -#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93 -#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279 -#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382 -#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691 -#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925 -#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009 -#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048 -#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181 -#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220 -#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348 -#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391 -#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420 +#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256 +#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94 +#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280 +#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693 +#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937 +#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021 +#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193 +#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232 +#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360 +#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403 +#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432 #: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211 #: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676 #: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30 @@ -912,14 +907,14 @@ msgid "Location" msgstr "Emplacement" #: netbox/circuits/forms/filtersets.py:30 -#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137 -#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167 -#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 -#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406 -#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010 +#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138 +#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168 +#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251 +#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407 +#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022 #: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46 #: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 -#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18 +#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19 #: netbox/virtualization/forms/filtersets.py:37 #: netbox/virtualization/forms/filtersets.py:48 #: netbox/virtualization/forms/filtersets.py:106 @@ -929,13 +924,13 @@ msgstr "Contacts" #: netbox/circuits/forms/filtersets.py:35 #: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111 #: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755 -#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71 -#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204 -#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360 -#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902 -#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016 -#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468 -#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516 +#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72 +#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205 +#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361 +#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914 +#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028 +#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480 +#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528 #: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375 #: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85 #: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206 @@ -956,11 +951,11 @@ msgstr "Région" #: netbox/circuits/forms/filtersets.py:40 #: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231 -#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76 -#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209 -#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365 -#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907 -#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77 +#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210 +#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366 +#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919 +#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072 #: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472 #: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445 #: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222 @@ -977,14 +972,14 @@ msgstr "Groupe de sites" #: netbox/circuits/forms/filtersets.py:81 #: netbox/circuits/forms/filtersets.py:100 #: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64 -#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165 -#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834 -#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050 -#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180 -#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219 -#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347 -#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390 -#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418 +#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166 +#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846 +#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062 +#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192 +#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231 +#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359 +#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402 +#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430 #: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112 #: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183 #: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230 @@ -1120,7 +1115,7 @@ msgstr "ID du panneau de raccordement et numéro (s) de port" #: netbox/dcim/models/device_component_templates.py:61 #: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 -#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60 +#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60 #: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424 #: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32 #: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109 @@ -1163,7 +1158,7 @@ msgstr "" #: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 -#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90 +#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91 #: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181 #: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420 #: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624 @@ -1236,7 +1231,7 @@ msgstr "réseaux de fournisseurs" #: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16 #: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13 #: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 -#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43 +#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43 #: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89 #: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286 #: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421 @@ -1548,7 +1543,7 @@ msgstr "Source de données (nom)" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020 -#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276 +#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288 #: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221 #: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162 #: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120 @@ -1651,7 +1646,7 @@ msgid "Completed before" msgstr "Terminé avant" #: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361 -#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397 +#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465 #: netbox/extras/forms/filtersets.py:505 #: netbox/templates/dcim/rackreservation.html:58 @@ -1737,7 +1732,7 @@ msgstr "Validation" msgid "User Preferences" msgstr "Préférences de l'utilisateur" -#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661 +#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663 #: netbox/templates/core/inc/config_data.html:127 #: netbox/users/forms/model_forms.py:65 msgid "Miscellaneous" @@ -1813,7 +1808,7 @@ msgstr "Révision de configuration #{id}" #: netbox/dcim/models/device_components.py:971 #: netbox/dcim/models/device_components.py:1045 #: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128 -#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41 +#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 msgid "type" msgstr "type" @@ -2185,7 +2180,7 @@ msgstr "{n} pouces" msgid "Reserved" msgstr "Réservé" -#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 msgid "Available" msgstr "Disponible" @@ -2207,8 +2202,8 @@ msgstr "Pouces" #: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172 #: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59 #: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136 -#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778 -#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227 +#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772 +#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228 #: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92 #: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010 #: netbox/dcim/forms/model_forms.py:1449 @@ -2242,14 +2237,14 @@ msgstr "Parent" msgid "Child" msgstr "Enfant" -#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332 +#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339 #: netbox/templates/dcim/rack.html:175 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Avant" -#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338 +#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345 #: netbox/templates/dcim/rack.html:181 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 @@ -2333,7 +2328,7 @@ msgid "Virtual" msgstr "Virtuel" #: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051 -#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239 +#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251 #: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344 #: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131 #: netbox/templates/dcim/interface.html:210 @@ -2345,7 +2340,7 @@ msgid "Virtual interfaces" msgstr "Interfaces virtuelles" #: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303 -#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922 +#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922 #: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106 #: netbox/templates/virtualization/vminterface.html:43 #: netbox/virtualization/forms/bulk_edit.py:212 @@ -2374,9 +2369,9 @@ msgstr "Ethernet (panneau arrière)" msgid "Cellular" msgstr "Cellulaire" -#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303 -#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882 -#: netbox/dcim/forms/filtersets.py:1434 +#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304 +#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894 +#: netbox/dcim/forms/filtersets.py:1446 #: netbox/templates/dcim/inventoryitem.html:52 #: netbox/templates/dcim/virtualchassis_edit.html:54 msgid "Serial" @@ -2449,7 +2444,7 @@ msgstr "fibre optique" msgid "Fiber" msgstr "Fibre" -#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146 +#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158 msgid "Connected" msgstr "Connecté" @@ -2473,7 +2468,7 @@ msgstr "Miles" msgid "Feet" msgstr "Pieds" -#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320 +#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:152 msgid "Kilograms" msgstr "Kilogrammes" @@ -2555,25 +2550,25 @@ msgstr "Localisation du parent (slug)" #: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333 #: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005 -#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111 +#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122 msgid "Location (ID)" msgstr "Lieu (ID)" #: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340 -#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358 #: netbox/extras/filtersets.py:494 msgid "Location (slug)" msgstr "Emplacement (slug)" #: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840 -#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779 +#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790 #: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 #: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "Rôle (ID)" #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846 -#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785 +#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796 #: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387 #: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995 #: netbox/virtualization/filtersets.py:216 @@ -2581,7 +2576,7 @@ msgid "Role (slug)" msgstr "Rôle (slug)" #: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010 -#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173 +#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184 msgid "Rack (ID)" msgstr "Baie (ID)" @@ -2599,15 +2594,15 @@ msgstr "Utilisateur (nom)" #: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620 #: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881 -#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243 -#: netbox/dcim/filtersets.py:1769 +#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:1780 msgid "Manufacturer (ID)" msgstr "Fabricant (ID)" #: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626 #: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887 -#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249 -#: netbox/dcim/filtersets.py:1775 +#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1786 msgid "Manufacturer (slug)" msgstr "Fabricant (slug)" @@ -2619,83 +2614,83 @@ msgstr "Plateforme par défaut (ID)" msgid "Default platform (slug)" msgstr "Plateforme par défaut (slug)" -#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452 +#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453 msgid "Has a front image" msgstr "Possède une image frontale" -#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459 +#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460 msgid "Has a rear image" msgstr "Possède une image arrière" #: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630 -#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466 -#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777 +#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467 +#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779 msgid "Has console ports" msgstr "Possède des ports de console" #: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634 -#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473 -#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784 +#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474 +#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786 msgid "Has console server ports" msgstr "Possède des ports de serveur de console" #: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638 -#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480 -#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791 +#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481 +#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793 msgid "Has power ports" msgstr "Possède des ports d'alimentation" #: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642 -#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487 -#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798 +#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488 +#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800 msgid "Has power outlets" msgstr "Dispose de prises de courant" #: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646 -#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494 -#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805 +#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495 +#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807 msgid "Has interfaces" msgstr "Possède des interfaces" #: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650 -#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501 -#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812 +#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502 +#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814 msgid "Has pass-through ports" msgstr "Possède des ports d'intercommunication" -#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092 -#: netbox/dcim/forms/filtersets.py:515 +#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103 +#: netbox/dcim/forms/filtersets.py:516 msgid "Has module bays" msgstr "Dispose de baies pour modules" -#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096 -#: netbox/dcim/forms/filtersets.py:508 +#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107 +#: netbox/dcim/forms/filtersets.py:509 msgid "Has device bays" msgstr "Dispose de baies pour appareils" -#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522 +#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523 msgid "Has inventory items" msgstr "Possède des articles en inventaire" #: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937 -#: netbox/dcim/filtersets.py:1373 +#: netbox/dcim/filtersets.py:1384 msgid "Device type (ID)" msgstr "Type d'appareil (ID)" -#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265 msgid "Module type (ID)" msgstr "Type de module (ID)" -#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524 +#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535 msgid "Power port (ID)" msgstr "Port d'alimentation (ID)" -#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765 +#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776 msgid "Parent inventory item (ID)" msgstr "Article d'inventaire parent (ID)" #: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895 -#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238 +#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Modèle de configuration (ID)" @@ -2716,9 +2711,9 @@ msgstr "Plateforme (ID)" msgid "Platform (slug)" msgstr "Plateforme (slug)" -#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336 -#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105 -#: netbox/dcim/filtersets.py:2164 +#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116 +#: netbox/dcim/filtersets.py:2175 msgid "Site name (slug)" msgstr "Nom du site (slug)" @@ -2730,16 +2725,25 @@ msgstr "Enfant parent (ID)" msgid "VM cluster (ID)" msgstr "Cluster de machines virtuelles (ID)" -#: netbox/dcim/filtersets.py:1025 +#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543 +#: netbox/virtualization/filtersets.py:136 +msgid "Cluster group (slug)" +msgstr "Groupe de clusters (slug)" + +#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130 +msgid "Cluster group (ID)" +msgstr "Groupe de clusters (ID)" + +#: netbox/dcim/filtersets.py:1036 msgid "Device model (slug)" msgstr "Modèle d'appareil (slug)" -#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423 +#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423 msgid "Is full depth" msgstr "Est en pleine profondeur" -#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18 -#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291 +#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18 +#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303 #: netbox/dcim/models/device_components.py:519 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:297 @@ -2748,88 +2752,88 @@ msgstr "Est en pleine profondeur" msgid "MAC address" msgstr "Adresse MAC" -#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211 -#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849 +#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222 +#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861 #: netbox/virtualization/filtersets.py:234 #: netbox/virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "Possède une adresse IP principale" -#: netbox/dcim/filtersets.py:1051 +#: netbox/dcim/filtersets.py:1062 msgid "Has an out-of-band IP" msgstr "Possède une adresse IP hors bande" -#: netbox/dcim/filtersets.py:1056 +#: netbox/dcim/filtersets.py:1067 msgid "Virtual chassis (ID)" msgstr "Châssis virtuel (ID)" -#: netbox/dcim/filtersets.py:1060 +#: netbox/dcim/filtersets.py:1071 msgid "Is a virtual chassis member" msgstr "Est un membre virtuel du châssis" -#: netbox/dcim/filtersets.py:1101 +#: netbox/dcim/filtersets.py:1112 msgid "OOB IP (ID)" msgstr "ASTUCE SUR L'EMPLOI (ID)" -#: netbox/dcim/filtersets.py:1105 +#: netbox/dcim/filtersets.py:1116 msgid "Has virtual device context" msgstr "Possède un contexte de périphérique virtuel" -#: netbox/dcim/filtersets.py:1194 +#: netbox/dcim/filtersets.py:1205 msgid "VDC (ID)" msgstr "VDC (IDENTIFIANT)" -#: netbox/dcim/filtersets.py:1199 +#: netbox/dcim/filtersets.py:1210 msgid "Device model" msgstr "Modèle d'appareil" -#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632 +#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420 msgid "Interface (ID)" msgstr "Interface (ID)" -#: netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1271 msgid "Module type (model)" msgstr "Type de module (modèle)" -#: netbox/dcim/filtersets.py:1266 +#: netbox/dcim/filtersets.py:1277 msgid "Module Bay (ID)" msgstr "Module Bay (ID)" -#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362 +#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 #: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161 #: netbox/vpn/filtersets.py:398 msgid "Device (ID)" msgstr "Appareil (ID)" -#: netbox/dcim/filtersets.py:1358 +#: netbox/dcim/filtersets.py:1369 msgid "Rack (name)" msgstr "Baie (nom)" -#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606 +#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606 #: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081 #: netbox/vpn/filtersets.py:393 msgid "Device (name)" msgstr "Appareil (nom)" -#: netbox/dcim/filtersets.py:1379 +#: netbox/dcim/filtersets.py:1390 msgid "Device type (model)" msgstr "Type d'appareil (modèle)" -#: netbox/dcim/filtersets.py:1384 +#: netbox/dcim/filtersets.py:1395 msgid "Device role (ID)" msgstr "Rôle de l'appareil (ID)" -#: netbox/dcim/filtersets.py:1390 +#: netbox/dcim/filtersets.py:1401 msgid "Device role (slug)" msgstr "Rôle de l'appareil (slug)" -#: netbox/dcim/filtersets.py:1395 +#: netbox/dcim/filtersets.py:1406 msgid "Virtual Chassis (ID)" msgstr "Châssis virtuel (ID)" -#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107 +#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108 #: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66 #: netbox/templates/dcim/device.html:120 #: netbox/templates/dcim/device_edit.html:93 @@ -2839,25 +2843,25 @@ msgstr "Châssis virtuel (ID)" msgid "Virtual Chassis" msgstr "Châssis virtuel" -#: netbox/dcim/filtersets.py:1421 +#: netbox/dcim/filtersets.py:1432 msgid "Module (ID)" msgstr "Module (ID)" -#: netbox/dcim/filtersets.py:1428 +#: netbox/dcim/filtersets.py:1439 msgid "Cable (ID)" msgstr "Câble (ID)" -#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188 +#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188 #: netbox/vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "VLAN attribué" -#: netbox/dcim/filtersets.py:1541 +#: netbox/dcim/filtersets.py:1552 msgid "Assigned VID" msgstr "VID attribué" -#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382 -#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334 +#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382 +#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346 #: netbox/dcim/forms/model_forms.py:1325 #: netbox/dcim/models/device_components.py:712 #: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316 @@ -2889,18 +2893,18 @@ msgstr "VID attribué" msgid "VRF" msgstr "VRF" -#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322 +#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322 #: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 #: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "VRF (RD)" -#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016 +#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016 #: netbox/vpn/filtersets.py:361 msgid "L2VPN (ID)" msgstr "L2VPN (IDENTIFIANT)" -#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339 +#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351 #: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022 #: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 @@ -2912,84 +2916,84 @@ msgstr "L2VPN (IDENTIFIANT)" msgid "L2VPN" msgstr "L2VPN" -#: netbox/dcim/filtersets.py:1595 +#: netbox/dcim/filtersets.py:1606 msgid "Virtual Chassis Interfaces for Device" msgstr "Interfaces de châssis virtuelles pour appareils" -#: netbox/dcim/filtersets.py:1600 +#: netbox/dcim/filtersets.py:1611 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Interfaces de châssis virtuel pour le périphérique (ID)" -#: netbox/dcim/filtersets.py:1604 +#: netbox/dcim/filtersets.py:1615 msgid "Kind of interface" msgstr "Type d'interface" -#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289 +#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Interface parent (ID)" -#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294 +#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Interface pontée (ID)" -#: netbox/dcim/filtersets.py:1619 +#: netbox/dcim/filtersets.py:1630 msgid "LAG interface (ID)" msgstr "Interface LAG (ID)" -#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658 -#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669 +#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Contexte du périphérique virtuel" -#: netbox/dcim/filtersets.py:1652 +#: netbox/dcim/filtersets.py:1663 msgid "Virtual Device Context (Identifier)" msgstr "Contexte du périphérique virtuel (identifiant)" -#: netbox/dcim/filtersets.py:1663 +#: netbox/dcim/filtersets.py:1674 #: netbox/templates/wireless/wirelesslan.html:11 #: netbox/wireless/forms/model_forms.py:53 msgid "Wireless LAN" msgstr "LAN sans fil" -#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597 msgid "Wireless link" msgstr "Liaison sans fil" -#: netbox/dcim/filtersets.py:1737 +#: netbox/dcim/filtersets.py:1748 msgid "Installed module (ID)" msgstr "Module installé (ID)" -#: netbox/dcim/filtersets.py:1748 +#: netbox/dcim/filtersets.py:1759 msgid "Installed device (ID)" msgstr "Appareil installé (ID)" -#: netbox/dcim/filtersets.py:1754 +#: netbox/dcim/filtersets.py:1765 msgid "Installed device (name)" msgstr "Appareil installé (nom)" -#: netbox/dcim/filtersets.py:1820 +#: netbox/dcim/filtersets.py:1831 msgid "Master (ID)" msgstr "Maître (ID)" -#: netbox/dcim/filtersets.py:1826 +#: netbox/dcim/filtersets.py:1837 msgid "Master (name)" msgstr "Master (nom)" -#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246 msgid "Tenant (ID)" msgstr "Locataire (ID)" -#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570 +#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570 #: netbox/tenancy/filtersets.py:252 msgid "Tenant (slug)" msgstr "Locataire (slug)" -#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996 +#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008 msgid "Unterminated" msgstr "Non terminé" -#: netbox/dcim/filtersets.py:2168 +#: netbox/dcim/filtersets.py:2179 msgid "Power panel (ID)" msgstr "Panneau d'alimentation (ID)" @@ -3004,12 +3008,12 @@ msgstr "Panneau d'alimentation (ID)" msgid "Tags" msgstr "Balises" -#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396 +#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408 #: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162 #: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242 -#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130 +#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:34 #: netbox/templates/dcim/virtualchassis.html:66 #: netbox/templates/dcim/virtualchassis_edit.html:55 @@ -3083,9 +3087,9 @@ msgid "Time zone" msgstr "Fuseau horaire" #: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160 -#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207 -#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300 -#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426 +#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204 +#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301 +#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438 #: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018 #: netbox/dcim/forms/model_forms.py:1457 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166 @@ -3102,7 +3106,7 @@ msgstr "Fuseau horaire" #: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257 #: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363 #: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230 -#: netbox/templates/dcim/device.html:180 +#: netbox/templates/dcim/device.html:182 #: netbox/templates/dcim/inc/panels/inventory_items.html:20 #: netbox/templates/dcim/interface.html:223 #: netbox/templates/dcim/inventoryitem.html:36 @@ -3134,14 +3138,14 @@ msgstr "Rôle" msgid "Serial Number" msgstr "Numéro de série" -#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307 -#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886 -#: netbox/dcim/forms/filtersets.py:1438 +#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308 +#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898 +#: netbox/dcim/forms/filtersets.py:1450 msgid "Asset tag" msgstr "Étiquette d'actif" -#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220 -#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86 +#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86 msgid "Width" msgstr "Largeur" @@ -3161,7 +3165,7 @@ msgstr "Largeur extérieure" msgid "Outer depth" msgstr "Profondeur extérieure" -#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225 +#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222 msgid "Outer unit" msgstr "Unité extérieure" @@ -3172,18 +3176,18 @@ msgstr "Profondeur de montage" #: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351 #: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459 #: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495 -#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358 -#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312 -#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423 -#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548 -#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232 +#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355 +#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313 +#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424 +#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549 +#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232 #: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103 #: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103 #: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108 #: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278 #: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134 #: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188 -#: netbox/templates/dcim/device.html:317 +#: netbox/templates/dcim/device.html:324 #: netbox/templates/dcim/devicetype.html:49 #: netbox/templates/dcim/moduletype.html:30 #: netbox/templates/extras/configcontext.html:17 @@ -3193,25 +3197,25 @@ msgstr "Profondeur de montage" msgid "Weight" msgstr "Poids" -#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317 +#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318 msgid "Max weight" msgstr "Poids maximum" #: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441 -#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231 -#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363 -#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533 -#: netbox/dcim/forms/filtersets.py:608 +#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534 +#: netbox/dcim/forms/filtersets.py:609 msgid "Weight unit" msgstr "Unité de poids" #: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808 -#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273 -#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309 -#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102 -#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354 -#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701 -#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086 +#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270 +#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297 +#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103 +#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355 +#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703 +#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098 #: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248 #: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703 #: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158 @@ -3228,9 +3232,9 @@ msgid "Rack" msgstr "Baie" #: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628 -#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 -#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543 -#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861 +#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334 +#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544 +#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873 #: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" @@ -3239,12 +3243,12 @@ msgstr "Matériel" #: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466 #: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554 #: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165 -#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319 -#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395 -#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027 -#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554 -#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711 -#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431 +#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316 +#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389 +#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021 +#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555 +#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713 +#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443 #: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293 #: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379 #: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462 @@ -3261,13 +3265,13 @@ msgstr "Matériel" msgid "Manufacturer" msgstr "Fabricant" -#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325 -#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297 +#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297 msgid "Default platform" msgstr "Plateforme par défaut" #: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471 -#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557 +#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558 msgid "Part number" msgstr "Numéro de pièce" @@ -3280,8 +3284,8 @@ msgid "Exclude from utilization" msgstr "Exclure de l'utilisation" #: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603 -#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446 -#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98 +#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447 +#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98 #: netbox/templates/dcim/devicetype.html:65 msgid "Airflow" msgstr "Débit d'air" @@ -3306,11 +3310,11 @@ msgid "VM role" msgstr "rôle de machine virtuelle" #: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535 -#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376 -#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402 -#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531 -#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619 -#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752 +#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373 +#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396 +#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525 +#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620 +#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754 #: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384 #: netbox/dcim/forms/model_forms.py:498 #: netbox/virtualization/forms/bulk_import.py:132 @@ -3321,21 +3325,21 @@ msgid "Config template" msgstr "Modèle de configuration" #: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959 -#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112 +#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113 #: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820 #: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499 msgid "Device type" msgstr "Type d'appareil" -#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418 -#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452 +#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412 +#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452 msgid "Device role" msgstr "Rôle de l'appareil" -#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443 -#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394 +#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437 +#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394 #: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179 -#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184 +#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186 #: netbox/templates/dcim/platform.html:26 #: netbox/templates/virtualization/virtualmachine.html:27 #: netbox/virtualization/forms/bulk_edit.py:160 @@ -3348,21 +3352,21 @@ msgstr "Plateforme" #: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179 #: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589 -#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648 -#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700 -#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773 -#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939 -#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968 -#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373 -#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129 -#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970 -#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182 -#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221 -#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349 -#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 -#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421 -#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508 -#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576 +#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642 +#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694 +#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767 +#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933 +#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962 +#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361 +#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130 +#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982 +#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194 +#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233 +#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361 +#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404 +#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433 +#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520 +#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576 #: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156 #: netbox/dcim/forms/model_forms.py:1611 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 @@ -3380,7 +3384,7 @@ msgstr "Plateforme" #: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176 #: netbox/templates/dcim/consoleport.html:20 #: netbox/templates/dcim/consoleserverport.html:20 -#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129 +#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 #: netbox/templates/dcim/device_edit.html:10 #: netbox/templates/dcim/devicebay.html:20 #: netbox/templates/dcim/devicebay.html:48 @@ -3420,7 +3424,7 @@ msgstr "Appareil" msgid "Configuration" msgstr "Configuration" -#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598 +#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592 #: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845 msgid "Module type" msgstr "Type de module" @@ -3430,7 +3434,7 @@ msgstr "Type de module" #: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010 #: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088 #: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133 -#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65 +#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66 #: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 #: netbox/templates/dcim/consoleport.html:32 #: netbox/templates/dcim/consoleserverport.html:32 @@ -3448,13 +3452,13 @@ msgstr "Type de module" msgid "Label" msgstr "Libellé" -#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987 +#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999 #: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "Longueur" -#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174 -#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991 +#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165 +#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003 msgid "Length unit" msgstr "Unité de longueur" @@ -3463,34 +3467,34 @@ msgstr "Unité de longueur" msgid "Domain" msgstr "Domaine" -#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296 -#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698 +#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284 +#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698 msgid "Power panel" msgstr "panneau d'alimentation" -#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332 -#: netbox/dcim/forms/filtersets.py:1099 +#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320 +#: netbox/dcim/forms/filtersets.py:1111 #: netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "Approvisionnement" -#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337 -#: netbox/dcim/forms/filtersets.py:1104 +#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325 +#: netbox/dcim/forms/filtersets.py:1116 #: netbox/templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "Phase" -#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109 +#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121 #: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "tension" -#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113 +#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125 #: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "Ampérage" -#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117 +#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129 msgid "Max utilization" msgstr "Utilisation maximale" @@ -3514,13 +3518,13 @@ msgstr "Tirage au sort attribué" msgid "Allocated power draw (watts)" msgstr "Consommation électrique allouée (watts)" -#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731 +#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725 #: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226 #: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "port d'alimentation" -#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738 +#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732 msgid "Feed leg" msgstr "Patte d'alimentation" @@ -3529,7 +3533,7 @@ msgid "Management only" msgstr "Gestion uniquement" #: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339 -#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300 +#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312 #: netbox/dcim/forms/object_import.py:90 #: netbox/dcim/models/device_component_templates.py:411 #: netbox/dcim/models/device_components.py:671 @@ -3537,14 +3541,14 @@ msgid "PoE mode" msgstr "Mode PoE" #: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345 -#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305 +#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317 #: netbox/dcim/forms/object_import.py:95 #: netbox/dcim/models/device_component_templates.py:417 #: netbox/dcim/models/device_components.py:677 msgid "PoE type" msgstr "Type PoE" -#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310 +#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322 #: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "Rôle sans fil" @@ -3572,9 +3576,9 @@ msgstr "DÉCALAGE" msgid "Virtual device contexts" msgstr "Contextes des appareils virtuels" -#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659 -#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169 -#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264 +#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181 +#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276 #: netbox/dcim/tables/devices.py:594 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 @@ -3582,7 +3586,7 @@ msgstr "Contextes des appareils virtuels" msgid "Speed" msgstr "Vitesse" -#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830 +#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824 #: netbox/templates/vpn/ikepolicy.html:25 #: netbox/templates/vpn/ipsecprofile.html:21 #: netbox/templates/vpn/ipsecprofile.html:48 @@ -3628,7 +3632,7 @@ msgstr "Groupe LAN sans fil" msgid "Wireless LANs" msgstr "Réseaux locaux sans fil" -#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237 +#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249 #: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271 #: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 @@ -3637,13 +3641,13 @@ msgstr "Réseaux locaux sans fil" msgid "Addressing" msgstr "Adressage" -#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650 +#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651 #: netbox/dcim/forms/model_forms.py:1338 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Fonctionnement" -#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238 +#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250 #: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340 msgid "PoE" msgstr "PoE" @@ -3692,8 +3696,8 @@ msgstr "Groupe associé" msgid "available options" msgstr "options disponibles" -#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488 -#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174 +#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482 +#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174 #: netbox/ipam/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:63 #: netbox/virtualization/forms/bulk_import.py:89 @@ -3708,105 +3712,106 @@ msgstr "Emplacement du parent" msgid "Location not found." msgstr "Emplacement introuvable." -#: netbox/dcim/forms/bulk_import.py:199 +#: netbox/dcim/forms/bulk_import.py:196 msgid "Name of assigned tenant" msgstr "Nom du locataire associé" -#: netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:208 msgid "Name of assigned role" msgstr "Nom du rôle attribué" -#: netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/bulk_import.py:214 msgid "Rack type" msgstr "Type de baie" -#: netbox/dcim/forms/bulk_import.py:222 +#: netbox/dcim/forms/bulk_import.py:219 msgid "Rail-to-rail width (in inches)" msgstr "Largeur rail à rail (en pouces)" -#: netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:225 msgid "Unit for outer dimensions" msgstr "Unité pour les dimensions extérieures" -#: netbox/dcim/forms/bulk_import.py:234 +#: netbox/dcim/forms/bulk_import.py:231 msgid "Unit for rack weights" msgstr "Unité poids de la baie" -#: netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:257 msgid "Parent site" msgstr "Site parent" -#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306 +#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294 msgid "Rack's location (if any)" msgstr "Emplacement de la baie (le cas échéant)" -#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253 +#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253 #: netbox/dcim/tables/racks.py:153 #: netbox/templates/dcim/rackreservation.html:12 #: netbox/templates/dcim/rackreservation.html:45 msgid "Units" msgstr "Unités" -#: netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:276 msgid "Comma-separated list of individual unit numbers" msgstr "Liste de numéros d'unités individuels séparés par des virgules" -#: netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/bulk_import.py:319 msgid "The manufacturer which produces this device type" msgstr "Le fabricant qui produit ce type d'appareil" -#: netbox/dcim/forms/bulk_import.py:329 +#: netbox/dcim/forms/bulk_import.py:326 msgid "The default platform for devices of this type (optional)" msgstr "Plateforme par défaut pour les appareils de ce type (facultatif)" -#: netbox/dcim/forms/bulk_import.py:334 +#: netbox/dcim/forms/bulk_import.py:331 msgid "Device weight" msgstr "Poids de l'appareil" -#: netbox/dcim/forms/bulk_import.py:340 +#: netbox/dcim/forms/bulk_import.py:337 msgid "Unit for device weight" msgstr "Unité de poids de l'appareil" -#: netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/bulk_import.py:357 msgid "Module weight" msgstr "Poids du module" -#: netbox/dcim/forms/bulk_import.py:366 +#: netbox/dcim/forms/bulk_import.py:363 msgid "Unit for module weight" msgstr "Unité pour le poids du module" -#: netbox/dcim/forms/bulk_import.py:399 +#: netbox/dcim/forms/bulk_import.py:393 msgid "Limit platform assignments to this manufacturer" msgstr "Limiter les affectations de plateforme à ce fabricant" -#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376 +#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364 #: netbox/tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Rôle attribué" -#: netbox/dcim/forms/bulk_import.py:434 +#: netbox/dcim/forms/bulk_import.py:428 msgid "Device type manufacturer" msgstr "Fabricant du type d'appareil" -#: netbox/dcim/forms/bulk_import.py:440 +#: netbox/dcim/forms/bulk_import.py:434 msgid "Device type model" msgstr "Type d'appareil et modèle" -#: netbox/dcim/forms/bulk_import.py:447 +#: netbox/dcim/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Plateforme attribuée" -#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459 +#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453 #: netbox/dcim/forms/model_forms.py:479 msgid "Virtual chassis" msgstr "Châssis virtuel" -#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465 +#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659 +#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465 #: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548 #: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479 #: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459 -#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232 +#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239 #: netbox/templates/virtualization/cluster.html:10 #: netbox/templates/virtualization/virtualmachine.html:88 #: netbox/templates/virtualization/virtualmachine.html:97 @@ -3823,65 +3828,65 @@ msgstr "Châssis virtuel" msgid "Cluster" msgstr "Cluster" -#: netbox/dcim/forms/bulk_import.py:466 +#: netbox/dcim/forms/bulk_import.py:460 msgid "Virtualization cluster" msgstr "Cluster de virtualisation" -#: netbox/dcim/forms/bulk_import.py:495 +#: netbox/dcim/forms/bulk_import.py:489 msgid "Assigned location (if any)" msgstr "Emplacement attribué (le cas échéant)" -#: netbox/dcim/forms/bulk_import.py:502 +#: netbox/dcim/forms/bulk_import.py:496 msgid "Assigned rack (if any)" msgstr "Baie attribuée (le cas échéant)" -#: netbox/dcim/forms/bulk_import.py:505 +#: netbox/dcim/forms/bulk_import.py:499 msgid "Face" msgstr "Visage" -#: netbox/dcim/forms/bulk_import.py:508 +#: netbox/dcim/forms/bulk_import.py:502 msgid "Mounted rack face" msgstr "Face montée en baie" -#: netbox/dcim/forms/bulk_import.py:515 +#: netbox/dcim/forms/bulk_import.py:509 msgid "Parent device (for child devices)" msgstr "Appareil parent (pour les appareils pour enfants)" -#: netbox/dcim/forms/bulk_import.py:518 +#: netbox/dcim/forms/bulk_import.py:512 msgid "Device bay" msgstr "Baie pour appareils" -#: netbox/dcim/forms/bulk_import.py:522 +#: netbox/dcim/forms/bulk_import.py:516 msgid "Device bay in which this device is installed (for child devices)" msgstr "" "Baie d'appareils dans laquelle cet appareil est installé (pour les appareils" " pour enfants)" -#: netbox/dcim/forms/bulk_import.py:528 +#: netbox/dcim/forms/bulk_import.py:522 msgid "Airflow direction" msgstr "Direction du flux d'air" -#: netbox/dcim/forms/bulk_import.py:589 +#: netbox/dcim/forms/bulk_import.py:583 msgid "The device in which this module is installed" msgstr "L'appareil sur lequel ce module est installé" -#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583 +#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583 msgid "Module bay" msgstr "Baie modulaire" -#: netbox/dcim/forms/bulk_import.py:595 +#: netbox/dcim/forms/bulk_import.py:589 msgid "The module bay in which this module is installed" msgstr "La baie du module dans laquelle ce module est installé" -#: netbox/dcim/forms/bulk_import.py:601 +#: netbox/dcim/forms/bulk_import.py:595 msgid "The type of module" msgstr "Le type de module" -#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599 +#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599 msgid "Replicate components" msgstr "Répliquer les composants" -#: netbox/dcim/forms/bulk_import.py:611 +#: netbox/dcim/forms/bulk_import.py:605 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3889,86 +3894,86 @@ msgstr "" "Remplir automatiquement les composants associés à ce type de module (activé " "par défaut)" -#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605 +#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605 msgid "Adopt components" msgstr "Adoptez des composants" -#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608 +#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608 msgid "Adopt already existing components" msgstr "Adoptez des composants déjà existants" -#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682 -#: netbox/dcim/forms/bulk_import.py:708 +#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676 +#: netbox/dcim/forms/bulk_import.py:702 msgid "Port type" msgstr "Type de port" -#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690 +#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684 msgid "Port speed in bps" msgstr "Vitesse du port en bits/s" -#: netbox/dcim/forms/bulk_import.py:728 +#: netbox/dcim/forms/bulk_import.py:722 msgid "Outlet type" msgstr "Type de prise" -#: netbox/dcim/forms/bulk_import.py:735 +#: netbox/dcim/forms/bulk_import.py:729 msgid "Local power port which feeds this outlet" msgstr "Port d'alimentation local qui alimente cette prise" -#: netbox/dcim/forms/bulk_import.py:741 +#: netbox/dcim/forms/bulk_import.py:735 msgid "Electrical phase (for three-phase circuits)" msgstr "Phase électrique (pour circuits triphasés)" -#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264 +#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264 #: netbox/virtualization/forms/bulk_import.py:155 #: netbox/virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "Interface pour les parents" -#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272 +#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272 #: netbox/virtualization/forms/bulk_import.py:162 #: netbox/virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "Interface pontée" -#: netbox/dcim/forms/bulk_import.py:792 +#: netbox/dcim/forms/bulk_import.py:786 msgid "Lag" msgstr "Retard" -#: netbox/dcim/forms/bulk_import.py:796 +#: netbox/dcim/forms/bulk_import.py:790 msgid "Parent LAG interface" msgstr "Interface LAG parent" -#: netbox/dcim/forms/bulk_import.py:799 +#: netbox/dcim/forms/bulk_import.py:793 msgid "Vdcs" msgstr "VDC" -#: netbox/dcim/forms/bulk_import.py:804 +#: netbox/dcim/forms/bulk_import.py:798 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" "Noms de VDC séparés par des virgules, entre guillemets doubles. Exemple :" -#: netbox/dcim/forms/bulk_import.py:810 +#: netbox/dcim/forms/bulk_import.py:804 msgid "Physical medium" msgstr "Support physique" -#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283 msgid "Duplex" msgstr "Duplex" -#: netbox/dcim/forms/bulk_import.py:818 +#: netbox/dcim/forms/bulk_import.py:812 msgid "Poe mode" msgstr "Mode PoE" -#: netbox/dcim/forms/bulk_import.py:824 +#: netbox/dcim/forms/bulk_import.py:818 msgid "Poe type" msgstr "Type de poteau" -#: netbox/dcim/forms/bulk_import.py:833 +#: netbox/dcim/forms/bulk_import.py:827 #: netbox/virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "Mode de fonctionnement IEEE 802.1Q (pour interfaces L2)" -#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160 +#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160 #: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282 #: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277 #: netbox/ipam/forms/filtersets.py:336 @@ -3976,150 +3981,150 @@ msgstr "Mode de fonctionnement IEEE 802.1Q (pour interfaces L2)" msgid "Assigned VRF" msgstr "VRF attribué" -#: netbox/dcim/forms/bulk_import.py:843 +#: netbox/dcim/forms/bulk_import.py:837 msgid "Rf role" msgstr "Rôle RF" -#: netbox/dcim/forms/bulk_import.py:846 +#: netbox/dcim/forms/bulk_import.py:840 msgid "Wireless role (AP/station)" msgstr "Rôle sans fil (AP/station)" -#: netbox/dcim/forms/bulk_import.py:882 +#: netbox/dcim/forms/bulk_import.py:876 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} n'est pas attribué à l'appareil {device}" -#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948 +#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948 #: netbox/dcim/forms/model_forms.py:1522 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Port arrière" -#: netbox/dcim/forms/bulk_import.py:899 +#: netbox/dcim/forms/bulk_import.py:893 msgid "Corresponding rear port" msgstr "Port arrière correspondant" -#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945 -#: netbox/dcim/forms/bulk_import.py:1164 +#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939 +#: netbox/dcim/forms/bulk_import.py:1155 msgid "Physical medium classification" msgstr "Classification des supports physiques" -#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805 +#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805 msgid "Installed device" msgstr "Appareil installé" -#: netbox/dcim/forms/bulk_import.py:977 +#: netbox/dcim/forms/bulk_import.py:971 msgid "Child device installed within this bay" msgstr "Appareil pour enfant installé dans cette baie" -#: netbox/dcim/forms/bulk_import.py:979 +#: netbox/dcim/forms/bulk_import.py:973 msgid "Child device not found." msgstr "Appareil pour enfant introuvable." -#: netbox/dcim/forms/bulk_import.py:1037 +#: netbox/dcim/forms/bulk_import.py:1031 msgid "Parent inventory item" msgstr "Article d'inventaire parent" -#: netbox/dcim/forms/bulk_import.py:1040 +#: netbox/dcim/forms/bulk_import.py:1034 msgid "Component type" msgstr "Type de composant" -#: netbox/dcim/forms/bulk_import.py:1044 +#: netbox/dcim/forms/bulk_import.py:1038 msgid "Component Type" msgstr "Type de composant" -#: netbox/dcim/forms/bulk_import.py:1047 +#: netbox/dcim/forms/bulk_import.py:1041 msgid "Compnent name" msgstr "Nom du composant" -#: netbox/dcim/forms/bulk_import.py:1049 +#: netbox/dcim/forms/bulk_import.py:1043 msgid "Component Name" msgstr "Nom du composant" -#: netbox/dcim/forms/bulk_import.py:1091 +#: netbox/dcim/forms/bulk_import.py:1085 #, python-brace-format msgid "Component not found: {device} - {component_name}" msgstr "Composant introuvable : {device} - {component_name}" -#: netbox/dcim/forms/bulk_import.py:1119 +#: netbox/dcim/forms/bulk_import.py:1110 msgid "Side A device" msgstr "Appareil côté A" -#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140 +#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131 msgid "Device name" msgstr "Nom de l'appareil" -#: netbox/dcim/forms/bulk_import.py:1125 +#: netbox/dcim/forms/bulk_import.py:1116 msgid "Side A type" msgstr "Côté A type" -#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137 msgid "Termination type" msgstr "Type de terminaison" -#: netbox/dcim/forms/bulk_import.py:1131 +#: netbox/dcim/forms/bulk_import.py:1122 msgid "Side A name" msgstr "Nom de la face A" -#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150 +#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141 msgid "Termination name" msgstr "Nom de terminaison" -#: netbox/dcim/forms/bulk_import.py:1137 +#: netbox/dcim/forms/bulk_import.py:1128 msgid "Side B device" msgstr "Appareil Side B" -#: netbox/dcim/forms/bulk_import.py:1143 +#: netbox/dcim/forms/bulk_import.py:1134 msgid "Side B type" msgstr "Type de face B" -#: netbox/dcim/forms/bulk_import.py:1149 +#: netbox/dcim/forms/bulk_import.py:1140 msgid "Side B name" msgstr "Nom de la face B" -#: netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1149 #: netbox/wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "État de la connexion" -#: netbox/dcim/forms/bulk_import.py:1213 +#: netbox/dcim/forms/bulk_import.py:1201 #, python-brace-format msgid "Side {side_upper}: {device} {termination_object} is already connected" msgstr "Côté {side_upper}: {device} {termination_object} est déjà connecté" -#: netbox/dcim/forms/bulk_import.py:1219 +#: netbox/dcim/forms/bulk_import.py:1207 #, python-brace-format msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} terminaison latérale introuvable : {device} {name}" -#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733 -#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131 +#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733 +#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "Maître" -#: netbox/dcim/forms/bulk_import.py:1248 +#: netbox/dcim/forms/bulk_import.py:1236 msgid "Master device" msgstr "Appareil principal" -#: netbox/dcim/forms/bulk_import.py:1265 +#: netbox/dcim/forms/bulk_import.py:1253 msgid "Name of parent site" msgstr "Nom du site parent" -#: netbox/dcim/forms/bulk_import.py:1299 +#: netbox/dcim/forms/bulk_import.py:1287 msgid "Upstream power panel" msgstr "Panneau d'alimentation en amont" -#: netbox/dcim/forms/bulk_import.py:1329 +#: netbox/dcim/forms/bulk_import.py:1317 msgid "Primary or redundant" msgstr "Principal ou redondant" -#: netbox/dcim/forms/bulk_import.py:1334 +#: netbox/dcim/forms/bulk_import.py:1322 msgid "Supply type (AC/DC)" msgstr "Type d'alimentation (AC/DC)" -#: netbox/dcim/forms/bulk_import.py:1339 +#: netbox/dcim/forms/bulk_import.py:1327 msgid "Single or three-phase" msgstr "Monophasé ou triphasé" @@ -4177,11 +4182,11 @@ msgstr "Alimentation" msgid "Side" msgstr "Côté" -#: netbox/dcim/forms/filtersets.py:142 +#: netbox/dcim/forms/filtersets.py:143 msgid "Parent region" msgstr "Région parente" -#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28 +#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28 #: netbox/tenancy/forms/bulk_import.py:62 #: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62 #: netbox/wireless/forms/bulk_import.py:25 @@ -4189,51 +4194,58 @@ msgstr "Région parente" msgid "Parent group" msgstr "Groupe de parents" -#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332 +#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 msgid "Function" msgstr "Fonction" -#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317 +#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317 #: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "Des images" -#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546 -#: netbox/dcim/forms/filtersets.py:656 +#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547 +#: netbox/dcim/forms/filtersets.py:657 msgid "Components" msgstr "Composantes" -#: netbox/dcim/forms/filtersets.py:441 +#: netbox/dcim/forms/filtersets.py:442 msgid "Subdevice role" msgstr "Rôle du sous-appareil" -#: netbox/dcim/forms/filtersets.py:719 +#: netbox/dcim/forms/filtersets.py:721 msgid "Model" msgstr "Modèle" -#: netbox/dcim/forms/filtersets.py:763 +#: netbox/dcim/forms/filtersets.py:765 msgid "Has an OOB IP" msgstr "Possède une adresse IP OOB" -#: netbox/dcim/forms/filtersets.py:770 +#: netbox/dcim/forms/filtersets.py:772 msgid "Virtual chassis member" msgstr "Membre virtuel du châssis" -#: netbox/dcim/forms/filtersets.py:819 +#: netbox/dcim/forms/filtersets.py:821 msgid "Has virtual device contexts" msgstr "Possède des contextes de périphériques virtuels" -#: netbox/dcim/forms/filtersets.py:1129 +#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537 +#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464 +#: netbox/ipam/forms/model_forms.py:624 +#: netbox/virtualization/forms/filtersets.py:112 +msgid "Cluster group" +msgstr "Groupe de clusters" + +#: netbox/dcim/forms/filtersets.py:1141 msgid "Cabled" msgstr "câblé" -#: netbox/dcim/forms/filtersets.py:1136 +#: netbox/dcim/forms/filtersets.py:1148 msgid "Occupied" msgstr "Occupé" -#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183 -#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222 -#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352 +#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195 +#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234 +#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352 #: netbox/templates/dcim/consoleport.html:55 #: netbox/templates/dcim/consoleserverport.html:55 #: netbox/templates/dcim/frontport.html:69 @@ -4245,42 +4257,42 @@ msgstr "Occupé" msgid "Connection" msgstr "Connexion" -#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316 -#: netbox/extras/forms/bulk_import.py:242 +#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316 +#: netbox/extras/forms/bulk_import.py:239 #: netbox/extras/forms/filtersets.py:473 #: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513 #: netbox/templates/extras/journalentry.html:30 msgid "Kind" msgstr "Type" -#: netbox/dcim/forms/filtersets.py:1283 +#: netbox/dcim/forms/filtersets.py:1295 msgid "Mgmt only" msgstr "Gestion uniquement" -#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330 +#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" -#: netbox/dcim/forms/filtersets.py:1315 +#: netbox/dcim/forms/filtersets.py:1327 msgid "Wireless channel" msgstr "Canal sans fil" -#: netbox/dcim/forms/filtersets.py:1319 +#: netbox/dcim/forms/filtersets.py:1331 msgid "Channel frequency (MHz)" msgstr "Fréquence du canal (MHz)" -#: netbox/dcim/forms/filtersets.py:1323 +#: netbox/dcim/forms/filtersets.py:1335 msgid "Channel width (MHz)" msgstr "Largeur du canal (MHz)" -#: netbox/dcim/forms/filtersets.py:1327 +#: netbox/dcim/forms/filtersets.py:1339 #: netbox/templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "Puissance de transmission (dBm)" -#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372 +#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384 #: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12 #: netbox/templates/dcim/cable_trace.html:46 #: netbox/templates/dcim/frontport.html:77 @@ -4291,7 +4303,7 @@ msgstr "Puissance de transmission (dBm)" msgid "Cable" msgstr "câble" -#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915 +#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915 msgid "Discovered" msgstr "Découvert" @@ -4316,7 +4328,7 @@ msgstr "Contrôle des stocks" msgid "Outer Dimensions" msgstr "Dimensions extérieures" -#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308 +#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315 #: netbox/templates/dcim/rack.html:73 msgid "Dimensions" msgstr "Dimensions" @@ -4357,7 +4369,7 @@ msgid "The position in the virtual chassis this device is identified by" msgstr "" "La position dans le châssis virtuel par laquelle cet appareil est identifié" -#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132 +#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133 #: netbox/templates/dcim/virtualchassis.html:68 #: netbox/templates/dcim/virtualchassis_edit.html:56 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 @@ -4537,13 +4549,13 @@ msgstr "Article d'inventaire" msgid "Inventory Item Role" msgstr "Rôle de l'article d'inventaire" -#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188 +#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190 #: netbox/templates/dcim/virtualdevicecontext.html:30 #: netbox/templates/virtualization/virtualmachine.html:48 msgid "Primary IPv4" msgstr "IPv4 principal" -#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204 +#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206 #: netbox/templates/dcim/virtualdevicecontext.html:41 #: netbox/templates/virtualization/virtualmachine.html:64 msgid "Primary IPv6" @@ -4632,7 +4644,7 @@ msgstr "Une position doit être spécifiée pour le premier membre du VC." #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 #: netbox/dcim/models/device_components.py:63 -#: netbox/extras/models/customfields.py:109 +#: netbox/extras/models/customfields.py:110 msgid "label" msgstr "étiquette" @@ -5777,7 +5789,7 @@ msgstr "identificateur" msgid "Numeric identifier unique to the parent device" msgstr "Identifiant numérique propre à l'appareil parent" -#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210 +#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211 #: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722 #: netbox/netbox/models/__init__.py:114 msgid "comments" @@ -6136,43 +6148,43 @@ msgstr "" "Lieu de résidence du parent ({parent}) doit appartenir au même site " "({site})." -#: netbox/dcim/tables/cables.py:54 +#: netbox/dcim/tables/cables.py:55 msgid "Termination A" msgstr "Terminaison A" -#: netbox/dcim/tables/cables.py:59 +#: netbox/dcim/tables/cables.py:60 msgid "Termination B" msgstr "Terminaison B" -#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22 +#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22 msgid "Device A" msgstr "Appareil A" -#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31 +#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31 msgid "Device B" msgstr "Appareil B" -#: netbox/dcim/tables/cables.py:77 +#: netbox/dcim/tables/cables.py:78 msgid "Location A" msgstr "Lieu A" -#: netbox/dcim/tables/cables.py:83 +#: netbox/dcim/tables/cables.py:84 msgid "Location B" msgstr "Lieu B" -#: netbox/dcim/tables/cables.py:89 +#: netbox/dcim/tables/cables.py:90 msgid "Rack A" msgstr "Baie A" -#: netbox/dcim/tables/cables.py:95 +#: netbox/dcim/tables/cables.py:96 msgid "Rack B" msgstr "Baie B" -#: netbox/dcim/tables/cables.py:101 +#: netbox/dcim/tables/cables.py:102 msgid "Site A" msgstr "Site A" -#: netbox/dcim/tables/cables.py:107 +#: netbox/dcim/tables/cables.py:108 msgid "Site B" msgstr "Site B" @@ -6188,7 +6200,7 @@ msgstr "Joignable" #: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 #: netbox/virtualization/forms/model_forms.py:122 #: netbox/virtualization/tables/clusters.py:83 -#: netbox/virtualization/views.py:202 +#: netbox/virtualization/views.py:205 msgid "Devices" msgstr "Appareils" @@ -6269,8 +6281,8 @@ msgid "Power outlets" msgstr "Prises de courant" #: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046 -#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985 -#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988 +#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908 #: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237 #: netbox/templates/dcim/device/base.html:37 #: netbox/templates/dcim/device_list.html:43 @@ -6282,7 +6294,7 @@ msgstr "Prises de courant" #: netbox/templates/virtualization/virtualmachine/base.html:27 #: netbox/templates/virtualization/virtualmachine_list.html:14 #: netbox/virtualization/tables/virtualmachines.py:100 -#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55 +#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Interfaces" @@ -6308,8 +6320,8 @@ msgid "Module Bay" msgstr "Module Bay" #: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060 -#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063 +#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 #: netbox/templates/dcim/devicetype/base.html:49 @@ -6339,8 +6351,8 @@ msgid "Allocated draw (W)" msgstr "Tirage alloué (W)" #: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747 -#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589 -#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145 +#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596 +#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145 #: netbox/netbox/navigation/menu.py:147 #: netbox/templates/dcim/interface.html:339 #: netbox/templates/ipam/ipaddress_bulk_add.html:15 @@ -6433,8 +6445,8 @@ msgstr "Hauteur en U" msgid "Instances" msgstr "Instances" -#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925 -#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928 +#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844 #: netbox/netbox/navigation/menu.py:84 #: netbox/templates/dcim/device/base.html:25 #: netbox/templates/dcim/device_list.html:15 @@ -6444,8 +6456,8 @@ msgstr "Instances" msgid "Console Ports" msgstr "Ports de console" -#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940 -#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943 +#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860 #: netbox/netbox/navigation/menu.py:85 #: netbox/templates/dcim/device/base.html:28 #: netbox/templates/dcim/device_list.html:22 @@ -6455,8 +6467,8 @@ msgstr "Ports de console" msgid "Console Server Ports" msgstr "Ports du serveur de consoles" -#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955 -#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958 +#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876 #: netbox/netbox/navigation/menu.py:86 #: netbox/templates/dcim/device/base.html:31 #: netbox/templates/dcim/device_list.html:29 @@ -6466,8 +6478,8 @@ msgstr "Ports du serveur de consoles" msgid "Power Ports" msgstr "Ports d'alimentation" -#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970 -#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973 +#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892 #: netbox/netbox/navigation/menu.py:87 #: netbox/templates/dcim/device/base.html:34 #: netbox/templates/dcim/device_list.html:36 @@ -6477,8 +6489,8 @@ msgstr "Ports d'alimentation" msgid "Power Outlets" msgstr "Prises de courant" -#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000 -#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003 +#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930 #: netbox/netbox/navigation/menu.py:82 #: netbox/templates/dcim/device/base.html:40 #: netbox/templates/dcim/devicetype/base.html:37 @@ -6487,8 +6499,8 @@ msgstr "Prises de courant" msgid "Front Ports" msgstr "Ports avant" -#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015 -#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018 +#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946 #: netbox/netbox/navigation/menu.py:83 #: netbox/templates/dcim/device/base.html:43 #: netbox/templates/dcim/device_list.html:50 @@ -6498,16 +6510,16 @@ msgstr "Ports avant" msgid "Rear Ports" msgstr "Ports arrière" -#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045 -#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048 +#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 #: netbox/templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Baies pour appareils" -#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030 -#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033 +#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88 #: netbox/templates/dcim/device/base.html:46 #: netbox/templates/dcim/device_list.html:64 #: netbox/templates/dcim/devicetype/base.html:43 @@ -6532,7 +6544,7 @@ msgstr "Puissance disponible (VA)" msgid "Racks" msgstr "Baies" -#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311 +#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318 #: netbox/templates/dcim/rack.html:90 msgid "Height" msgstr "Hauteur" @@ -6565,38 +6577,38 @@ msgstr "Sites" msgid "Test case must set peer_termination_type" msgstr "Le scénario de test doit définir peer_termination_type" -#: netbox/dcim/views.py:139 +#: netbox/dcim/views.py:140 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Déconnecté {count} {type}" -#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28 +#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28 msgid "Reservations" msgstr "Réservations" -#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90 +#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90 #: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" msgstr "Appareils non rackés" -#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453 +#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453 #: netbox/templates/extras/configcontext.html:10 #: netbox/virtualization/forms/model_forms.py:225 -#: netbox/virtualization/views.py:399 +#: netbox/virtualization/views.py:404 msgid "Config Context" msgstr "Contexte de configuration" -#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409 +#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414 msgid "Render Config" msgstr "Configuration du rendu" -#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441 +#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441 #: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236 -#: netbox/virtualization/views.py:177 +#: netbox/virtualization/views.py:179 msgid "Virtual Machines" msgstr "Machines virtuelles" -#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233 +#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233 msgid "Children" msgstr "Enfants" @@ -7032,16 +7044,6 @@ msgstr "Type de cluster" msgid "Cluster type (slug)" msgstr "Type de cluster (slug)" -#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476 -#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624 -#: netbox/virtualization/forms/filtersets.py:112 -msgid "Cluster group" -msgstr "Groupe de clusters" - -#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136 -msgid "Cluster group (slug)" -msgstr "Groupe de clusters (slug)" - #: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16 #: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" @@ -7082,13 +7084,13 @@ msgstr "Obligatoire" #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57 #: netbox/extras/forms/filtersets.py:79 -#: netbox/extras/models/customfields.py:194 +#: netbox/extras/models/customfields.py:195 msgid "UI visible" msgstr "Interface utilisateur visible" #: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63 #: netbox/extras/forms/filtersets.py:84 -#: netbox/extras/models/customfields.py:201 +#: netbox/extras/models/customfields.py:202 msgid "UI editable" msgstr "Interface utilisateur modifiable" @@ -7267,11 +7269,11 @@ msgstr "Webhook {name} introuvable" msgid "Script {name} not found" msgstr "Scénario {name} introuvable" -#: netbox/extras/forms/bulk_import.py:239 +#: netbox/extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Type d'objet attribué" -#: netbox/extras/forms/bulk_import.py:244 +#: netbox/extras/forms/bulk_import.py:241 msgid "The classification of entry" msgstr "La classification de l'entrée" @@ -7738,36 +7740,36 @@ msgstr "modèle de configuration" msgid "config templates" msgstr "modèles de configuration" -#: netbox/extras/models/customfields.py:73 +#: netbox/extras/models/customfields.py:74 msgid "The object(s) to which this field applies." msgstr "Le ou les objets auxquels ce champ s'applique." -#: netbox/extras/models/customfields.py:80 +#: netbox/extras/models/customfields.py:81 msgid "The type of data this custom field holds" msgstr "Le type de données que contient ce champ personnalisé" -#: netbox/extras/models/customfields.py:87 +#: netbox/extras/models/customfields.py:88 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" "Le type d'objet NetBox auquel ce champ correspond (pour les champs d'objets)" -#: netbox/extras/models/customfields.py:93 +#: netbox/extras/models/customfields.py:94 msgid "Internal field name" msgstr "Nom du champ interne" -#: netbox/extras/models/customfields.py:97 +#: netbox/extras/models/customfields.py:98 msgid "Only alphanumeric characters and underscores are allowed." msgstr "" "Seuls les caractères alphanumériques et les traits de soulignement sont " "autorisés." -#: netbox/extras/models/customfields.py:102 +#: netbox/extras/models/customfields.py:103 msgid "Double underscores are not permitted in custom field names." msgstr "" "Les doubles soulignements ne sont pas autorisés dans les noms de champs " "personnalisés." -#: netbox/extras/models/customfields.py:113 +#: netbox/extras/models/customfields.py:114 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" @@ -7775,19 +7777,19 @@ msgstr "" "Nom du champ tel qu'il est affiché aux utilisateurs (s'il n'est pas fourni, " "« le nom du champ sera utilisé) »" -#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345 +#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345 msgid "group name" msgstr "nom du groupe" -#: netbox/extras/models/customfields.py:120 +#: netbox/extras/models/customfields.py:121 msgid "Custom fields within the same group will be displayed together" msgstr "Les champs personnalisés d'un même groupe seront affichés ensemble" -#: netbox/extras/models/customfields.py:128 +#: netbox/extras/models/customfields.py:129 msgid "required" msgstr "requis" -#: netbox/extras/models/customfields.py:130 +#: netbox/extras/models/customfields.py:131 msgid "" "If true, this field is required when creating new objects or editing an " "existing object." @@ -7795,11 +7797,11 @@ msgstr "" "Si c'est vrai, ce champ est obligatoire lors de la création de nouveaux " "objets ou de la modification d'un objet existant." -#: netbox/extras/models/customfields.py:133 +#: netbox/extras/models/customfields.py:134 msgid "search weight" msgstr "poids de recherche" -#: netbox/extras/models/customfields.py:136 +#: netbox/extras/models/customfields.py:137 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." @@ -7808,11 +7810,11 @@ msgstr "" "comme plus importantes. Les champs dont le poids de recherche est nul seront" " ignorés." -#: netbox/extras/models/customfields.py:141 +#: netbox/extras/models/customfields.py:142 msgid "filter logic" msgstr "logique de filtrage" -#: netbox/extras/models/customfields.py:145 +#: netbox/extras/models/customfields.py:146 msgid "" "Loose matches any instance of a given string; exact matches the entire " "field." @@ -7820,11 +7822,11 @@ msgstr "" "Loose correspond à n'importe quelle instance d'une chaîne donnée ; " "correspond exactement à l'ensemble du champ." -#: netbox/extras/models/customfields.py:148 +#: netbox/extras/models/customfields.py:149 msgid "default" msgstr "défaut" -#: netbox/extras/models/customfields.py:152 +#: netbox/extras/models/customfields.py:153 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with" " double quotes (e.g. \"Foo\")." @@ -7832,37 +7834,37 @@ msgstr "" "Valeur par défaut pour le champ (doit être une valeur JSON). Encapsulez des " "chaînes avec des guillemets doubles (par exemple, « Foo »)." -#: netbox/extras/models/customfields.py:157 +#: netbox/extras/models/customfields.py:158 msgid "display weight" msgstr "poids de l'écran" -#: netbox/extras/models/customfields.py:158 +#: netbox/extras/models/customfields.py:159 msgid "Fields with higher weights appear lower in a form." msgstr "" "Les champs dont le poids est plus élevé apparaissent plus bas dans un " "formulaire." -#: netbox/extras/models/customfields.py:163 +#: netbox/extras/models/customfields.py:164 msgid "minimum value" msgstr "valeur minimale" -#: netbox/extras/models/customfields.py:164 +#: netbox/extras/models/customfields.py:165 msgid "Minimum allowed value (for numeric fields)" msgstr "Valeur minimale autorisée (pour les champs numériques)" -#: netbox/extras/models/customfields.py:169 +#: netbox/extras/models/customfields.py:170 msgid "maximum value" msgstr "valeur maximale" -#: netbox/extras/models/customfields.py:170 +#: netbox/extras/models/customfields.py:171 msgid "Maximum allowed value (for numeric fields)" msgstr "Valeur maximale autorisée (pour les champs numériques)" -#: netbox/extras/models/customfields.py:176 +#: netbox/extras/models/customfields.py:177 msgid "validation regex" msgstr "regex de validation" -#: netbox/extras/models/customfields.py:178 +#: netbox/extras/models/customfields.py:179 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -7874,180 +7876,180 @@ msgstr "" "exemple, ^ [DE A À Z]{3}$ limitera les valeurs à exactement " "trois lettres majuscules." -#: netbox/extras/models/customfields.py:186 +#: netbox/extras/models/customfields.py:187 msgid "choice set" msgstr "set de choix" -#: netbox/extras/models/customfields.py:195 +#: netbox/extras/models/customfields.py:196 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" "Indique si le champ personnalisé est affiché dans l'interface utilisateur" -#: netbox/extras/models/customfields.py:202 +#: netbox/extras/models/customfields.py:203 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" "Indique si la valeur du champ personnalisé peut être modifiée dans " "l'interface utilisateur" -#: netbox/extras/models/customfields.py:206 +#: netbox/extras/models/customfields.py:207 msgid "is cloneable" msgstr "est clonable" -#: netbox/extras/models/customfields.py:207 +#: netbox/extras/models/customfields.py:208 msgid "Replicate this value when cloning objects" msgstr "Répliquez cette valeur lors du clonage d'objets" -#: netbox/extras/models/customfields.py:224 +#: netbox/extras/models/customfields.py:225 msgid "custom field" msgstr "champ personnalisé" -#: netbox/extras/models/customfields.py:225 +#: netbox/extras/models/customfields.py:226 msgid "custom fields" msgstr "champs personnalisés" -#: netbox/extras/models/customfields.py:314 +#: netbox/extras/models/customfields.py:315 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "Valeur par défaut non valide »{value}« : {error}" -#: netbox/extras/models/customfields.py:321 +#: netbox/extras/models/customfields.py:322 msgid "A minimum value may be set only for numeric fields" msgstr "" "Une valeur minimale ne peut être définie que pour les champs numériques" -#: netbox/extras/models/customfields.py:323 +#: netbox/extras/models/customfields.py:324 msgid "A maximum value may be set only for numeric fields" msgstr "" "Une valeur maximale ne peut être définie que pour les champs numériques" -#: netbox/extras/models/customfields.py:333 +#: netbox/extras/models/customfields.py:334 msgid "" "Regular expression validation is supported only for text and URL fields" msgstr "" "La validation des expressions régulières est prise en charge uniquement pour" " les champs de texte et d'URL" -#: netbox/extras/models/customfields.py:343 +#: netbox/extras/models/customfields.py:344 msgid "Selection fields must specify a set of choices." msgstr "Les champs de sélection doivent spécifier un ensemble de choix." -#: netbox/extras/models/customfields.py:347 +#: netbox/extras/models/customfields.py:348 msgid "Choices may be set only on selection fields." msgstr "Les choix ne peuvent être définis que sur les champs de sélection." -#: netbox/extras/models/customfields.py:354 +#: netbox/extras/models/customfields.py:355 msgid "Object fields must define an object type." msgstr "Les champs d'objet doivent définir un type d'objet." -#: netbox/extras/models/customfields.py:359 +#: netbox/extras/models/customfields.py:360 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "{type} les champs ne peuvent pas définir de type d'objet." -#: netbox/extras/models/customfields.py:439 +#: netbox/extras/models/customfields.py:440 msgid "True" msgstr "Vrai" -#: netbox/extras/models/customfields.py:440 +#: netbox/extras/models/customfields.py:441 msgid "False" msgstr "Faux" -#: netbox/extras/models/customfields.py:522 +#: netbox/extras/models/customfields.py:523 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" "Les valeurs doivent correspondre à cette expression régulière : " "{regex}" -#: netbox/extras/models/customfields.py:616 +#: netbox/extras/models/customfields.py:617 msgid "Value must be a string." msgstr "La valeur doit être une chaîne." -#: netbox/extras/models/customfields.py:618 +#: netbox/extras/models/customfields.py:619 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "La valeur doit correspondre à « regex »{regex}'" -#: netbox/extras/models/customfields.py:623 +#: netbox/extras/models/customfields.py:624 msgid "Value must be an integer." msgstr "La valeur doit être un entier." -#: netbox/extras/models/customfields.py:626 -#: netbox/extras/models/customfields.py:641 +#: netbox/extras/models/customfields.py:627 +#: netbox/extras/models/customfields.py:642 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "La valeur doit être d'au moins {minimum}" -#: netbox/extras/models/customfields.py:630 -#: netbox/extras/models/customfields.py:645 +#: netbox/extras/models/customfields.py:631 +#: netbox/extras/models/customfields.py:646 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "La valeur ne doit pas dépasser {maximum}" -#: netbox/extras/models/customfields.py:638 +#: netbox/extras/models/customfields.py:639 msgid "Value must be a decimal." msgstr "La valeur doit être une décimale." -#: netbox/extras/models/customfields.py:650 +#: netbox/extras/models/customfields.py:651 msgid "Value must be true or false." msgstr "La valeur doit être vraie ou fausse." -#: netbox/extras/models/customfields.py:658 +#: netbox/extras/models/customfields.py:659 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)." -#: netbox/extras/models/customfields.py:671 +#: netbox/extras/models/customfields.py:672 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" "Les valeurs de date et d'heure doivent être au format ISO 8601 (YYYY-MM-DD " "HH:MM:SS)." -#: netbox/extras/models/customfields.py:678 +#: netbox/extras/models/customfields.py:679 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "Choix non valide ({value}) pour le set de choix {choiceset}." -#: netbox/extras/models/customfields.py:688 +#: netbox/extras/models/customfields.py:689 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "Choix (s) non valide ({value}) pour le set de choix {choiceset}." -#: netbox/extras/models/customfields.py:697 +#: netbox/extras/models/customfields.py:698 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "La valeur doit être un identifiant d'objet, et non {type}" -#: netbox/extras/models/customfields.py:703 +#: netbox/extras/models/customfields.py:704 #, python-brace-format 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}" -#: netbox/extras/models/customfields.py:707 +#: netbox/extras/models/customfields.py:708 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "ID d'objet non valide trouvé : {id}" -#: netbox/extras/models/customfields.py:710 +#: netbox/extras/models/customfields.py:711 msgid "Required field cannot be empty." msgstr "Le champ obligatoire ne peut pas être vide." -#: netbox/extras/models/customfields.py:729 +#: netbox/extras/models/customfields.py:730 msgid "Base set of predefined choices (optional)" msgstr "Ensemble de base de choix prédéfinis (facultatif)" -#: netbox/extras/models/customfields.py:741 +#: netbox/extras/models/customfields.py:742 msgid "Choices are automatically ordered alphabetically" msgstr "Les choix sont automatiquement classés par ordre alphabétique" -#: netbox/extras/models/customfields.py:748 +#: netbox/extras/models/customfields.py:749 msgid "custom field choice set" msgstr "ensemble de choix de champs personnalisés" -#: netbox/extras/models/customfields.py:749 +#: netbox/extras/models/customfields.py:750 msgid "custom field choice sets" msgstr "ensembles de choix de champs personnalisés" -#: netbox/extras/models/customfields.py:785 +#: netbox/extras/models/customfields.py:786 msgid "Must define base or extra choices." msgstr "Doit définir des choix de base ou supplémentaires." @@ -8495,21 +8497,21 @@ msgstr "Données de script" msgid "Script Execution Parameters" msgstr "Paramètres d'exécution du script" -#: netbox/extras/scripts.py:664 +#: netbox/extras/scripts.py:666 msgid "Database changes have been reverted automatically." msgstr "" "Les modifications apportées à la base de données ont été annulées " "automatiquement." -#: netbox/extras/scripts.py:677 +#: netbox/extras/scripts.py:679 msgid "Script aborted with error: " msgstr "Le script a été abandonné avec une erreur : " -#: netbox/extras/scripts.py:687 +#: netbox/extras/scripts.py:689 msgid "An exception occurred: " msgstr "Une exception s'est produite : " -#: netbox/extras/scripts.py:690 +#: netbox/extras/scripts.py:692 msgid "Database changes have been reverted due to error." msgstr "" "Les modifications apportées à la base de données ont été annulées en raison " @@ -9817,7 +9819,7 @@ msgid "The primary function of this VLAN" msgstr "La principale fonction de ce VLAN" #: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175 -#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961 +#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971 #: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182 msgid "VLANs" msgstr "VLAN" @@ -9893,7 +9895,7 @@ msgid "Added" msgstr "Ajouté" #: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165 -#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342 +#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346 #: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154 #: netbox/templates/ipam/vlan.html:84 msgid "Prefixes" @@ -9901,7 +9903,7 @@ msgstr "Préfixes" #: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267 #: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82 -#: netbox/templates/dcim/device.html:253 +#: netbox/templates/dcim/device.html:260 #: netbox/templates/ipam/aggregate.html:24 #: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 msgid "Utilization" @@ -9998,23 +10000,23 @@ msgstr "" "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" -#: netbox/ipam/views.py:528 +#: netbox/ipam/views.py:533 msgid "Child Prefixes" msgstr "Préfixes pour enfants" -#: netbox/ipam/views.py:563 +#: netbox/ipam/views.py:569 msgid "Child Ranges" msgstr "Plages pour enfants" -#: netbox/ipam/views.py:889 +#: netbox/ipam/views.py:898 msgid "Related IPs" msgstr "IP associées" -#: netbox/ipam/views.py:1116 +#: netbox/ipam/views.py:1127 msgid "Device Interfaces" msgstr "Interfaces des appareils" -#: netbox/ipam/views.py:1133 +#: netbox/ipam/views.py:1145 msgid "VM Interfaces" msgstr "Interfaces de machines virtuelles" @@ -10353,6 +10355,10 @@ msgstr "Regex" msgid "Object type(s)" msgstr "Type (s) d'objet" +#: netbox/netbox/forms/__init__.py:40 +msgid "Lookup" +msgstr "" + #: netbox/netbox/forms/base.py:88 msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. " @@ -10460,7 +10466,7 @@ msgstr "Associer des contacts" msgid "Modules" msgstr "Modules" -#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158 +#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160 #: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "Contextes des appareils virtuels" @@ -10522,7 +10528,7 @@ msgstr "Groupes VLAN" msgid "Service Templates" msgstr "Modèles de services" -#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295 +#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302 #: netbox/templates/ipam/ipaddress.html:118 #: netbox/templates/virtualization/virtualmachine.html:150 msgid "Services" @@ -10589,7 +10595,7 @@ msgstr "Virtualisation" #: netbox/templates/virtualization/virtualmachine/base.html:32 #: netbox/templates/virtualization/virtualmachine_list.html:21 #: netbox/virtualization/tables/virtualmachines.py:103 -#: netbox/virtualization/views.py:380 +#: netbox/virtualization/views.py:385 msgid "Virtual Disks" msgstr "Disques virtuels" @@ -10651,7 +10657,7 @@ msgstr "Personnalisation" #: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30 #: netbox/templates/inc/panels/custom_fields.html:7 #: netbox/templates/ipam/ipaddress_bulk_add.html:35 -#: netbox/templates/ipam/vlan_edit.html:63 +#: netbox/templates/ipam/vlan_edit.html:59 msgid "Custom Fields" msgstr "Champs personnalisés" @@ -10757,7 +10763,7 @@ msgstr "Historique de configuration" msgid "Background Tasks" msgstr "Tâches d'arrière-plan" -#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35 +#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35 #: netbox/templates/account/preferences.html:22 #: netbox/templates/core/system.html:80 msgid "Plugins" @@ -10900,43 +10906,43 @@ msgstr "Impossible d'ajouter des magasins au registre après l'initialisation" msgid "Cannot delete stores from registry" msgstr "Impossible de supprimer des magasins du registre" -#: netbox/netbox/settings.py:724 +#: netbox/netbox/settings.py:741 msgid "German" msgstr "allemand" -#: netbox/netbox/settings.py:725 +#: netbox/netbox/settings.py:742 msgid "English" msgstr "Anglais" -#: netbox/netbox/settings.py:726 +#: netbox/netbox/settings.py:743 msgid "Spanish" msgstr "espagnol" -#: netbox/netbox/settings.py:727 +#: netbox/netbox/settings.py:744 msgid "French" msgstr "français" -#: netbox/netbox/settings.py:728 +#: netbox/netbox/settings.py:745 msgid "Japanese" msgstr "japonais" -#: netbox/netbox/settings.py:729 +#: netbox/netbox/settings.py:746 msgid "Portuguese" msgstr "portugais" -#: netbox/netbox/settings.py:730 +#: netbox/netbox/settings.py:747 msgid "Russian" msgstr "russe" -#: netbox/netbox/settings.py:731 +#: netbox/netbox/settings.py:748 msgid "Turkish" msgstr "Turc" -#: netbox/netbox/settings.py:732 +#: netbox/netbox/settings.py:749 msgid "Ukrainian" msgstr "Ukrainien" -#: netbox/netbox/settings.py:733 +#: netbox/netbox/settings.py:750 msgid "Chinese" msgstr "chinois" @@ -10983,7 +10989,7 @@ msgstr "Journal des modifications" msgid "Journal" msgstr "Journal" -#: netbox/netbox/views/generic/object_views.py:106 +#: netbox/netbox/views/generic/object_views.py:108 #, python-brace-format msgid "{class_name} must implement get_children()" msgstr "{class_name} doit implémenter get_children ()" @@ -11557,8 +11563,8 @@ msgstr "Files d'attente en arrière-plan" #: netbox/templates/core/rq_worker_list.html:45 #: netbox/templates/extras/script_result.html:49 #: netbox/templates/extras/script_result.html:51 -#: netbox/templates/inc/table_controls_htmx.html:28 -#: netbox/templates/inc/table_controls_htmx.html:31 +#: netbox/templates/inc/table_controls_htmx.html:30 +#: netbox/templates/inc/table_controls_htmx.html:33 msgid "Configure Table" msgstr "Configurer le tableau" @@ -11820,56 +11826,58 @@ msgstr "Étiquette d'actif" msgid "View Virtual Chassis" msgstr "Afficher le châssis virtuel" -#: netbox/templates/dcim/device.html:162 +#: netbox/templates/dcim/device.html:164 msgid "Create VDC" msgstr "Créer un VDC" -#: netbox/templates/dcim/device.html:173 +#: netbox/templates/dcim/device.html:175 #: netbox/templates/dcim/device_edit.html:64 #: netbox/virtualization/forms/model_forms.py:223 msgid "Management" msgstr "Gestion" -#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209 +#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:227 #: netbox/templates/virtualization/virtualmachine.html:53 #: netbox/templates/virtualization/virtualmachine.html:69 msgid "NAT for" msgstr "NAT pour" -#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 +#: netbox/templates/dcim/device.html:229 #: netbox/templates/virtualization/virtualmachine.html:55 #: netbox/templates/virtualization/virtualmachine.html:71 msgid "NAT" msgstr "NAT" -#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67 +#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67 msgid "Power Utilization" msgstr "Utilisation de l'énergie" -#: netbox/templates/dcim/device.html:249 +#: netbox/templates/dcim/device.html:256 msgid "Input" msgstr "Entrée" -#: netbox/templates/dcim/device.html:250 +#: netbox/templates/dcim/device.html:257 msgid "Outlets" msgstr "Prises" -#: netbox/templates/dcim/device.html:251 +#: netbox/templates/dcim/device.html:258 msgid "Allocated" msgstr "Alloué" -#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263 -#: netbox/templates/dcim/device.html:279 +#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 +#: netbox/templates/dcim/device.html:286 #: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "VA" -#: netbox/templates/dcim/device.html:273 +#: netbox/templates/dcim/device.html:280 msgctxt "Leg of a power feed" msgid "Leg" msgstr "Jambe" -#: netbox/templates/dcim/device.html:299 +#: netbox/templates/dcim/device.html:306 #: netbox/templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "Ajouter un service" @@ -13251,7 +13259,7 @@ msgstr "Les données ne sont pas synchronisées avec le fichier en amont" msgid "Quick search" msgstr "Recherche rapide" -#: netbox/templates/inc/table_controls_htmx.html:19 +#: netbox/templates/inc/table_controls_htmx.html:20 msgid "Saved filter" msgstr "Filtre enregistré" @@ -14335,7 +14343,11 @@ msgstr "" msgid "More than 50" msgstr "Plus de 50" -#: netbox/utilities/fields.py:157 +#: netbox/utilities/fields.py:30 +msgid "RGB color in hexadecimal. Example: " +msgstr "Couleur RVB en hexadécimal. Exemple :" + +#: netbox/utilities/fields.py:159 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " @@ -14344,7 +14356,7 @@ msgstr "" "%s(%r) n'est pas valide. Le paramètre to_model de CounterCacheField doit " "être une chaîne au format « app.model »" -#: netbox/utilities/fields.py:167 +#: netbox/utilities/fields.py:169 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " @@ -14657,6 +14669,14 @@ msgstr "Déplacer vers le haut" msgid "Move Down" msgstr "Déplacer vers le bas" +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search…" +msgstr "Rechercher..." + +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search NetBox" +msgstr "Rechercher dans NetBox" + #: netbox/utilities/templates/widgets/apiselect.html:7 msgid "Open selector" msgstr "Ouvrir le sélecteur" @@ -14678,17 +14698,17 @@ msgstr "Le test doit définir csv_update_data." msgid "{value} is not a valid regular expression." msgstr "{value} n'est pas une expression rationnelle valide." -#: netbox/utilities/views.py:44 +#: netbox/utilities/views.py:45 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "{self.__class__.__name__} doit implémenter get_required_permission()" -#: netbox/utilities/views.py:80 +#: netbox/utilities/views.py:81 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "{class_name} doit implémenter get_required_permission()" -#: netbox/utilities/views.py:104 +#: netbox/utilities/views.py:105 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" @@ -14711,10 +14731,6 @@ msgstr "Groupe de parents (slug)" msgid "Cluster type (ID)" msgstr "Type de cluster (ID)" -#: netbox/virtualization/filtersets.py:130 -msgid "Cluster group (ID)" -msgstr "Groupe de clusters (ID)" - #: netbox/virtualization/filtersets.py:151 #: netbox/virtualization/filtersets.py:267 msgid "Cluster (ID)" diff --git a/netbox/translations/pt/LC_MESSAGES/django.po b/netbox/translations/pt/LC_MESSAGES/django.po index 56940c6f1..b64e549db 100644 --- a/netbox/translations/pt/LC_MESSAGES/django.po +++ b/netbox/translations/pt/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-22 05:02+0000\n" +"POT-Creation-Date: 2024-07-09 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Fabricio Maciel, 2024\n" "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n" @@ -114,8 +114,8 @@ msgstr "Descomissionado" #: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151 #: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297 #: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969 -#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832 -#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133 +#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843 +#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945 #: netbox/virtualization/filtersets.py:45 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377 @@ -126,8 +126,8 @@ msgstr "Região (ID)" #: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157 #: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304 #: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976 -#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839 -#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140 +#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850 +#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151 #: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372 @@ -137,9 +137,9 @@ msgstr "Região (slug)" #: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209 #: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224 #: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419 -#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318 -#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088 -#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352 +#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329 +#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099 +#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352 #: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" @@ -148,9 +148,9 @@ msgstr "Grupo de sites (ID)" #: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216 #: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231 #: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426 -#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325 -#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095 -#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467 +#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336 +#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106 +#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467 #: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965 #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 @@ -159,7 +159,7 @@ msgstr "Grupo de sites (slug)" #: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186 #: netbox/circuits/forms/bulk_edit.py:214 -#: netbox/circuits/forms/bulk_import.py:126 +#: netbox/circuits/forms/bulk_import.py:123 #: netbox/circuits/forms/filtersets.py:49 #: netbox/circuits/forms/filtersets.py:169 #: netbox/circuits/forms/filtersets.py:207 @@ -168,15 +168,15 @@ msgstr "Grupo de sites (slug)" #: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167 #: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575 #: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130 -#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257 -#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262 -#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85 -#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265 -#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682 -#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940 -#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068 -#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500 -#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136 +#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254 +#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250 +#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86 +#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266 +#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684 +#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952 +#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080 +#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512 +#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136 #: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206 #: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671 #: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150 @@ -275,8 +275,8 @@ msgstr "Tipo de circuito (slug)" #: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266 #: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321 #: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993 -#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857 -#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158 +#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868 +#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387 @@ -289,7 +289,7 @@ msgstr "Terminação A (ID)" #: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73 #: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693 -#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206 +#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217 #: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63 #: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127 #: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204 @@ -306,11 +306,12 @@ msgstr "Terminação A (ID)" #: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92 #: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104 +#: netbox/utilities/templates/navigation/menu.html:16 msgid "Search" msgstr "Busca" #: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170 -#: netbox/circuits/forms/bulk_import.py:117 +#: netbox/circuits/forms/bulk_import.py:114 #: netbox/circuits/forms/filtersets.py:196 #: netbox/circuits/forms/filtersets.py:212 #: netbox/circuits/forms/model_forms.py:109 @@ -331,9 +332,9 @@ msgstr "Rede do provedor (ID)" #: netbox/circuits/forms/filtersets.py:54 #: netbox/circuits/forms/model_forms.py:27 #: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127 -#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122 +#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122 #: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 -#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210 +#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 #: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162 #: netbox/templates/circuits/provider.html:23 msgid "ASNs" @@ -471,7 +472,7 @@ msgstr "Descrição" #: netbox/circuits/forms/bulk_edit.py:121 #: netbox/circuits/forms/bulk_import.py:35 #: netbox/circuits/forms/bulk_import.py:50 -#: netbox/circuits/forms/bulk_import.py:76 +#: netbox/circuits/forms/bulk_import.py:73 #: netbox/circuits/forms/filtersets.py:68 #: netbox/circuits/forms/filtersets.py:86 #: netbox/circuits/forms/filtersets.py:114 @@ -504,8 +505,8 @@ msgstr "ID do serviço" #: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205 #: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702 #: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098 -#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983 -#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380 +#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995 +#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 #: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744 #: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245 #: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32 @@ -521,7 +522,7 @@ msgid "Color" msgstr "Cor" #: netbox/circuits/forms/bulk_edit.py:116 -#: netbox/circuits/forms/bulk_import.py:89 +#: netbox/circuits/forms/bulk_import.py:86 #: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20 #: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282 @@ -529,17 +530,17 @@ msgstr "Cor" #: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906 #: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971 #: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066 -#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214 -#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679 -#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725 -#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902 -#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161 -#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287 -#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973 -#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164 -#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208 -#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259 -#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375 +#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673 +#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719 +#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896 +#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152 +#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288 +#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985 +#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176 +#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220 +#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387 #: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652 #: netbox/dcim/forms/object_import.py:84 #: netbox/dcim/forms/object_import.py:113 @@ -578,14 +579,14 @@ msgid "Type" msgstr "Tipo" #: netbox/circuits/forms/bulk_edit.py:126 -#: netbox/circuits/forms/bulk_import.py:82 +#: netbox/circuits/forms/bulk_import.py:79 #: netbox/circuits/forms/filtersets.py:137 #: netbox/circuits/forms/model_forms.py:96 msgid "Provider account" msgstr "Conta do provedor" #: netbox/circuits/forms/bulk_edit.py:134 -#: netbox/circuits/forms/bulk_import.py:95 +#: netbox/circuits/forms/bulk_import.py:92 #: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35 #: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -594,13 +595,13 @@ msgstr "Conta do provedor" #: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686 #: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594 #: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146 -#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450 -#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155 -#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386 -#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230 -#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728 -#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877 -#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089 +#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444 +#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374 +#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231 +#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730 +#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889 +#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101 #: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800 #: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66 @@ -618,7 +619,7 @@ msgstr "Conta do provedor" #: netbox/templates/circuits/circuit.html:34 #: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30 #: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 -#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176 +#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 #: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66 #: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43 #: netbox/templates/dcim/site.html:43 @@ -654,20 +655,20 @@ msgid "Status" msgstr "Status" #: netbox/circuits/forms/bulk_edit.py:140 -#: netbox/circuits/forms/bulk_import.py:100 +#: netbox/circuits/forms/bulk_import.py:97 #: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121 #: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256 #: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588 #: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599 #: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151 -#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282 -#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167 -#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166 -#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249 -#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355 -#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835 -#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927 -#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88 +#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167 +#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 +#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356 +#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847 +#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939 +#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88 #: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332 #: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41 #: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110 @@ -806,29 +807,22 @@ msgstr "Detalhes da Terminação" #: netbox/circuits/forms/bulk_import.py:38 #: netbox/circuits/forms/bulk_import.py:53 -#: netbox/circuits/forms/bulk_import.py:79 +#: netbox/circuits/forms/bulk_import.py:76 msgid "Assigned provider" msgstr "Provedor designado" -#: netbox/circuits/forms/bulk_import.py:70 -#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388 -#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187 -#: netbox/extras/forms/bulk_import.py:232 -msgid "RGB color in hexadecimal. Example:" -msgstr "Cor RGB em hexadecimal. Exemplo:" - -#: netbox/circuits/forms/bulk_import.py:85 +#: netbox/circuits/forms/bulk_import.py:82 msgid "Assigned provider account" msgstr "Conta de provedor designada" -#: netbox/circuits/forms/bulk_import.py:92 +#: netbox/circuits/forms/bulk_import.py:89 msgid "Type of circuit" msgstr "Tipo de circuito" -#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89 -#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204 -#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606 -#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193 +#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201 +#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600 +#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193 #: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294 #: netbox/ipam/forms/bulk_import.py:460 #: netbox/virtualization/forms/bulk_import.py:56 @@ -837,11 +831,11 @@ msgstr "Tipo de circuito" msgid "Operational status" msgstr "Status operacional" -#: netbox/circuits/forms/bulk_import.py:104 +#: netbox/circuits/forms/bulk_import.py:101 #: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155 -#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428 -#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319 -#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41 +#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422 +#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307 +#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41 #: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98 #: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138 #: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253 @@ -853,7 +847,7 @@ msgstr "Status operacional" msgid "Assigned tenant" msgstr "Inquilino designado" -#: netbox/circuits/forms/bulk_import.py:122 +#: netbox/circuits/forms/bulk_import.py:119 #: netbox/templates/circuits/inc/circuit_termination.html:6 #: netbox/templates/circuits/inc/circuit_termination_fields.html:15 #: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 @@ -861,7 +855,7 @@ msgstr "Inquilino designado" msgid "Termination" msgstr "Terminação" -#: netbox/circuits/forms/bulk_import.py:132 +#: netbox/circuits/forms/bulk_import.py:129 #: netbox/circuits/forms/filtersets.py:145 #: netbox/circuits/forms/filtersets.py:225 #: netbox/circuits/forms/model_forms.py:142 @@ -873,20 +867,20 @@ msgstr "Rede do provedor" #: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248 #: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580 #: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780 -#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263 -#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268 -#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93 -#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279 -#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382 -#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691 -#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925 -#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009 -#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048 -#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181 -#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220 -#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348 -#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391 -#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420 +#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256 +#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94 +#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280 +#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693 +#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937 +#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021 +#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193 +#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232 +#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360 +#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403 +#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432 #: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211 #: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676 #: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30 @@ -909,14 +903,14 @@ msgid "Location" msgstr "Localização" #: netbox/circuits/forms/filtersets.py:30 -#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137 -#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167 -#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 -#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406 -#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010 +#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138 +#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168 +#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251 +#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407 +#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022 #: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46 #: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 -#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18 +#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19 #: netbox/virtualization/forms/filtersets.py:37 #: netbox/virtualization/forms/filtersets.py:48 #: netbox/virtualization/forms/filtersets.py:106 @@ -926,13 +920,13 @@ msgstr "Contatos" #: netbox/circuits/forms/filtersets.py:35 #: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111 #: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755 -#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71 -#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204 -#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360 -#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902 -#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016 -#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468 -#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516 +#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72 +#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205 +#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361 +#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914 +#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028 +#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480 +#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528 #: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375 #: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85 #: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206 @@ -953,11 +947,11 @@ msgstr "Região" #: netbox/circuits/forms/filtersets.py:40 #: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231 -#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76 -#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209 -#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365 -#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907 -#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77 +#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210 +#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366 +#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919 +#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072 #: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472 #: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445 #: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222 @@ -974,14 +968,14 @@ msgstr "Grupo de sites" #: netbox/circuits/forms/filtersets.py:81 #: netbox/circuits/forms/filtersets.py:100 #: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64 -#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165 -#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834 -#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050 -#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180 -#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219 -#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347 -#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390 -#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418 +#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166 +#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846 +#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062 +#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192 +#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231 +#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359 +#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402 +#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430 #: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112 #: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183 #: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230 @@ -1117,7 +1111,7 @@ msgstr "ID do patch panel e número da(s) porta(s)" #: netbox/dcim/models/device_component_templates.py:61 #: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 -#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60 +#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60 #: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424 #: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32 #: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109 @@ -1160,7 +1154,7 @@ msgstr "" #: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 -#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90 +#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91 #: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181 #: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420 #: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624 @@ -1233,7 +1227,7 @@ msgstr "redes dos provedores" #: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16 #: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13 #: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 -#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43 +#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43 #: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89 #: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286 #: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421 @@ -1544,7 +1538,7 @@ msgstr "Origem de dados (nome)" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020 -#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276 +#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288 #: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221 #: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162 #: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120 @@ -1647,7 +1641,7 @@ msgid "Completed before" msgstr "Concluído antes" #: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361 -#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397 +#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465 #: netbox/extras/forms/filtersets.py:505 #: netbox/templates/dcim/rackreservation.html:58 @@ -1733,7 +1727,7 @@ msgstr "Validação" msgid "User Preferences" msgstr "Preferências de Usuário" -#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661 +#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663 #: netbox/templates/core/inc/config_data.html:127 #: netbox/users/forms/model_forms.py:65 msgid "Miscellaneous" @@ -1808,7 +1802,7 @@ msgstr "Revisão da configuração #{id}" #: netbox/dcim/models/device_components.py:971 #: netbox/dcim/models/device_components.py:1045 #: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128 -#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41 +#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 msgid "type" msgstr "tipo" @@ -2178,7 +2172,7 @@ msgstr "{n} polegadas" msgid "Reserved" msgstr "Reservado" -#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 msgid "Available" msgstr "Disponível" @@ -2200,8 +2194,8 @@ msgstr "Polegadas" #: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172 #: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59 #: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136 -#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778 -#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227 +#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772 +#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228 #: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92 #: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010 #: netbox/dcim/forms/model_forms.py:1449 @@ -2235,14 +2229,14 @@ msgstr "Pai" msgid "Child" msgstr "Filho" -#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332 +#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339 #: netbox/templates/dcim/rack.html:175 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Frente" -#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338 +#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345 #: netbox/templates/dcim/rack.html:181 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 @@ -2326,7 +2320,7 @@ msgid "Virtual" msgstr "Virtual" #: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051 -#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239 +#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251 #: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344 #: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131 #: netbox/templates/dcim/interface.html:210 @@ -2338,7 +2332,7 @@ msgid "Virtual interfaces" msgstr "Interfaces virtuais" #: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303 -#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922 +#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922 #: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106 #: netbox/templates/virtualization/vminterface.html:43 #: netbox/virtualization/forms/bulk_edit.py:212 @@ -2367,9 +2361,9 @@ msgstr "Ethernet (backplane)" msgid "Cellular" msgstr "Celular" -#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303 -#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882 -#: netbox/dcim/forms/filtersets.py:1434 +#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304 +#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894 +#: netbox/dcim/forms/filtersets.py:1446 #: netbox/templates/dcim/inventoryitem.html:52 #: netbox/templates/dcim/virtualchassis_edit.html:54 msgid "Serial" @@ -2442,7 +2436,7 @@ msgstr "Fibra Óptica" msgid "Fiber" msgstr "Fibra" -#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146 +#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158 msgid "Connected" msgstr "Conectado" @@ -2466,7 +2460,7 @@ msgstr "Milhas" msgid "Feet" msgstr "Pés" -#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320 +#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:152 msgid "Kilograms" msgstr "Quilogramas" @@ -2548,25 +2542,25 @@ msgstr "Localização principal (slug)" #: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333 #: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005 -#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111 +#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122 msgid "Location (ID)" msgstr "Localização (ID)" #: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340 -#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358 #: netbox/extras/filtersets.py:494 msgid "Location (slug)" msgstr "Localização (slug)" #: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840 -#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779 +#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790 #: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 #: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "Função (ID)" #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846 -#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785 +#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796 #: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387 #: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995 #: netbox/virtualization/filtersets.py:216 @@ -2574,7 +2568,7 @@ msgid "Role (slug)" msgstr "Função (slug)" #: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010 -#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173 +#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184 msgid "Rack (ID)" msgstr "Rack (ID)" @@ -2592,15 +2586,15 @@ msgstr "Usuário (nome)" #: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620 #: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881 -#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243 -#: netbox/dcim/filtersets.py:1769 +#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:1780 msgid "Manufacturer (ID)" msgstr "Fabricante (ID)" #: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626 #: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887 -#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249 -#: netbox/dcim/filtersets.py:1775 +#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1786 msgid "Manufacturer (slug)" msgstr "Fabricante (slug)" @@ -2612,83 +2606,83 @@ msgstr "Plataforma padrão (ID)" msgid "Default platform (slug)" msgstr "Plataforma padrão (slug)" -#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452 +#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453 msgid "Has a front image" msgstr "Possui imagem frontal" -#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459 +#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460 msgid "Has a rear image" msgstr "Possui imagem traseira" #: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630 -#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466 -#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777 +#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467 +#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779 msgid "Has console ports" msgstr "Possui portas de console" #: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634 -#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473 -#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784 +#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474 +#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786 msgid "Has console server ports" msgstr "Possui portas de servidor de console" #: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638 -#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480 -#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791 +#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481 +#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793 msgid "Has power ports" msgstr "Possui portas de alimentação" #: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642 -#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487 -#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798 +#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488 +#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800 msgid "Has power outlets" msgstr "Possui tomadas elétricas" #: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646 -#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494 -#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805 +#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495 +#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807 msgid "Has interfaces" msgstr "Possui interfaces" #: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650 -#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501 -#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812 +#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502 +#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814 msgid "Has pass-through ports" msgstr "Possui portas passthrough" -#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092 -#: netbox/dcim/forms/filtersets.py:515 +#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103 +#: netbox/dcim/forms/filtersets.py:516 msgid "Has module bays" msgstr "Possui compartimentos de módulos" -#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096 -#: netbox/dcim/forms/filtersets.py:508 +#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107 +#: netbox/dcim/forms/filtersets.py:509 msgid "Has device bays" msgstr "Possui compartimentos de dispositivos" -#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522 +#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523 msgid "Has inventory items" msgstr "Possui itens de inventário" #: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937 -#: netbox/dcim/filtersets.py:1373 +#: netbox/dcim/filtersets.py:1384 msgid "Device type (ID)" msgstr "Tipo de dispositivo (ID)" -#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265 msgid "Module type (ID)" msgstr "Tipo de módulo (ID)" -#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524 +#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535 msgid "Power port (ID)" msgstr "Porta de alimentação (ID)" -#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765 +#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776 msgid "Parent inventory item (ID)" msgstr "Item principal do inventário (ID)" #: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895 -#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238 +#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Modelo de configuração (ID)" @@ -2709,9 +2703,9 @@ msgstr "Plataforma (ID)" msgid "Platform (slug)" msgstr "Plataforma (slug)" -#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336 -#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105 -#: netbox/dcim/filtersets.py:2164 +#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116 +#: netbox/dcim/filtersets.py:2175 msgid "Site name (slug)" msgstr "Nome do site (slug)" @@ -2723,16 +2717,25 @@ msgstr "Compartimento Pai (ID)" msgid "VM cluster (ID)" msgstr "Cluster de VMs (ID)" -#: netbox/dcim/filtersets.py:1025 +#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543 +#: netbox/virtualization/filtersets.py:136 +msgid "Cluster group (slug)" +msgstr "Grupo de clusters (slug)" + +#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130 +msgid "Cluster group (ID)" +msgstr "Grupo de clusters (ID)" + +#: netbox/dcim/filtersets.py:1036 msgid "Device model (slug)" msgstr "Modelo do dispositivo (slug)" -#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423 +#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423 msgid "Is full depth" msgstr "É full-depth" -#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18 -#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291 +#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18 +#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303 #: netbox/dcim/models/device_components.py:519 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:297 @@ -2741,88 +2744,88 @@ msgstr "É full-depth" msgid "MAC address" msgstr "Endereço MAC" -#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211 -#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849 +#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222 +#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861 #: netbox/virtualization/filtersets.py:234 #: netbox/virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "Possui IP primário" -#: netbox/dcim/filtersets.py:1051 +#: netbox/dcim/filtersets.py:1062 msgid "Has an out-of-band IP" msgstr "Possui IP fora de banda" -#: netbox/dcim/filtersets.py:1056 +#: netbox/dcim/filtersets.py:1067 msgid "Virtual chassis (ID)" msgstr "Chassi virtual (ID)" -#: netbox/dcim/filtersets.py:1060 +#: netbox/dcim/filtersets.py:1071 msgid "Is a virtual chassis member" msgstr "É membro do chassi virtual" -#: netbox/dcim/filtersets.py:1101 +#: netbox/dcim/filtersets.py:1112 msgid "OOB IP (ID)" msgstr "IP Fora de Banda (ID)" -#: netbox/dcim/filtersets.py:1105 +#: netbox/dcim/filtersets.py:1116 msgid "Has virtual device context" msgstr "Possui contexto de dispositivo virtual" -#: netbox/dcim/filtersets.py:1194 +#: netbox/dcim/filtersets.py:1205 msgid "VDC (ID)" msgstr "Contexto de Dispositivo Virtual (ID)" -#: netbox/dcim/filtersets.py:1199 +#: netbox/dcim/filtersets.py:1210 msgid "Device model" msgstr "Modelo de dispositivo" -#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632 +#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420 msgid "Interface (ID)" msgstr "Interface (ID)" -#: netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1271 msgid "Module type (model)" msgstr "Tipo de módulo (modelo)" -#: netbox/dcim/filtersets.py:1266 +#: netbox/dcim/filtersets.py:1277 msgid "Module Bay (ID)" msgstr "Compartimento do Módulo (ID)" -#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362 +#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 #: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161 #: netbox/vpn/filtersets.py:398 msgid "Device (ID)" msgstr "Dispositivo (ID)" -#: netbox/dcim/filtersets.py:1358 +#: netbox/dcim/filtersets.py:1369 msgid "Rack (name)" msgstr "Rack (nome)" -#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606 +#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606 #: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081 #: netbox/vpn/filtersets.py:393 msgid "Device (name)" msgstr "Dispositivo (nome)" -#: netbox/dcim/filtersets.py:1379 +#: netbox/dcim/filtersets.py:1390 msgid "Device type (model)" msgstr "Tipo de dispositivo (modelo)" -#: netbox/dcim/filtersets.py:1384 +#: netbox/dcim/filtersets.py:1395 msgid "Device role (ID)" msgstr "Função do dispositivo (ID)" -#: netbox/dcim/filtersets.py:1390 +#: netbox/dcim/filtersets.py:1401 msgid "Device role (slug)" msgstr "Função do dispositivo (slug)" -#: netbox/dcim/filtersets.py:1395 +#: netbox/dcim/filtersets.py:1406 msgid "Virtual Chassis (ID)" msgstr "Chassi Virtual (ID)" -#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107 +#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108 #: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66 #: netbox/templates/dcim/device.html:120 #: netbox/templates/dcim/device_edit.html:93 @@ -2832,25 +2835,25 @@ msgstr "Chassi Virtual (ID)" msgid "Virtual Chassis" msgstr "Chassi Virtual" -#: netbox/dcim/filtersets.py:1421 +#: netbox/dcim/filtersets.py:1432 msgid "Module (ID)" msgstr "Módulo (ID)" -#: netbox/dcim/filtersets.py:1428 +#: netbox/dcim/filtersets.py:1439 msgid "Cable (ID)" msgstr "Cabo (ID)" -#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188 +#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188 #: netbox/vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "VLAN Designada" -#: netbox/dcim/filtersets.py:1541 +#: netbox/dcim/filtersets.py:1552 msgid "Assigned VID" msgstr "VLAN ID Designada " -#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382 -#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334 +#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382 +#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346 #: netbox/dcim/forms/model_forms.py:1325 #: netbox/dcim/models/device_components.py:712 #: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316 @@ -2882,18 +2885,18 @@ msgstr "VLAN ID Designada " msgid "VRF" msgstr "VRF" -#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322 +#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322 #: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 #: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "VRF (RD)" -#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016 +#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016 #: netbox/vpn/filtersets.py:361 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" -#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339 +#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351 #: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022 #: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 @@ -2905,84 +2908,84 @@ msgstr "L2VPN (ID)" msgid "L2VPN" msgstr "L2VPN" -#: netbox/dcim/filtersets.py:1595 +#: netbox/dcim/filtersets.py:1606 msgid "Virtual Chassis Interfaces for Device" msgstr "Interfaces de Chassi Virtual para Dispositivo" -#: netbox/dcim/filtersets.py:1600 +#: netbox/dcim/filtersets.py:1611 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Interfaces de Chassi Virtual para Dispositivo (ID)" -#: netbox/dcim/filtersets.py:1604 +#: netbox/dcim/filtersets.py:1615 msgid "Kind of interface" msgstr "Tipo de interface" -#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289 +#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Interface pai (ID)" -#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294 +#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Interface bridged (ID)" -#: netbox/dcim/filtersets.py:1619 +#: netbox/dcim/filtersets.py:1630 msgid "LAG interface (ID)" msgstr "Interface LAG (ID)" -#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658 -#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669 +#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Contexto de Dispositivo Virtual" -#: netbox/dcim/filtersets.py:1652 +#: netbox/dcim/filtersets.py:1663 msgid "Virtual Device Context (Identifier)" msgstr "Contexto de Dispositivo Virtual (ID)" -#: netbox/dcim/filtersets.py:1663 +#: netbox/dcim/filtersets.py:1674 #: netbox/templates/wireless/wirelesslan.html:11 #: netbox/wireless/forms/model_forms.py:53 msgid "Wireless LAN" msgstr "Rede Wireless" -#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597 msgid "Wireless link" msgstr "Link Wireless" -#: netbox/dcim/filtersets.py:1737 +#: netbox/dcim/filtersets.py:1748 msgid "Installed module (ID)" msgstr "Módulo instalado (ID)" -#: netbox/dcim/filtersets.py:1748 +#: netbox/dcim/filtersets.py:1759 msgid "Installed device (ID)" msgstr "Dispositivo instalado (ID)" -#: netbox/dcim/filtersets.py:1754 +#: netbox/dcim/filtersets.py:1765 msgid "Installed device (name)" msgstr "Dispositivo instalado (nome)" -#: netbox/dcim/filtersets.py:1820 +#: netbox/dcim/filtersets.py:1831 msgid "Master (ID)" msgstr "Mestre (ID)" -#: netbox/dcim/filtersets.py:1826 +#: netbox/dcim/filtersets.py:1837 msgid "Master (name)" msgstr "Mestre (nome)" -#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246 msgid "Tenant (ID)" msgstr "Inquilino (ID)" -#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570 +#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570 #: netbox/tenancy/filtersets.py:252 msgid "Tenant (slug)" msgstr "Inquilino (slug)" -#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996 +#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008 msgid "Unterminated" msgstr "Não terminado" -#: netbox/dcim/filtersets.py:2168 +#: netbox/dcim/filtersets.py:2179 msgid "Power panel (ID)" msgstr "Quadro de alimentação (ID)" @@ -2997,12 +3000,12 @@ msgstr "Quadro de alimentação (ID)" msgid "Tags" msgstr "Etiquetas" -#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396 +#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408 #: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162 #: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242 -#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130 +#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:34 #: netbox/templates/dcim/virtualchassis.html:66 #: netbox/templates/dcim/virtualchassis_edit.html:55 @@ -3076,9 +3079,9 @@ msgid "Time zone" msgstr "Fuso horário" #: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160 -#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207 -#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300 -#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426 +#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204 +#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301 +#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438 #: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018 #: netbox/dcim/forms/model_forms.py:1457 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166 @@ -3095,7 +3098,7 @@ msgstr "Fuso horário" #: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257 #: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363 #: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230 -#: netbox/templates/dcim/device.html:180 +#: netbox/templates/dcim/device.html:182 #: netbox/templates/dcim/inc/panels/inventory_items.html:20 #: netbox/templates/dcim/interface.html:223 #: netbox/templates/dcim/inventoryitem.html:36 @@ -3127,14 +3130,14 @@ msgstr "Função" msgid "Serial Number" msgstr "Número de Série" -#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307 -#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886 -#: netbox/dcim/forms/filtersets.py:1438 +#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308 +#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898 +#: netbox/dcim/forms/filtersets.py:1450 msgid "Asset tag" msgstr "Etiqueta de patrimônio" -#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220 -#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86 +#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86 msgid "Width" msgstr "Largura" @@ -3154,7 +3157,7 @@ msgstr "Largura externa" msgid "Outer depth" msgstr "Profundidade externa" -#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225 +#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222 msgid "Outer unit" msgstr "Unidade externa" @@ -3165,18 +3168,18 @@ msgstr "Profundidade de montagem" #: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351 #: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459 #: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495 -#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358 -#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312 -#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423 -#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548 -#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232 +#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355 +#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313 +#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424 +#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549 +#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232 #: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103 #: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103 #: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108 #: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278 #: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134 #: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188 -#: netbox/templates/dcim/device.html:317 +#: netbox/templates/dcim/device.html:324 #: netbox/templates/dcim/devicetype.html:49 #: netbox/templates/dcim/moduletype.html:30 #: netbox/templates/extras/configcontext.html:17 @@ -3186,25 +3189,25 @@ msgstr "Profundidade de montagem" msgid "Weight" msgstr "Peso" -#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317 +#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318 msgid "Max weight" msgstr "Peso máximo" #: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441 -#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231 -#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363 -#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533 -#: netbox/dcim/forms/filtersets.py:608 +#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534 +#: netbox/dcim/forms/filtersets.py:609 msgid "Weight unit" msgstr "Unidade de peso" #: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808 -#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273 -#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309 -#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102 -#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354 -#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701 -#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086 +#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270 +#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297 +#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103 +#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355 +#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703 +#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098 #: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248 #: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703 #: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158 @@ -3221,9 +3224,9 @@ msgid "Rack" msgstr "Rack" #: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628 -#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 -#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543 -#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861 +#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334 +#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544 +#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873 #: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" @@ -3232,12 +3235,12 @@ msgstr "Hardware" #: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466 #: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554 #: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165 -#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319 -#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395 -#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027 -#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554 -#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711 -#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431 +#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316 +#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389 +#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021 +#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555 +#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713 +#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443 #: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293 #: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379 #: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462 @@ -3254,13 +3257,13 @@ msgstr "Hardware" msgid "Manufacturer" msgstr "Fabricante" -#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325 -#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297 +#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297 msgid "Default platform" msgstr "Plataforma padrão" #: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471 -#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557 +#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558 msgid "Part number" msgstr "Part number" @@ -3273,8 +3276,8 @@ msgid "Exclude from utilization" msgstr "Excluir da utilização" #: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603 -#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446 -#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98 +#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447 +#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98 #: netbox/templates/dcim/devicetype.html:65 msgid "Airflow" msgstr "Fluxo de Ar" @@ -3299,11 +3302,11 @@ msgid "VM role" msgstr "Função da VM" #: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535 -#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376 -#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402 -#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531 -#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619 -#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752 +#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373 +#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396 +#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525 +#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620 +#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754 #: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384 #: netbox/dcim/forms/model_forms.py:498 #: netbox/virtualization/forms/bulk_import.py:132 @@ -3314,21 +3317,21 @@ msgid "Config template" msgstr "Modelo de configuração" #: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959 -#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112 +#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113 #: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820 #: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499 msgid "Device type" msgstr "Tipo de dispositivo" -#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418 -#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452 +#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412 +#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452 msgid "Device role" msgstr "Função do dispositivo" -#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443 -#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394 +#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437 +#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394 #: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179 -#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184 +#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186 #: netbox/templates/dcim/platform.html:26 #: netbox/templates/virtualization/virtualmachine.html:27 #: netbox/virtualization/forms/bulk_edit.py:160 @@ -3341,21 +3344,21 @@ msgstr "Plataforma" #: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179 #: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589 -#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648 -#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700 -#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773 -#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939 -#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968 -#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373 -#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129 -#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970 -#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182 -#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221 -#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349 -#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 -#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421 -#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508 -#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576 +#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642 +#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694 +#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767 +#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933 +#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962 +#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361 +#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130 +#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982 +#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194 +#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233 +#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361 +#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404 +#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433 +#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520 +#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576 #: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156 #: netbox/dcim/forms/model_forms.py:1611 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 @@ -3373,7 +3376,7 @@ msgstr "Plataforma" #: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176 #: netbox/templates/dcim/consoleport.html:20 #: netbox/templates/dcim/consoleserverport.html:20 -#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129 +#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 #: netbox/templates/dcim/device_edit.html:10 #: netbox/templates/dcim/devicebay.html:20 #: netbox/templates/dcim/devicebay.html:48 @@ -3413,7 +3416,7 @@ msgstr "Dispositivo" msgid "Configuration" msgstr "Configuração" -#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598 +#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592 #: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845 msgid "Module type" msgstr "Tipo de módulo" @@ -3423,7 +3426,7 @@ msgstr "Tipo de módulo" #: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010 #: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088 #: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133 -#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65 +#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66 #: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 #: netbox/templates/dcim/consoleport.html:32 #: netbox/templates/dcim/consoleserverport.html:32 @@ -3441,13 +3444,13 @@ msgstr "Tipo de módulo" msgid "Label" msgstr "Rótulo" -#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987 +#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999 #: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "Comprimento" -#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174 -#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991 +#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165 +#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003 msgid "Length unit" msgstr "Unidade de comprimento" @@ -3456,34 +3459,34 @@ msgstr "Unidade de comprimento" msgid "Domain" msgstr "Domínio" -#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296 -#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698 +#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284 +#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698 msgid "Power panel" msgstr "Quadro de alimentação" -#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332 -#: netbox/dcim/forms/filtersets.py:1099 +#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320 +#: netbox/dcim/forms/filtersets.py:1111 #: netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "Tipo de Alimentação" -#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337 -#: netbox/dcim/forms/filtersets.py:1104 +#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325 +#: netbox/dcim/forms/filtersets.py:1116 #: netbox/templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "Fase" -#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109 +#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121 #: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "Tensão" -#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113 +#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125 #: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "Corrente" -#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117 +#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129 msgid "Max utilization" msgstr "Utilização máxima" @@ -3507,13 +3510,13 @@ msgstr "Consumo alocado" msgid "Allocated power draw (watts)" msgstr "Consumo de energia alocado (Watts)" -#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731 +#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725 #: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226 #: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Porta de alimentação" -#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738 +#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732 msgid "Feed leg" msgstr "Ramal de alimentação" @@ -3522,7 +3525,7 @@ msgid "Management only" msgstr "Somente gerenciamento" #: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339 -#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300 +#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312 #: netbox/dcim/forms/object_import.py:90 #: netbox/dcim/models/device_component_templates.py:411 #: netbox/dcim/models/device_components.py:671 @@ -3530,14 +3533,14 @@ msgid "PoE mode" msgstr "Modo de Operação" #: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345 -#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305 +#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317 #: netbox/dcim/forms/object_import.py:95 #: netbox/dcim/models/device_component_templates.py:417 #: netbox/dcim/models/device_components.py:677 msgid "PoE type" msgstr "Tipo de PoE" -#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310 +#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322 #: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "Função do Wireless" @@ -3565,9 +3568,9 @@ msgstr "LAG" msgid "Virtual device contexts" msgstr "Contextos de dispositivos virtuais" -#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659 -#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169 -#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264 +#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181 +#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276 #: netbox/dcim/tables/devices.py:594 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 @@ -3575,7 +3578,7 @@ msgstr "Contextos de dispositivos virtuais" msgid "Speed" msgstr "Velocidade" -#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830 +#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824 #: netbox/templates/vpn/ikepolicy.html:25 #: netbox/templates/vpn/ipsecprofile.html:21 #: netbox/templates/vpn/ipsecprofile.html:48 @@ -3621,7 +3624,7 @@ msgstr "Grupo da Rede Wireless" msgid "Wireless LANs" msgstr "Redes Wireless" -#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237 +#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249 #: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271 #: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 @@ -3630,13 +3633,13 @@ msgstr "Redes Wireless" msgid "Addressing" msgstr "Endereçamento" -#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650 +#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651 #: netbox/dcim/forms/model_forms.py:1338 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operação" -#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238 +#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250 #: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340 msgid "PoE" msgstr "PoE" @@ -3684,8 +3687,8 @@ msgstr "Grupo designado" msgid "available options" msgstr "opções disponíveis" -#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488 -#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174 +#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482 +#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174 #: netbox/ipam/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:63 #: netbox/virtualization/forms/bulk_import.py:89 @@ -3700,105 +3703,106 @@ msgstr "Localização principal" msgid "Location not found." msgstr "Localização não encontrada." -#: netbox/dcim/forms/bulk_import.py:199 +#: netbox/dcim/forms/bulk_import.py:196 msgid "Name of assigned tenant" msgstr "Nome do inquilino designado" -#: netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:208 msgid "Name of assigned role" msgstr "Nome da função designada" -#: netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/bulk_import.py:214 msgid "Rack type" msgstr "Tipo de rack" -#: netbox/dcim/forms/bulk_import.py:222 +#: netbox/dcim/forms/bulk_import.py:219 msgid "Rail-to-rail width (in inches)" msgstr "Largura de trilho a trilho (em polegadas)" -#: netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:225 msgid "Unit for outer dimensions" msgstr "Unidade para dimensões externas" -#: netbox/dcim/forms/bulk_import.py:234 +#: netbox/dcim/forms/bulk_import.py:231 msgid "Unit for rack weights" msgstr "Unidade de peso do rack" -#: netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:257 msgid "Parent site" msgstr "Site principal" -#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306 +#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294 msgid "Rack's location (if any)" msgstr "Localização do rack (se houver)" -#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253 +#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253 #: netbox/dcim/tables/racks.py:153 #: netbox/templates/dcim/rackreservation.html:12 #: netbox/templates/dcim/rackreservation.html:45 msgid "Units" msgstr "Unidades" -#: netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:276 msgid "Comma-separated list of individual unit numbers" msgstr "Lista separada por vírgula de unidades individuais" -#: netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/bulk_import.py:319 msgid "The manufacturer which produces this device type" msgstr "Fabricante que produz este tipo de dispositivo" -#: netbox/dcim/forms/bulk_import.py:329 +#: netbox/dcim/forms/bulk_import.py:326 msgid "The default platform for devices of this type (optional)" msgstr "A plataforma padrão para dispositivos deste tipo (opcional)" -#: netbox/dcim/forms/bulk_import.py:334 +#: netbox/dcim/forms/bulk_import.py:331 msgid "Device weight" msgstr "Peso do dispositivo" -#: netbox/dcim/forms/bulk_import.py:340 +#: netbox/dcim/forms/bulk_import.py:337 msgid "Unit for device weight" msgstr "Unidade de peso do dispositivo" -#: netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/bulk_import.py:357 msgid "Module weight" msgstr "Peso do módulo" -#: netbox/dcim/forms/bulk_import.py:366 +#: netbox/dcim/forms/bulk_import.py:363 msgid "Unit for module weight" msgstr "Unidade de peso do módulo" -#: netbox/dcim/forms/bulk_import.py:399 +#: netbox/dcim/forms/bulk_import.py:393 msgid "Limit platform assignments to this manufacturer" msgstr "Limitar as atribuições de plataforma a este fabricante" -#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376 +#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364 #: netbox/tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Função designada" -#: netbox/dcim/forms/bulk_import.py:434 +#: netbox/dcim/forms/bulk_import.py:428 msgid "Device type manufacturer" msgstr "Fabricante do tipo de dispositivo" -#: netbox/dcim/forms/bulk_import.py:440 +#: netbox/dcim/forms/bulk_import.py:434 msgid "Device type model" msgstr "Modelo do tipo de dispositivo" -#: netbox/dcim/forms/bulk_import.py:447 +#: netbox/dcim/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Plataforma designada" -#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459 +#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453 #: netbox/dcim/forms/model_forms.py:479 msgid "Virtual chassis" msgstr "Chassi virtual" -#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465 +#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659 +#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465 #: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548 #: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479 #: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459 -#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232 +#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239 #: netbox/templates/virtualization/cluster.html:10 #: netbox/templates/virtualization/virtualmachine.html:88 #: netbox/templates/virtualization/virtualmachine.html:97 @@ -3815,65 +3819,65 @@ msgstr "Chassi virtual" msgid "Cluster" msgstr "Cluster" -#: netbox/dcim/forms/bulk_import.py:466 +#: netbox/dcim/forms/bulk_import.py:460 msgid "Virtualization cluster" msgstr "Cluster de virtualização" -#: netbox/dcim/forms/bulk_import.py:495 +#: netbox/dcim/forms/bulk_import.py:489 msgid "Assigned location (if any)" msgstr "Local designado (se houver)" -#: netbox/dcim/forms/bulk_import.py:502 +#: netbox/dcim/forms/bulk_import.py:496 msgid "Assigned rack (if any)" msgstr "Rack designado (se houver)" -#: netbox/dcim/forms/bulk_import.py:505 +#: netbox/dcim/forms/bulk_import.py:499 msgid "Face" msgstr "Face" -#: netbox/dcim/forms/bulk_import.py:508 +#: netbox/dcim/forms/bulk_import.py:502 msgid "Mounted rack face" msgstr "Face do rack em que está montado" -#: netbox/dcim/forms/bulk_import.py:515 +#: netbox/dcim/forms/bulk_import.py:509 msgid "Parent device (for child devices)" msgstr "Dispositivo pai (para dispositivos filhos)" -#: netbox/dcim/forms/bulk_import.py:518 +#: netbox/dcim/forms/bulk_import.py:512 msgid "Device bay" msgstr "Compartimento de dispositivos" -#: netbox/dcim/forms/bulk_import.py:522 +#: netbox/dcim/forms/bulk_import.py:516 msgid "Device bay in which this device is installed (for child devices)" msgstr "" "Compartimento de dispositivos no qual este dispositivo está instalado (para " "dispositivos filhos)" -#: netbox/dcim/forms/bulk_import.py:528 +#: netbox/dcim/forms/bulk_import.py:522 msgid "Airflow direction" msgstr "Direção do fluxo de ar" -#: netbox/dcim/forms/bulk_import.py:589 +#: netbox/dcim/forms/bulk_import.py:583 msgid "The device in which this module is installed" msgstr "O dispositivo no qual este módulo está instalado" -#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583 +#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583 msgid "Module bay" msgstr "Compartimento de módulo" -#: netbox/dcim/forms/bulk_import.py:595 +#: netbox/dcim/forms/bulk_import.py:589 msgid "The module bay in which this module is installed" msgstr "O compartimento no qual este módulo está instalado" -#: netbox/dcim/forms/bulk_import.py:601 +#: netbox/dcim/forms/bulk_import.py:595 msgid "The type of module" msgstr "O tipo de módulo" -#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599 +#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599 msgid "Replicate components" msgstr "Replicar componentes" -#: netbox/dcim/forms/bulk_import.py:611 +#: netbox/dcim/forms/bulk_import.py:605 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3881,87 +3885,87 @@ msgstr "" "Popular automaticamente os componentes associados a este tipo de módulo " "(ativado por padrão)" -#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605 +#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605 msgid "Adopt components" msgstr "Adotar componentes" -#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608 +#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608 msgid "Adopt already existing components" msgstr "Adotar componentes já existentes" -#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682 -#: netbox/dcim/forms/bulk_import.py:708 +#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676 +#: netbox/dcim/forms/bulk_import.py:702 msgid "Port type" msgstr "Tipo de porta" -#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690 +#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684 msgid "Port speed in bps" msgstr "Velocidade da porta em bps" -#: netbox/dcim/forms/bulk_import.py:728 +#: netbox/dcim/forms/bulk_import.py:722 msgid "Outlet type" msgstr "Tipo de tomada" -#: netbox/dcim/forms/bulk_import.py:735 +#: netbox/dcim/forms/bulk_import.py:729 msgid "Local power port which feeds this outlet" msgstr "Porta de alimentação local que alimenta esta tomada" -#: netbox/dcim/forms/bulk_import.py:741 +#: netbox/dcim/forms/bulk_import.py:735 msgid "Electrical phase (for three-phase circuits)" msgstr "Fase (para circuitos trifásicos)" -#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264 +#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264 #: netbox/virtualization/forms/bulk_import.py:155 #: netbox/virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "Interface pai" -#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272 +#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272 #: netbox/virtualization/forms/bulk_import.py:162 #: netbox/virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "Interface bridged" -#: netbox/dcim/forms/bulk_import.py:792 +#: netbox/dcim/forms/bulk_import.py:786 msgid "Lag" msgstr "LAG" -#: netbox/dcim/forms/bulk_import.py:796 +#: netbox/dcim/forms/bulk_import.py:790 msgid "Parent LAG interface" msgstr "Interface LAG pai" -#: netbox/dcim/forms/bulk_import.py:799 +#: netbox/dcim/forms/bulk_import.py:793 msgid "Vdcs" msgstr "Contextos de Dispositivos Virtuais" -#: netbox/dcim/forms/bulk_import.py:804 +#: netbox/dcim/forms/bulk_import.py:798 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" "Nomes de contextos de dispositivos virtuais separados por vírgulas, entre " "aspas duplas. Exemplo:" -#: netbox/dcim/forms/bulk_import.py:810 +#: netbox/dcim/forms/bulk_import.py:804 msgid "Physical medium" msgstr "Meio físico" -#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283 msgid "Duplex" msgstr "Duplex" -#: netbox/dcim/forms/bulk_import.py:818 +#: netbox/dcim/forms/bulk_import.py:812 msgid "Poe mode" msgstr "Modo de operação do PoE" -#: netbox/dcim/forms/bulk_import.py:824 +#: netbox/dcim/forms/bulk_import.py:818 msgid "Poe type" msgstr "Tipo de PoE" -#: netbox/dcim/forms/bulk_import.py:833 +#: netbox/dcim/forms/bulk_import.py:827 #: netbox/virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "Modo de operação do IEEE 802.1Q (para interfaces L2)" -#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160 +#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160 #: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282 #: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277 #: netbox/ipam/forms/filtersets.py:336 @@ -3969,152 +3973,152 @@ msgstr "Modo de operação do IEEE 802.1Q (para interfaces L2)" msgid "Assigned VRF" msgstr "VRF designado" -#: netbox/dcim/forms/bulk_import.py:843 +#: netbox/dcim/forms/bulk_import.py:837 msgid "Rf role" msgstr "Função RF" -#: netbox/dcim/forms/bulk_import.py:846 +#: netbox/dcim/forms/bulk_import.py:840 msgid "Wireless role (AP/station)" msgstr "Função do Wireless (AP/Station)" -#: netbox/dcim/forms/bulk_import.py:882 +#: netbox/dcim/forms/bulk_import.py:876 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" msgstr "" "Contexto de dispositivo virtual {vdc} não está associado ao dispositivo " "{device}" -#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948 +#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948 #: netbox/dcim/forms/model_forms.py:1522 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Porta traseira" -#: netbox/dcim/forms/bulk_import.py:899 +#: netbox/dcim/forms/bulk_import.py:893 msgid "Corresponding rear port" msgstr "Porta traseira correspondente" -#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945 -#: netbox/dcim/forms/bulk_import.py:1164 +#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939 +#: netbox/dcim/forms/bulk_import.py:1155 msgid "Physical medium classification" msgstr "Tipo de conexão do meio físico" -#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805 +#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805 msgid "Installed device" msgstr "Dispositivo instalado" -#: netbox/dcim/forms/bulk_import.py:977 +#: netbox/dcim/forms/bulk_import.py:971 msgid "Child device installed within this bay" msgstr "Dispositivo filho instalado neste compartimento" -#: netbox/dcim/forms/bulk_import.py:979 +#: netbox/dcim/forms/bulk_import.py:973 msgid "Child device not found." msgstr "Dispositivo filho não encontrado." -#: netbox/dcim/forms/bulk_import.py:1037 +#: netbox/dcim/forms/bulk_import.py:1031 msgid "Parent inventory item" msgstr "Item pai do inventário" -#: netbox/dcim/forms/bulk_import.py:1040 +#: netbox/dcim/forms/bulk_import.py:1034 msgid "Component type" msgstr "Tipo de componente" -#: netbox/dcim/forms/bulk_import.py:1044 +#: netbox/dcim/forms/bulk_import.py:1038 msgid "Component Type" msgstr "Tipo de Componente" -#: netbox/dcim/forms/bulk_import.py:1047 +#: netbox/dcim/forms/bulk_import.py:1041 msgid "Compnent name" msgstr "Nome do componente" -#: netbox/dcim/forms/bulk_import.py:1049 +#: netbox/dcim/forms/bulk_import.py:1043 msgid "Component Name" msgstr "Nome do Componente" -#: netbox/dcim/forms/bulk_import.py:1091 +#: netbox/dcim/forms/bulk_import.py:1085 #, python-brace-format msgid "Component not found: {device} - {component_name}" msgstr "Componente não encontrado: {device} - {component_name}" -#: netbox/dcim/forms/bulk_import.py:1119 +#: netbox/dcim/forms/bulk_import.py:1110 msgid "Side A device" msgstr "Dispositivo no lado A" -#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140 +#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131 msgid "Device name" msgstr "Nome do dispositivo" -#: netbox/dcim/forms/bulk_import.py:1125 +#: netbox/dcim/forms/bulk_import.py:1116 msgid "Side A type" msgstr "Tipo de terminação no lado A" -#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137 msgid "Termination type" msgstr "Tipo de terminação" -#: netbox/dcim/forms/bulk_import.py:1131 +#: netbox/dcim/forms/bulk_import.py:1122 msgid "Side A name" msgstr "Nome da terminação no lado A" -#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150 +#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141 msgid "Termination name" msgstr "Nome da terminação" -#: netbox/dcim/forms/bulk_import.py:1137 +#: netbox/dcim/forms/bulk_import.py:1128 msgid "Side B device" msgstr "Dispositivo no lado B" -#: netbox/dcim/forms/bulk_import.py:1143 +#: netbox/dcim/forms/bulk_import.py:1134 msgid "Side B type" msgstr "Tipo de terminação no lado B" -#: netbox/dcim/forms/bulk_import.py:1149 +#: netbox/dcim/forms/bulk_import.py:1140 msgid "Side B name" msgstr "Nome da terminação no lado B" -#: netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1149 #: netbox/wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "Status da conexão" -#: netbox/dcim/forms/bulk_import.py:1213 +#: netbox/dcim/forms/bulk_import.py:1201 #, python-brace-format msgid "Side {side_upper}: {device} {termination_object} is already connected" msgstr "Lado {side_upper}: {device} {termination_object} já está conectado" -#: netbox/dcim/forms/bulk_import.py:1219 +#: netbox/dcim/forms/bulk_import.py:1207 #, python-brace-format msgid "{side_upper} side termination not found: {device} {name}" msgstr " Terminação {side_upper} não encontrada: {device} {name}" -#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733 -#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131 +#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733 +#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "Mestre" -#: netbox/dcim/forms/bulk_import.py:1248 +#: netbox/dcim/forms/bulk_import.py:1236 msgid "Master device" msgstr "Dispositivo mestre" -#: netbox/dcim/forms/bulk_import.py:1265 +#: netbox/dcim/forms/bulk_import.py:1253 msgid "Name of parent site" msgstr "Nome do site principal" -#: netbox/dcim/forms/bulk_import.py:1299 +#: netbox/dcim/forms/bulk_import.py:1287 msgid "Upstream power panel" msgstr "Quadro de alimentação" -#: netbox/dcim/forms/bulk_import.py:1329 +#: netbox/dcim/forms/bulk_import.py:1317 msgid "Primary or redundant" msgstr "Primário ou redundante" -#: netbox/dcim/forms/bulk_import.py:1334 +#: netbox/dcim/forms/bulk_import.py:1322 msgid "Supply type (AC/DC)" msgstr "Tipo de alimentação (AC/DC)" -#: netbox/dcim/forms/bulk_import.py:1339 +#: netbox/dcim/forms/bulk_import.py:1327 msgid "Single or three-phase" msgstr "Monofásico ou trifásico" @@ -4171,11 +4175,11 @@ msgstr "Fontes de Alimentação" msgid "Side" msgstr "Lado" -#: netbox/dcim/forms/filtersets.py:142 +#: netbox/dcim/forms/filtersets.py:143 msgid "Parent region" msgstr "Região principal" -#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28 +#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28 #: netbox/tenancy/forms/bulk_import.py:62 #: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62 #: netbox/wireless/forms/bulk_import.py:25 @@ -4183,51 +4187,58 @@ msgstr "Região principal" msgid "Parent group" msgstr "Grupo principal" -#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332 +#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 msgid "Function" msgstr "Função" -#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317 +#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317 #: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "Imagens" -#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546 -#: netbox/dcim/forms/filtersets.py:656 +#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547 +#: netbox/dcim/forms/filtersets.py:657 msgid "Components" msgstr "Componentes" -#: netbox/dcim/forms/filtersets.py:441 +#: netbox/dcim/forms/filtersets.py:442 msgid "Subdevice role" msgstr "Função do subdispositivo" -#: netbox/dcim/forms/filtersets.py:719 +#: netbox/dcim/forms/filtersets.py:721 msgid "Model" msgstr "Modelo" -#: netbox/dcim/forms/filtersets.py:763 +#: netbox/dcim/forms/filtersets.py:765 msgid "Has an OOB IP" msgstr "Possui um IP fora de banda" -#: netbox/dcim/forms/filtersets.py:770 +#: netbox/dcim/forms/filtersets.py:772 msgid "Virtual chassis member" msgstr "Membro do chassi virtual" -#: netbox/dcim/forms/filtersets.py:819 +#: netbox/dcim/forms/filtersets.py:821 msgid "Has virtual device contexts" msgstr "Possui contextos de dispositivos virtuais" -#: netbox/dcim/forms/filtersets.py:1129 +#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537 +#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464 +#: netbox/ipam/forms/model_forms.py:624 +#: netbox/virtualization/forms/filtersets.py:112 +msgid "Cluster group" +msgstr "Grupo de clusters" + +#: netbox/dcim/forms/filtersets.py:1141 msgid "Cabled" msgstr "Cabeado" -#: netbox/dcim/forms/filtersets.py:1136 +#: netbox/dcim/forms/filtersets.py:1148 msgid "Occupied" msgstr "Ocupado" -#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183 -#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222 -#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352 +#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195 +#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234 +#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352 #: netbox/templates/dcim/consoleport.html:55 #: netbox/templates/dcim/consoleserverport.html:55 #: netbox/templates/dcim/frontport.html:69 @@ -4239,42 +4250,42 @@ msgstr "Ocupado" msgid "Connection" msgstr "Conexão" -#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316 -#: netbox/extras/forms/bulk_import.py:242 +#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316 +#: netbox/extras/forms/bulk_import.py:239 #: netbox/extras/forms/filtersets.py:473 #: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513 #: netbox/templates/extras/journalentry.html:30 msgid "Kind" msgstr "Tipo" -#: netbox/dcim/forms/filtersets.py:1283 +#: netbox/dcim/forms/filtersets.py:1295 msgid "Mgmt only" msgstr "Somente gerenciamento" -#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330 +#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" -#: netbox/dcim/forms/filtersets.py:1315 +#: netbox/dcim/forms/filtersets.py:1327 msgid "Wireless channel" msgstr "Canal do Wireless" -#: netbox/dcim/forms/filtersets.py:1319 +#: netbox/dcim/forms/filtersets.py:1331 msgid "Channel frequency (MHz)" msgstr "Frequência do canal (MHz)" -#: netbox/dcim/forms/filtersets.py:1323 +#: netbox/dcim/forms/filtersets.py:1335 msgid "Channel width (MHz)" msgstr "Largura do canal (MHz)" -#: netbox/dcim/forms/filtersets.py:1327 +#: netbox/dcim/forms/filtersets.py:1339 #: netbox/templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "Potência de transmissão (dBm)" -#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372 +#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384 #: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12 #: netbox/templates/dcim/cable_trace.html:46 #: netbox/templates/dcim/frontport.html:77 @@ -4285,7 +4296,7 @@ msgstr "Potência de transmissão (dBm)" msgid "Cable" msgstr "Cabo" -#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915 +#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915 msgid "Discovered" msgstr "Descoberto" @@ -4310,7 +4321,7 @@ msgstr "Controle de Inventário" msgid "Outer Dimensions" msgstr "Dimensões externas" -#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308 +#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315 #: netbox/templates/dcim/rack.html:73 msgid "Dimensions" msgstr "Dimensões" @@ -4350,7 +4361,7 @@ msgstr "A unidade mais baixa ocupada pelo dispositivo" msgid "The position in the virtual chassis this device is identified by" msgstr "A posição no chassi virtual pela qual este dispositivo é identificado" -#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132 +#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133 #: netbox/templates/dcim/virtualchassis.html:68 #: netbox/templates/dcim/virtualchassis_edit.html:56 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 @@ -4531,13 +4542,13 @@ msgstr "Item de Inventário" msgid "Inventory Item Role" msgstr "Função do Item de Inventário" -#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188 +#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190 #: netbox/templates/dcim/virtualdevicecontext.html:30 #: netbox/templates/virtualization/virtualmachine.html:48 msgid "Primary IPv4" msgstr "IPv4 Primário" -#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204 +#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206 #: netbox/templates/dcim/virtualdevicecontext.html:41 #: netbox/templates/virtualization/virtualmachine.html:64 msgid "Primary IPv6" @@ -4630,7 +4641,7 @@ msgstr "" #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 #: netbox/dcim/models/device_components.py:63 -#: netbox/extras/models/customfields.py:109 +#: netbox/extras/models/customfields.py:110 msgid "label" msgstr "rótulo" @@ -5765,7 +5776,7 @@ msgstr "identificador" msgid "Numeric identifier unique to the parent device" msgstr "Identificador numérico exclusivo para o dispositivo principal" -#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210 +#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211 #: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722 #: netbox/netbox/models/__init__.py:114 msgid "comments" @@ -6121,43 +6132,43 @@ msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "" "Localização principal ({parent}) deve pertencer ao mesmo site ({site})." -#: netbox/dcim/tables/cables.py:54 +#: netbox/dcim/tables/cables.py:55 msgid "Termination A" msgstr "Terminação A" -#: netbox/dcim/tables/cables.py:59 +#: netbox/dcim/tables/cables.py:60 msgid "Termination B" msgstr "Terminação B" -#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22 +#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22 msgid "Device A" msgstr "Dispositivo A" -#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31 +#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31 msgid "Device B" msgstr "Dispositivo B" -#: netbox/dcim/tables/cables.py:77 +#: netbox/dcim/tables/cables.py:78 msgid "Location A" msgstr "Localização A" -#: netbox/dcim/tables/cables.py:83 +#: netbox/dcim/tables/cables.py:84 msgid "Location B" msgstr "Localização B" -#: netbox/dcim/tables/cables.py:89 +#: netbox/dcim/tables/cables.py:90 msgid "Rack A" msgstr "Rack A" -#: netbox/dcim/tables/cables.py:95 +#: netbox/dcim/tables/cables.py:96 msgid "Rack B" msgstr "Rack B" -#: netbox/dcim/tables/cables.py:101 +#: netbox/dcim/tables/cables.py:102 msgid "Site A" msgstr "Site A" -#: netbox/dcim/tables/cables.py:107 +#: netbox/dcim/tables/cables.py:108 msgid "Site B" msgstr "Sítio B" @@ -6173,7 +6184,7 @@ msgstr "Acessível" #: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 #: netbox/virtualization/forms/model_forms.py:122 #: netbox/virtualization/tables/clusters.py:83 -#: netbox/virtualization/views.py:202 +#: netbox/virtualization/views.py:205 msgid "Devices" msgstr "Dispositivos" @@ -6254,8 +6265,8 @@ msgid "Power outlets" msgstr "Tomadas elétricas" #: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046 -#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985 -#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988 +#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908 #: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237 #: netbox/templates/dcim/device/base.html:37 #: netbox/templates/dcim/device_list.html:43 @@ -6267,7 +6278,7 @@ msgstr "Tomadas elétricas" #: netbox/templates/virtualization/virtualmachine/base.html:27 #: netbox/templates/virtualization/virtualmachine_list.html:14 #: netbox/virtualization/tables/virtualmachines.py:100 -#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55 +#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Interfaces" @@ -6293,8 +6304,8 @@ msgid "Module Bay" msgstr "Compartimento de módulo" #: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060 -#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063 +#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 #: netbox/templates/dcim/devicetype/base.html:49 @@ -6324,8 +6335,8 @@ msgid "Allocated draw (W)" msgstr "Consumo alocado (W)" #: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747 -#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589 -#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145 +#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596 +#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145 #: netbox/netbox/navigation/menu.py:147 #: netbox/templates/dcim/interface.html:339 #: netbox/templates/ipam/ipaddress_bulk_add.html:15 @@ -6418,8 +6429,8 @@ msgstr "Altura em U" msgid "Instances" msgstr "Instâncias" -#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925 -#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928 +#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844 #: netbox/netbox/navigation/menu.py:84 #: netbox/templates/dcim/device/base.html:25 #: netbox/templates/dcim/device_list.html:15 @@ -6429,8 +6440,8 @@ msgstr "Instâncias" msgid "Console Ports" msgstr "Portas de Console" -#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940 -#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943 +#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860 #: netbox/netbox/navigation/menu.py:85 #: netbox/templates/dcim/device/base.html:28 #: netbox/templates/dcim/device_list.html:22 @@ -6440,8 +6451,8 @@ msgstr "Portas de Console" msgid "Console Server Ports" msgstr "Portas de Servidor de Console" -#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955 -#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958 +#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876 #: netbox/netbox/navigation/menu.py:86 #: netbox/templates/dcim/device/base.html:31 #: netbox/templates/dcim/device_list.html:29 @@ -6451,8 +6462,8 @@ msgstr "Portas de Servidor de Console" msgid "Power Ports" msgstr "Portas de Alimentação" -#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970 -#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973 +#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892 #: netbox/netbox/navigation/menu.py:87 #: netbox/templates/dcim/device/base.html:34 #: netbox/templates/dcim/device_list.html:36 @@ -6462,8 +6473,8 @@ msgstr "Portas de Alimentação" msgid "Power Outlets" msgstr "Tomadas Elétricas" -#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000 -#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003 +#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930 #: netbox/netbox/navigation/menu.py:82 #: netbox/templates/dcim/device/base.html:40 #: netbox/templates/dcim/devicetype/base.html:37 @@ -6472,8 +6483,8 @@ msgstr "Tomadas Elétricas" msgid "Front Ports" msgstr "Portas Frontais" -#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015 -#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018 +#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946 #: netbox/netbox/navigation/menu.py:83 #: netbox/templates/dcim/device/base.html:43 #: netbox/templates/dcim/device_list.html:50 @@ -6483,16 +6494,16 @@ msgstr "Portas Frontais" msgid "Rear Ports" msgstr "Portas Traseiras" -#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045 -#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048 +#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 #: netbox/templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Compartimentos de Dispositivos" -#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030 -#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033 +#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88 #: netbox/templates/dcim/device/base.html:46 #: netbox/templates/dcim/device_list.html:64 #: netbox/templates/dcim/devicetype/base.html:43 @@ -6517,7 +6528,7 @@ msgstr "Potência Disponível (VA)" msgid "Racks" msgstr "Racks" -#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311 +#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318 #: netbox/templates/dcim/rack.html:90 msgid "Height" msgstr "Altura" @@ -6550,38 +6561,38 @@ msgstr "Sites" msgid "Test case must set peer_termination_type" msgstr "O caso de teste deve definir peer_termination_type" -#: netbox/dcim/views.py:139 +#: netbox/dcim/views.py:140 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Desconectado {count} {type}" -#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28 +#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28 msgid "Reservations" msgstr "Reservas" -#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90 +#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90 #: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" msgstr "Dispositivos Não Montados em Rack" -#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453 +#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453 #: netbox/templates/extras/configcontext.html:10 #: netbox/virtualization/forms/model_forms.py:225 -#: netbox/virtualization/views.py:399 +#: netbox/virtualization/views.py:404 msgid "Config Context" msgstr "Contexto de Configuração" -#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409 +#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414 msgid "Render Config" msgstr "Renderização de Configuração" -#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441 +#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441 #: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236 -#: netbox/virtualization/views.py:177 +#: netbox/virtualization/views.py:179 msgid "Virtual Machines" msgstr "Máquinas Virtuais" -#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233 +#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233 msgid "Children" msgstr "Filhos" @@ -7016,16 +7027,6 @@ msgstr "Tipo de cluster" msgid "Cluster type (slug)" msgstr "Tipo de cluster (slug)" -#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476 -#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624 -#: netbox/virtualization/forms/filtersets.py:112 -msgid "Cluster group" -msgstr "Grupo de clusters" - -#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136 -msgid "Cluster group (slug)" -msgstr "Grupo de clusters (slug)" - #: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16 #: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" @@ -7066,13 +7067,13 @@ msgstr "Obrigatório" #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57 #: netbox/extras/forms/filtersets.py:79 -#: netbox/extras/models/customfields.py:194 +#: netbox/extras/models/customfields.py:195 msgid "UI visible" msgstr "UI visível" #: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63 #: netbox/extras/forms/filtersets.py:84 -#: netbox/extras/models/customfields.py:201 +#: netbox/extras/models/customfields.py:202 msgid "UI editable" msgstr "UI editável" @@ -7251,11 +7252,11 @@ msgstr "Webhook {name} não encontrado" msgid "Script {name} not found" msgstr "Script {name} não encontrado" -#: netbox/extras/forms/bulk_import.py:239 +#: netbox/extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Tipo de objeto associado" -#: netbox/extras/forms/bulk_import.py:244 +#: netbox/extras/forms/bulk_import.py:241 msgid "The classification of entry" msgstr "A classificação da entrada" @@ -7715,34 +7716,34 @@ msgstr "modelo de configuração" msgid "config templates" msgstr "modelos de configuração" -#: netbox/extras/models/customfields.py:73 +#: netbox/extras/models/customfields.py:74 msgid "The object(s) to which this field applies." msgstr "Objetos aos quais este campo se aplica." -#: netbox/extras/models/customfields.py:80 +#: netbox/extras/models/customfields.py:81 msgid "The type of data this custom field holds" msgstr "O tipo de dados que este campo personalizado contém" -#: netbox/extras/models/customfields.py:87 +#: netbox/extras/models/customfields.py:88 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" "O tipo de objeto do NetBox para o qual este campo é mapeado (para campos de " "objeto)" -#: netbox/extras/models/customfields.py:93 +#: netbox/extras/models/customfields.py:94 msgid "Internal field name" msgstr "Nome interno do campo" -#: netbox/extras/models/customfields.py:97 +#: netbox/extras/models/customfields.py:98 msgid "Only alphanumeric characters and underscores are allowed." msgstr "Somente caracteres alfanuméricos e sublinhados são permitidos." -#: netbox/extras/models/customfields.py:102 +#: netbox/extras/models/customfields.py:103 msgid "Double underscores are not permitted in custom field names." msgstr "" "Sublinhados duplos não são permitidos em nomes de campos personalizados." -#: netbox/extras/models/customfields.py:113 +#: netbox/extras/models/customfields.py:114 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" @@ -7750,19 +7751,19 @@ msgstr "" "Nome do campo exibido aos usuários (se não for fornecido, o nome do campo " "será usado)" -#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345 +#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345 msgid "group name" msgstr "nome do grupo" -#: netbox/extras/models/customfields.py:120 +#: netbox/extras/models/customfields.py:121 msgid "Custom fields within the same group will be displayed together" msgstr "Os campos personalizados dentro do mesmo grupo serão exibidos juntos" -#: netbox/extras/models/customfields.py:128 +#: netbox/extras/models/customfields.py:129 msgid "required" msgstr "requeridos" -#: netbox/extras/models/customfields.py:130 +#: netbox/extras/models/customfields.py:131 msgid "" "If true, this field is required when creating new objects or editing an " "existing object." @@ -7770,11 +7771,11 @@ msgstr "" "Se verdadeiro, este campo é obrigatório ao criar novos objetos ou editar um " "objeto existente." -#: netbox/extras/models/customfields.py:133 +#: netbox/extras/models/customfields.py:134 msgid "search weight" msgstr "peso da pesquisa" -#: netbox/extras/models/customfields.py:136 +#: netbox/extras/models/customfields.py:137 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." @@ -7782,11 +7783,11 @@ msgstr "" "Peso durante uma pesquisa. Valores mais baixos são considerados mais " "importantes. Campos com peso de pesquisa zero serão ignorados." -#: netbox/extras/models/customfields.py:141 +#: netbox/extras/models/customfields.py:142 msgid "filter logic" msgstr "lógica do filtro" -#: netbox/extras/models/customfields.py:145 +#: netbox/extras/models/customfields.py:146 msgid "" "Loose matches any instance of a given string; exact matches the entire " "field." @@ -7794,11 +7795,11 @@ msgstr "" "Flexível corresponde a qualquer instância de uma determinada string; exata " "corresponde a todo o campo." -#: netbox/extras/models/customfields.py:148 +#: netbox/extras/models/customfields.py:149 msgid "default" msgstr "padrão" -#: netbox/extras/models/customfields.py:152 +#: netbox/extras/models/customfields.py:153 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with" " double quotes (e.g. \"Foo\")." @@ -7806,35 +7807,35 @@ msgstr "" "Valor padrão para o campo (deve ser um valor JSON). Encapsule strings usando" " aspas duplas (por exemplo, “Foo”)." -#: netbox/extras/models/customfields.py:157 +#: netbox/extras/models/customfields.py:158 msgid "display weight" msgstr "peso de exibição" -#: netbox/extras/models/customfields.py:158 +#: netbox/extras/models/customfields.py:159 msgid "Fields with higher weights appear lower in a form." msgstr "Os campos com pesos maiores aparecem mais abaixo em um formulário." -#: netbox/extras/models/customfields.py:163 +#: netbox/extras/models/customfields.py:164 msgid "minimum value" msgstr "valor mínimo" -#: netbox/extras/models/customfields.py:164 +#: netbox/extras/models/customfields.py:165 msgid "Minimum allowed value (for numeric fields)" msgstr "Valor mínimo permitido (para campos numéricos)" -#: netbox/extras/models/customfields.py:169 +#: netbox/extras/models/customfields.py:170 msgid "maximum value" msgstr "valor máximo" -#: netbox/extras/models/customfields.py:170 +#: netbox/extras/models/customfields.py:171 msgid "Maximum allowed value (for numeric fields)" msgstr "Valor máximo permitido (para campos numéricos)" -#: netbox/extras/models/customfields.py:176 +#: netbox/extras/models/customfields.py:177 msgid "validation regex" msgstr "expressão regular de validação" -#: netbox/extras/models/customfields.py:178 +#: netbox/extras/models/customfields.py:179 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -7845,175 +7846,175 @@ msgstr "" "forçar a correspondência de toda a string. Por exemplo, ^ " "[A-Z]{3}$ limitará os valores a exatamente três letras maiúsculas." -#: netbox/extras/models/customfields.py:186 +#: netbox/extras/models/customfields.py:187 msgid "choice set" msgstr "conjunto de opções" -#: netbox/extras/models/customfields.py:195 +#: netbox/extras/models/customfields.py:196 msgid "Specifies whether the custom field is displayed in the UI" msgstr "Especifica se o campo personalizado é exibido na interface do usuário" -#: netbox/extras/models/customfields.py:202 +#: netbox/extras/models/customfields.py:203 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" "Especifica se o valor do campo personalizado pode ser editado na interface " "do usuário" -#: netbox/extras/models/customfields.py:206 +#: netbox/extras/models/customfields.py:207 msgid "is cloneable" msgstr "é clonável" -#: netbox/extras/models/customfields.py:207 +#: netbox/extras/models/customfields.py:208 msgid "Replicate this value when cloning objects" msgstr "Replique este valor ao clonar objetos" -#: netbox/extras/models/customfields.py:224 +#: netbox/extras/models/customfields.py:225 msgid "custom field" msgstr "campo personalizado" -#: netbox/extras/models/customfields.py:225 +#: netbox/extras/models/customfields.py:226 msgid "custom fields" msgstr "campos personalizados" -#: netbox/extras/models/customfields.py:314 +#: netbox/extras/models/customfields.py:315 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "Valor padrão inválido”{value}“: {error}" -#: netbox/extras/models/customfields.py:321 +#: netbox/extras/models/customfields.py:322 msgid "A minimum value may be set only for numeric fields" msgstr "Um valor mínimo pode ser definido somente para campos numéricos" -#: netbox/extras/models/customfields.py:323 +#: netbox/extras/models/customfields.py:324 msgid "A maximum value may be set only for numeric fields" msgstr "Um valor máximo pode ser definido somente para campos numéricos" -#: netbox/extras/models/customfields.py:333 +#: netbox/extras/models/customfields.py:334 msgid "" "Regular expression validation is supported only for text and URL fields" msgstr "" "Expressões regulares são suportadas somente para campos de texto e URLs" -#: netbox/extras/models/customfields.py:343 +#: netbox/extras/models/customfields.py:344 msgid "Selection fields must specify a set of choices." msgstr "Os campos de seleção devem especificar um conjunto de opções." -#: netbox/extras/models/customfields.py:347 +#: netbox/extras/models/customfields.py:348 msgid "Choices may be set only on selection fields." msgstr "As opções podem ser definidas somente nos campos de seleção." -#: netbox/extras/models/customfields.py:354 +#: netbox/extras/models/customfields.py:355 msgid "Object fields must define an object type." msgstr "Os campos de objeto devem definir um tipo de objeto." -#: netbox/extras/models/customfields.py:359 +#: netbox/extras/models/customfields.py:360 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "Campos {type} não podem definir um tipo de objeto." -#: netbox/extras/models/customfields.py:439 +#: netbox/extras/models/customfields.py:440 msgid "True" msgstr "Verdadeiro" -#: netbox/extras/models/customfields.py:440 +#: netbox/extras/models/customfields.py:441 msgid "False" msgstr "Falso" -#: netbox/extras/models/customfields.py:522 +#: netbox/extras/models/customfields.py:523 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" "Os valores devem corresponder a esta expressão regular: {regex}" -#: netbox/extras/models/customfields.py:616 +#: netbox/extras/models/customfields.py:617 msgid "Value must be a string." msgstr "O valor deve ser uma string." -#: netbox/extras/models/customfields.py:618 +#: netbox/extras/models/customfields.py:619 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "O valor deve corresponder à expressão regular '{regex}'" -#: netbox/extras/models/customfields.py:623 +#: netbox/extras/models/customfields.py:624 msgid "Value must be an integer." msgstr "O valor deve ser um número inteiro." -#: netbox/extras/models/customfields.py:626 -#: netbox/extras/models/customfields.py:641 +#: netbox/extras/models/customfields.py:627 +#: netbox/extras/models/customfields.py:642 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "O valor deve ser pelo menos {minimum}" -#: netbox/extras/models/customfields.py:630 -#: netbox/extras/models/customfields.py:645 +#: netbox/extras/models/customfields.py:631 +#: netbox/extras/models/customfields.py:646 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "O valor não deve exceder {maximum}" -#: netbox/extras/models/customfields.py:638 +#: netbox/extras/models/customfields.py:639 msgid "Value must be a decimal." msgstr "O valor deve ser decimal." -#: netbox/extras/models/customfields.py:650 +#: netbox/extras/models/customfields.py:651 msgid "Value must be true or false." msgstr "O valor deve ser verdadeiro ou falso." -#: netbox/extras/models/customfields.py:658 +#: netbox/extras/models/customfields.py:659 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)." -#: netbox/extras/models/customfields.py:671 +#: netbox/extras/models/customfields.py:672 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" "Os valores de data e hora devem estar no formato ISO 8601 (AAAA-MM-DD " "HH:MM:SS)." -#: netbox/extras/models/customfields.py:678 +#: netbox/extras/models/customfields.py:679 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "Escolha {value} é inválida para o conjunto de escolhas {choiceset}." -#: netbox/extras/models/customfields.py:688 +#: netbox/extras/models/customfields.py:689 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "Escolha {value} é inválida para o conjunto de escolhas {choiceset}." -#: netbox/extras/models/customfields.py:697 +#: netbox/extras/models/customfields.py:698 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "O valor deve ser um ID de objeto, não {type}" -#: netbox/extras/models/customfields.py:703 +#: netbox/extras/models/customfields.py:704 #, python-brace-format 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}" -#: netbox/extras/models/customfields.py:707 +#: netbox/extras/models/customfields.py:708 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "ID de objeto inválida encontrada: {id}" -#: netbox/extras/models/customfields.py:710 +#: netbox/extras/models/customfields.py:711 msgid "Required field cannot be empty." msgstr "O campo obrigatório não pode estar vazio." -#: netbox/extras/models/customfields.py:729 +#: netbox/extras/models/customfields.py:730 msgid "Base set of predefined choices (optional)" msgstr "Conjunto básico de opções predefinidas (opcional)" -#: netbox/extras/models/customfields.py:741 +#: netbox/extras/models/customfields.py:742 msgid "Choices are automatically ordered alphabetically" msgstr "As opções são ordenadas automaticamente em ordem alfabética" -#: netbox/extras/models/customfields.py:748 +#: netbox/extras/models/customfields.py:749 msgid "custom field choice set" msgstr "conjunto de opções de campo personalizado" -#: netbox/extras/models/customfields.py:749 +#: netbox/extras/models/customfields.py:750 msgid "custom field choice sets" msgstr "conjuntos de opções de campos personalizados" -#: netbox/extras/models/customfields.py:785 +#: netbox/extras/models/customfields.py:786 msgid "Must define base or extra choices." msgstr "Deve definir opções básicas ou extras." @@ -8455,19 +8456,19 @@ msgstr "Dados do Script" msgid "Script Execution Parameters" msgstr "Parâmetros de Execução do Script" -#: netbox/extras/scripts.py:664 +#: netbox/extras/scripts.py:666 msgid "Database changes have been reverted automatically." msgstr "As alterações no banco de dados foram revertidas automaticamente." -#: netbox/extras/scripts.py:677 +#: netbox/extras/scripts.py:679 msgid "Script aborted with error: " msgstr "Script abortado com erro: " -#: netbox/extras/scripts.py:687 +#: netbox/extras/scripts.py:689 msgid "An exception occurred: " msgstr "Ocorreu uma exceção: " -#: netbox/extras/scripts.py:690 +#: netbox/extras/scripts.py:692 msgid "Database changes have been reverted due to error." msgstr "As alterações do banco de dados foram revertidas devido a um erro." @@ -9759,7 +9760,7 @@ msgid "The primary function of this VLAN" msgstr "Função principal desta VLAN" #: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175 -#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961 +#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971 #: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182 msgid "VLANs" msgstr "VLANs" @@ -9835,7 +9836,7 @@ msgid "Added" msgstr "Adicionado" #: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165 -#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342 +#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346 #: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154 #: netbox/templates/ipam/vlan.html:84 msgid "Prefixes" @@ -9843,7 +9844,7 @@ msgstr "Prefixos" #: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267 #: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82 -#: netbox/templates/dcim/device.html:253 +#: netbox/templates/dcim/device.html:260 #: netbox/templates/ipam/aggregate.html:24 #: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 msgid "Utilization" @@ -9938,23 +9939,23 @@ msgstr "" "Somente caracteres alfanuméricos, asteriscos, hífens, pontos e sublinhados " "são permitidos em nomes DNS" -#: netbox/ipam/views.py:528 +#: netbox/ipam/views.py:533 msgid "Child Prefixes" msgstr "Prefixos Filhos" -#: netbox/ipam/views.py:563 +#: netbox/ipam/views.py:569 msgid "Child Ranges" msgstr "Intervalos Filhos" -#: netbox/ipam/views.py:889 +#: netbox/ipam/views.py:898 msgid "Related IPs" msgstr "IPs relacionados" -#: netbox/ipam/views.py:1116 +#: netbox/ipam/views.py:1127 msgid "Device Interfaces" msgstr "Interfaces de dispositivos" -#: netbox/ipam/views.py:1133 +#: netbox/ipam/views.py:1145 msgid "VM Interfaces" msgstr "Interfaces de Máquina Virtual" @@ -10288,6 +10289,10 @@ msgstr "Expressão Regular" msgid "Object type(s)" msgstr "Tipo(s) de objeto" +#: netbox/netbox/forms/__init__.py:40 +msgid "Lookup" +msgstr "Procurar" + #: netbox/netbox/forms/base.py:88 msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. " @@ -10392,7 +10397,7 @@ msgstr "Atribuições dos Contatos" msgid "Modules" msgstr "Módulos" -#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158 +#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160 #: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "Contextos de Dispositivos Virtuais" @@ -10454,7 +10459,7 @@ msgstr "Grupos de VLANs" msgid "Service Templates" msgstr "Modelos de Serviço" -#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295 +#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302 #: netbox/templates/ipam/ipaddress.html:118 #: netbox/templates/virtualization/virtualmachine.html:150 msgid "Services" @@ -10521,7 +10526,7 @@ msgstr "Virtualização" #: netbox/templates/virtualization/virtualmachine/base.html:32 #: netbox/templates/virtualization/virtualmachine_list.html:21 #: netbox/virtualization/tables/virtualmachines.py:103 -#: netbox/virtualization/views.py:380 +#: netbox/virtualization/views.py:385 msgid "Virtual Disks" msgstr "Discos Virtuais" @@ -10583,7 +10588,7 @@ msgstr "Personalização" #: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30 #: netbox/templates/inc/panels/custom_fields.html:7 #: netbox/templates/ipam/ipaddress_bulk_add.html:35 -#: netbox/templates/ipam/vlan_edit.html:63 +#: netbox/templates/ipam/vlan_edit.html:59 msgid "Custom Fields" msgstr "Campos Personalizados" @@ -10689,7 +10694,7 @@ msgstr "Histórico de Configuração" msgid "Background Tasks" msgstr "Tarefas em Background" -#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35 +#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35 #: netbox/templates/account/preferences.html:22 #: netbox/templates/core/system.html:80 msgid "Plugins" @@ -10828,43 +10833,43 @@ msgstr "Não é possível adicionar stores ao registro após a inicialização" msgid "Cannot delete stores from registry" msgstr "Não é possível excluir stores do registro" -#: netbox/netbox/settings.py:724 +#: netbox/netbox/settings.py:741 msgid "German" msgstr "Alemão" -#: netbox/netbox/settings.py:725 +#: netbox/netbox/settings.py:742 msgid "English" msgstr "Inglês" -#: netbox/netbox/settings.py:726 +#: netbox/netbox/settings.py:743 msgid "Spanish" msgstr "Espanhol" -#: netbox/netbox/settings.py:727 +#: netbox/netbox/settings.py:744 msgid "French" msgstr "Francês" -#: netbox/netbox/settings.py:728 +#: netbox/netbox/settings.py:745 msgid "Japanese" msgstr "Japonês" -#: netbox/netbox/settings.py:729 +#: netbox/netbox/settings.py:746 msgid "Portuguese" msgstr "Português" -#: netbox/netbox/settings.py:730 +#: netbox/netbox/settings.py:747 msgid "Russian" msgstr "Russo" -#: netbox/netbox/settings.py:731 +#: netbox/netbox/settings.py:748 msgid "Turkish" msgstr "Turco" -#: netbox/netbox/settings.py:732 +#: netbox/netbox/settings.py:749 msgid "Ukrainian" msgstr "Ucraniano" -#: netbox/netbox/settings.py:733 +#: netbox/netbox/settings.py:750 msgid "Chinese" msgstr "Chinês" @@ -10911,7 +10916,7 @@ msgstr "Changelog" msgid "Journal" msgstr "Registro" -#: netbox/netbox/views/generic/object_views.py:106 +#: netbox/netbox/views/generic/object_views.py:108 #, python-brace-format msgid "{class_name} must implement get_children()" msgstr "{class_name} deve implementar get_children ()" @@ -11483,8 +11488,8 @@ msgstr "Filas em Segundo Plano" #: netbox/templates/core/rq_worker_list.html:45 #: netbox/templates/extras/script_result.html:49 #: netbox/templates/extras/script_result.html:51 -#: netbox/templates/inc/table_controls_htmx.html:28 -#: netbox/templates/inc/table_controls_htmx.html:31 +#: netbox/templates/inc/table_controls_htmx.html:30 +#: netbox/templates/inc/table_controls_htmx.html:33 msgid "Configure Table" msgstr "Configurar Tabela" @@ -11745,56 +11750,58 @@ msgstr "Etiqueta de Patrimônio" msgid "View Virtual Chassis" msgstr "Exibir Chassi Virtual" -#: netbox/templates/dcim/device.html:162 +#: netbox/templates/dcim/device.html:164 msgid "Create VDC" msgstr "Criar Contexto de Dispositivo Virtual" -#: netbox/templates/dcim/device.html:173 +#: netbox/templates/dcim/device.html:175 #: netbox/templates/dcim/device_edit.html:64 #: netbox/virtualization/forms/model_forms.py:223 msgid "Management" msgstr "Gestão" -#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209 +#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:227 #: netbox/templates/virtualization/virtualmachine.html:53 #: netbox/templates/virtualization/virtualmachine.html:69 msgid "NAT for" msgstr "NAT para" -#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 +#: netbox/templates/dcim/device.html:229 #: netbox/templates/virtualization/virtualmachine.html:55 #: netbox/templates/virtualization/virtualmachine.html:71 msgid "NAT" msgstr "NAT" -#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67 +#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67 msgid "Power Utilization" msgstr "Utilização de Energia" -#: netbox/templates/dcim/device.html:249 +#: netbox/templates/dcim/device.html:256 msgid "Input" msgstr "Entrada" -#: netbox/templates/dcim/device.html:250 +#: netbox/templates/dcim/device.html:257 msgid "Outlets" msgstr "Tomadas" -#: netbox/templates/dcim/device.html:251 +#: netbox/templates/dcim/device.html:258 msgid "Allocated" msgstr "Alocado" -#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263 -#: netbox/templates/dcim/device.html:279 +#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 +#: netbox/templates/dcim/device.html:286 #: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "VA" -#: netbox/templates/dcim/device.html:273 +#: netbox/templates/dcim/device.html:280 msgctxt "Leg of a power feed" msgid "Leg" msgstr "Ramal" -#: netbox/templates/dcim/device.html:299 +#: netbox/templates/dcim/device.html:306 #: netbox/templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "Adicionar um serviço" @@ -13172,7 +13179,7 @@ msgstr "Os dados não estão sincronizados com o arquivo de upstream" msgid "Quick search" msgstr "Busca rápida" -#: netbox/templates/inc/table_controls_htmx.html:19 +#: netbox/templates/inc/table_controls_htmx.html:20 msgid "Saved filter" msgstr "Filtro salvo" @@ -14253,7 +14260,11 @@ msgstr "" msgid "More than 50" msgstr "Mais que 50" -#: netbox/utilities/fields.py:157 +#: netbox/utilities/fields.py:30 +msgid "RGB color in hexadecimal. Example: " +msgstr "Cor RGB em hexadecimal. Exemplo:" + +#: netbox/utilities/fields.py:159 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " @@ -14262,7 +14273,7 @@ msgstr "" "%s(%r) é inválido. O parâmetro to_model para CounterCacheField deve ser uma " "string no formato 'app.model'" -#: netbox/utilities/fields.py:167 +#: netbox/utilities/fields.py:169 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " @@ -14571,6 +14582,14 @@ msgstr "Mover para Cima" msgid "Move Down" msgstr "Mover para Baixo" +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search…" +msgstr "Buscar..." + +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search NetBox" +msgstr "Buscar no Netbox" + #: netbox/utilities/templates/widgets/apiselect.html:7 msgid "Open selector" msgstr "Abrir seletor" @@ -14592,17 +14611,17 @@ msgstr "O teste deve definir csv_update_data." msgid "{value} is not a valid regular expression." msgstr "{value} não é uma expressão regular válida." -#: netbox/utilities/views.py:44 +#: netbox/utilities/views.py:45 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "{self.__class__.__name__} deve implementar get_required_permission ()" -#: netbox/utilities/views.py:80 +#: netbox/utilities/views.py:81 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "{class_name} deve implementar get_required_permission ()" -#: netbox/utilities/views.py:104 +#: netbox/utilities/views.py:105 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" @@ -14624,10 +14643,6 @@ msgstr "Grupo principal (slug)" msgid "Cluster type (ID)" msgstr "Tipo de cluster (ID)" -#: netbox/virtualization/filtersets.py:130 -msgid "Cluster group (ID)" -msgstr "Grupo de clusters (ID)" - #: netbox/virtualization/filtersets.py:151 #: netbox/virtualization/filtersets.py:267 msgid "Cluster (ID)" diff --git a/netbox/translations/ru/LC_MESSAGES/django.po b/netbox/translations/ru/LC_MESSAGES/django.po index 7a2918d18..c53f2236d 100644 --- a/netbox/translations/ru/LC_MESSAGES/django.po +++ b/netbox/translations/ru/LC_MESSAGES/django.po @@ -9,19 +9,19 @@ # nvoff, 2024 # Михаил Башкиров, 2024 # Сергей Стрельцов, 2024 -# Artem Kotik, 2024 # Ivan Petrov, 2024 # Madi Tuleu, 2024 # Jeremy Stretch, 2024 +# Artem Kotik, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-22 05:02+0000\n" +"POT-Creation-Date: 2024-07-09 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: Artem Kotik, 2024\n" "Language-Team: Russian (https://app.transifex.com/netbox-community/teams/178115/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -119,8 +119,8 @@ msgstr "Списан" #: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151 #: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297 #: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969 -#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832 -#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133 +#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843 +#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945 #: netbox/virtualization/filtersets.py:45 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377 @@ -131,8 +131,8 @@ msgstr "Регион (ID)" #: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157 #: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304 #: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976 -#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839 -#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140 +#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850 +#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151 #: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372 @@ -142,9 +142,9 @@ msgstr "Регион (подстрока)" #: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209 #: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224 #: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419 -#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318 -#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088 -#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352 +#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329 +#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099 +#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352 #: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" @@ -153,9 +153,9 @@ msgstr "Группа сайтов (ID)" #: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216 #: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231 #: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426 -#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325 -#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095 -#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467 +#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336 +#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106 +#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467 #: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965 #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 @@ -164,7 +164,7 @@ msgstr "Группа сайтов (подстрока)" #: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186 #: netbox/circuits/forms/bulk_edit.py:214 -#: netbox/circuits/forms/bulk_import.py:126 +#: netbox/circuits/forms/bulk_import.py:123 #: netbox/circuits/forms/filtersets.py:49 #: netbox/circuits/forms/filtersets.py:169 #: netbox/circuits/forms/filtersets.py:207 @@ -173,15 +173,15 @@ msgstr "Группа сайтов (подстрока)" #: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167 #: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575 #: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130 -#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257 -#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262 -#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85 -#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265 -#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682 -#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940 -#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068 -#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500 -#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136 +#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254 +#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250 +#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86 +#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266 +#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684 +#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952 +#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080 +#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512 +#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136 #: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206 #: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671 #: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150 @@ -280,8 +280,8 @@ msgstr "Тип канала связи (подстрока)" #: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266 #: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321 #: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993 -#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857 -#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158 +#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868 +#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387 @@ -294,7 +294,7 @@ msgstr "Прекращение действия A (ID)" #: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73 #: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693 -#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206 +#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217 #: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63 #: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127 #: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204 @@ -311,11 +311,12 @@ msgstr "Прекращение действия A (ID)" #: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92 #: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104 +#: netbox/utilities/templates/navigation/menu.html:16 msgid "Search" msgstr "Поиск" #: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170 -#: netbox/circuits/forms/bulk_import.py:117 +#: netbox/circuits/forms/bulk_import.py:114 #: netbox/circuits/forms/filtersets.py:196 #: netbox/circuits/forms/filtersets.py:212 #: netbox/circuits/forms/model_forms.py:109 @@ -336,9 +337,9 @@ msgstr "Сеть провайдера (ID)" #: netbox/circuits/forms/filtersets.py:54 #: netbox/circuits/forms/model_forms.py:27 #: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127 -#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122 +#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122 #: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 -#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210 +#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 #: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162 #: netbox/templates/circuits/provider.html:23 msgid "ASNs" @@ -476,7 +477,7 @@ msgstr "Описание" #: netbox/circuits/forms/bulk_edit.py:121 #: netbox/circuits/forms/bulk_import.py:35 #: netbox/circuits/forms/bulk_import.py:50 -#: netbox/circuits/forms/bulk_import.py:76 +#: netbox/circuits/forms/bulk_import.py:73 #: netbox/circuits/forms/filtersets.py:68 #: netbox/circuits/forms/filtersets.py:86 #: netbox/circuits/forms/filtersets.py:114 @@ -509,8 +510,8 @@ msgstr "Идентификатор Службы" #: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205 #: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702 #: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098 -#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983 -#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380 +#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995 +#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 #: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744 #: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245 #: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32 @@ -526,7 +527,7 @@ msgid "Color" msgstr "Цвет" #: netbox/circuits/forms/bulk_edit.py:116 -#: netbox/circuits/forms/bulk_import.py:89 +#: netbox/circuits/forms/bulk_import.py:86 #: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20 #: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282 @@ -534,17 +535,17 @@ msgstr "Цвет" #: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906 #: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971 #: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066 -#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214 -#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679 -#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725 -#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902 -#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161 -#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287 -#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973 -#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164 -#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208 -#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259 -#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375 +#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673 +#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719 +#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896 +#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152 +#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288 +#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985 +#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176 +#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220 +#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387 #: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652 #: netbox/dcim/forms/object_import.py:84 #: netbox/dcim/forms/object_import.py:113 @@ -583,14 +584,14 @@ msgid "Type" msgstr "Тип" #: netbox/circuits/forms/bulk_edit.py:126 -#: netbox/circuits/forms/bulk_import.py:82 +#: netbox/circuits/forms/bulk_import.py:79 #: netbox/circuits/forms/filtersets.py:137 #: netbox/circuits/forms/model_forms.py:96 msgid "Provider account" msgstr "Аккаунт провайдера" #: netbox/circuits/forms/bulk_edit.py:134 -#: netbox/circuits/forms/bulk_import.py:95 +#: netbox/circuits/forms/bulk_import.py:92 #: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35 #: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -599,13 +600,13 @@ msgstr "Аккаунт провайдера" #: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686 #: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594 #: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146 -#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450 -#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155 -#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386 -#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230 -#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728 -#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877 -#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089 +#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444 +#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374 +#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231 +#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730 +#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889 +#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101 #: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800 #: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66 @@ -623,7 +624,7 @@ msgstr "Аккаунт провайдера" #: netbox/templates/circuits/circuit.html:34 #: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30 #: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 -#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176 +#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 #: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66 #: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43 #: netbox/templates/dcim/site.html:43 @@ -659,20 +660,20 @@ msgid "Status" msgstr "Статус" #: netbox/circuits/forms/bulk_edit.py:140 -#: netbox/circuits/forms/bulk_import.py:100 +#: netbox/circuits/forms/bulk_import.py:97 #: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121 #: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256 #: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588 #: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599 #: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151 -#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282 -#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167 -#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166 -#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249 -#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355 -#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835 -#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927 -#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88 +#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167 +#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 +#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356 +#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847 +#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939 +#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88 #: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332 #: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41 #: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110 @@ -725,7 +726,7 @@ msgstr "Статус" #: netbox/wireless/forms/filtersets.py:35 #: netbox/wireless/forms/filtersets.py:75 msgid "Tenant" -msgstr "Арендатор " +msgstr "Арендатор" #: netbox/circuits/forms/bulk_edit.py:145 #: netbox/circuits/forms/filtersets.py:172 @@ -811,29 +812,22 @@ msgstr "Сведения об увольнении" #: netbox/circuits/forms/bulk_import.py:38 #: netbox/circuits/forms/bulk_import.py:53 -#: netbox/circuits/forms/bulk_import.py:79 +#: netbox/circuits/forms/bulk_import.py:76 msgid "Assigned provider" msgstr "Назначенный провайдер" -#: netbox/circuits/forms/bulk_import.py:70 -#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388 -#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187 -#: netbox/extras/forms/bulk_import.py:232 -msgid "RGB color in hexadecimal. Example:" -msgstr "Цвет RGB в шестнадцатеричном формате. Пример:" - -#: netbox/circuits/forms/bulk_import.py:85 +#: netbox/circuits/forms/bulk_import.py:82 msgid "Assigned provider account" msgstr "Назначенный аккаунт провайдера" -#: netbox/circuits/forms/bulk_import.py:92 +#: netbox/circuits/forms/bulk_import.py:89 msgid "Type of circuit" msgstr "Тип канала связи" -#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89 -#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204 -#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606 -#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193 +#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201 +#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600 +#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193 #: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294 #: netbox/ipam/forms/bulk_import.py:460 #: netbox/virtualization/forms/bulk_import.py:56 @@ -842,11 +836,11 @@ msgstr "Тип канала связи" msgid "Operational status" msgstr "Операционный статус" -#: netbox/circuits/forms/bulk_import.py:104 +#: netbox/circuits/forms/bulk_import.py:101 #: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155 -#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428 -#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319 -#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41 +#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422 +#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307 +#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41 #: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98 #: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138 #: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253 @@ -856,9 +850,9 @@ msgstr "Операционный статус" #: netbox/vpn/forms/bulk_import.py:63 netbox/wireless/forms/bulk_import.py:59 #: netbox/wireless/forms/bulk_import.py:101 msgid "Assigned tenant" -msgstr "Назначенный тенант" +msgstr "Назначенный арендатор" -#: netbox/circuits/forms/bulk_import.py:122 +#: netbox/circuits/forms/bulk_import.py:119 #: netbox/templates/circuits/inc/circuit_termination.html:6 #: netbox/templates/circuits/inc/circuit_termination_fields.html:15 #: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 @@ -866,7 +860,7 @@ msgstr "Назначенный тенант" msgid "Termination" msgstr "Прекращение" -#: netbox/circuits/forms/bulk_import.py:132 +#: netbox/circuits/forms/bulk_import.py:129 #: netbox/circuits/forms/filtersets.py:145 #: netbox/circuits/forms/filtersets.py:225 #: netbox/circuits/forms/model_forms.py:142 @@ -878,20 +872,20 @@ msgstr "Сеть провайдера" #: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248 #: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580 #: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780 -#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263 -#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268 -#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93 -#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279 -#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382 -#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691 -#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925 -#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009 -#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048 -#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181 -#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220 -#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348 -#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391 -#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420 +#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256 +#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94 +#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280 +#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693 +#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937 +#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021 +#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193 +#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232 +#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360 +#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403 +#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432 #: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211 #: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676 #: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30 @@ -914,14 +908,14 @@ msgid "Location" msgstr "Локация" #: netbox/circuits/forms/filtersets.py:30 -#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137 -#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167 -#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 -#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406 -#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010 +#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138 +#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168 +#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251 +#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407 +#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022 #: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46 #: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 -#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18 +#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19 #: netbox/virtualization/forms/filtersets.py:37 #: netbox/virtualization/forms/filtersets.py:48 #: netbox/virtualization/forms/filtersets.py:106 @@ -931,13 +925,13 @@ msgstr "Контакты" #: netbox/circuits/forms/filtersets.py:35 #: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111 #: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755 -#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71 -#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204 -#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360 -#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902 -#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016 -#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468 -#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516 +#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72 +#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205 +#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361 +#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914 +#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028 +#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480 +#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528 #: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375 #: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85 #: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206 @@ -958,11 +952,11 @@ msgstr "Регион" #: netbox/circuits/forms/filtersets.py:40 #: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231 -#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76 -#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209 -#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365 -#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907 -#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77 +#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210 +#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366 +#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919 +#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072 #: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472 #: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445 #: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222 @@ -979,14 +973,14 @@ msgstr "Группа сайтов" #: netbox/circuits/forms/filtersets.py:81 #: netbox/circuits/forms/filtersets.py:100 #: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64 -#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165 -#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834 -#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050 -#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180 -#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219 -#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347 -#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390 -#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418 +#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166 +#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846 +#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062 +#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192 +#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231 +#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359 +#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402 +#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430 #: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112 #: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183 #: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230 @@ -1122,7 +1116,7 @@ msgstr "ID патч-панели и номера порта(-ов)" #: netbox/dcim/models/device_component_templates.py:61 #: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 -#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60 +#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60 #: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424 #: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32 #: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109 @@ -1165,7 +1159,7 @@ msgstr "" #: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 -#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90 +#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91 #: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181 #: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420 #: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624 @@ -1238,7 +1232,7 @@ msgstr "сети провайдера" #: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16 #: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13 #: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 -#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43 +#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43 #: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89 #: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286 #: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421 @@ -1550,7 +1544,7 @@ msgstr "Источник данных (имя)" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020 -#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276 +#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288 #: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221 #: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162 #: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120 @@ -1653,7 +1647,7 @@ msgid "Completed before" msgstr "Завершено до" #: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361 -#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397 +#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465 #: netbox/extras/forms/filtersets.py:505 #: netbox/templates/dcim/rackreservation.html:58 @@ -1736,7 +1730,7 @@ msgstr "Валидация" msgid "User Preferences" msgstr "Пользовательские настройки" -#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661 +#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663 #: netbox/templates/core/inc/config_data.html:127 #: netbox/users/forms/model_forms.py:65 msgid "Miscellaneous" @@ -1811,7 +1805,7 @@ msgstr "Ревизия конфигурации #{id}" #: netbox/dcim/models/device_components.py:971 #: netbox/dcim/models/device_components.py:1045 #: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128 -#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41 +#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 msgid "type" msgstr "тип" @@ -2181,7 +2175,7 @@ msgstr "{n} дюймов" msgid "Reserved" msgstr "Зарезервировано" -#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 msgid "Available" msgstr "Доступно" @@ -2203,8 +2197,8 @@ msgstr "Дюймы" #: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172 #: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59 #: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136 -#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778 -#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227 +#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772 +#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228 #: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92 #: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010 #: netbox/dcim/forms/model_forms.py:1449 @@ -2238,14 +2232,14 @@ msgstr "Родитель" msgid "Child" msgstr "Потомок" -#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332 +#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339 #: netbox/templates/dcim/rack.html:175 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Вид спереди" -#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338 +#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345 #: netbox/templates/dcim/rack.html:181 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 @@ -2329,7 +2323,7 @@ msgid "Virtual" msgstr "Виртуальный" #: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051 -#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239 +#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251 #: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344 #: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131 #: netbox/templates/dcim/interface.html:210 @@ -2341,7 +2335,7 @@ msgid "Virtual interfaces" msgstr "Виртуальные интерфейсы" #: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303 -#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922 +#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922 #: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106 #: netbox/templates/virtualization/vminterface.html:43 #: netbox/virtualization/forms/bulk_edit.py:212 @@ -2370,9 +2364,9 @@ msgstr "Ethernet (объединительная плата)" msgid "Cellular" msgstr "Сотовая связь" -#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303 -#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882 -#: netbox/dcim/forms/filtersets.py:1434 +#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304 +#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894 +#: netbox/dcim/forms/filtersets.py:1446 #: netbox/templates/dcim/inventoryitem.html:52 #: netbox/templates/dcim/virtualchassis_edit.html:54 msgid "Serial" @@ -2445,7 +2439,7 @@ msgstr "Оптоволоконное" msgid "Fiber" msgstr "Волокно" -#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146 +#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158 msgid "Connected" msgstr "Подключено" @@ -2469,7 +2463,7 @@ msgstr "Мили" msgid "Feet" msgstr "Футы" -#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320 +#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:152 msgid "Kilograms" msgstr "Килограммы" @@ -2551,25 +2545,25 @@ msgstr "Местонахождение родителя (пуля)" #: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333 #: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005 -#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111 +#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122 msgid "Location (ID)" msgstr "Локация (ID)" #: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340 -#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358 #: netbox/extras/filtersets.py:494 msgid "Location (slug)" msgstr "Локация (подстрока)" #: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840 -#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779 +#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790 #: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 #: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "Роль (ID)" #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846 -#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785 +#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796 #: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387 #: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995 #: netbox/virtualization/filtersets.py:216 @@ -2577,7 +2571,7 @@ msgid "Role (slug)" msgstr "Роль (подстрока)" #: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010 -#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173 +#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184 msgid "Rack (ID)" msgstr "Стойка (ID)" @@ -2595,15 +2589,15 @@ msgstr "Пользователь (имя)" #: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620 #: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881 -#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243 -#: netbox/dcim/filtersets.py:1769 +#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:1780 msgid "Manufacturer (ID)" msgstr "Производитель (ID)" #: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626 #: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887 -#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249 -#: netbox/dcim/filtersets.py:1775 +#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1786 msgid "Manufacturer (slug)" msgstr "Производитель (подстрока)" @@ -2615,83 +2609,83 @@ msgstr "Платформа по умолчанию (ID)" msgid "Default platform (slug)" msgstr "Платформа по умолчанию (подстрока)" -#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452 +#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453 msgid "Has a front image" msgstr "Имеет фронтальное изображение" -#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459 +#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460 msgid "Has a rear image" msgstr "Имеет изображение сзади" #: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630 -#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466 -#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777 +#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467 +#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779 msgid "Has console ports" msgstr "Имеет консольные порты" #: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634 -#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473 -#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784 +#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474 +#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786 msgid "Has console server ports" msgstr "Имеет серверные консольные порты" #: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638 -#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480 -#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791 +#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481 +#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793 msgid "Has power ports" msgstr "Имеет порты питания" #: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642 -#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487 -#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798 +#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488 +#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800 msgid "Has power outlets" msgstr "Имеет розетки" #: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646 -#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494 -#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805 +#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495 +#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807 msgid "Has interfaces" msgstr "Имеет интерфейсы" #: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650 -#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501 -#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812 +#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502 +#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814 msgid "Has pass-through ports" msgstr "Имеет сквозные порты" -#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092 -#: netbox/dcim/forms/filtersets.py:515 +#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103 +#: netbox/dcim/forms/filtersets.py:516 msgid "Has module bays" msgstr "Имеет отсеки для модулей" -#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096 -#: netbox/dcim/forms/filtersets.py:508 +#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107 +#: netbox/dcim/forms/filtersets.py:509 msgid "Has device bays" msgstr "Имеет отсеки для устройств" -#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522 +#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523 msgid "Has inventory items" msgstr "Имеет инвентарь" #: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937 -#: netbox/dcim/filtersets.py:1373 +#: netbox/dcim/filtersets.py:1384 msgid "Device type (ID)" msgstr "Тип устройства (ID)" -#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265 msgid "Module type (ID)" msgstr "Тип модуля (ID)" -#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524 +#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535 msgid "Power port (ID)" msgstr "Порт питания (ID)" -#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765 +#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776 msgid "Parent inventory item (ID)" msgstr "Родительский инвентарь (ID)" #: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895 -#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238 +#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Шаблон конфигурации (ID)" @@ -2712,9 +2706,9 @@ msgstr "Платформа (ID)" msgid "Platform (slug)" msgstr "Платформа (подстрока)" -#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336 -#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105 -#: netbox/dcim/filtersets.py:2164 +#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116 +#: netbox/dcim/filtersets.py:2175 msgid "Site name (slug)" msgstr "Имя сайта (подстрока)" @@ -2726,16 +2720,25 @@ msgstr "Родительский ребенок (ID)" msgid "VM cluster (ID)" msgstr "Кластер виртуальных машин (ID)" -#: netbox/dcim/filtersets.py:1025 +#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543 +#: netbox/virtualization/filtersets.py:136 +msgid "Cluster group (slug)" +msgstr "Группа кластеров (подстрока)" + +#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130 +msgid "Cluster group (ID)" +msgstr "Кластерная группа (ID)" + +#: netbox/dcim/filtersets.py:1036 msgid "Device model (slug)" msgstr "Модель устройства (подстрока)" -#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423 +#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423 msgid "Is full depth" msgstr "Полная глубина" -#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18 -#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291 +#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18 +#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303 #: netbox/dcim/models/device_components.py:519 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:297 @@ -2744,88 +2747,88 @@ msgstr "Полная глубина" msgid "MAC address" msgstr "MAC-адрес" -#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211 -#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849 +#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222 +#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861 #: netbox/virtualization/filtersets.py:234 #: netbox/virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "Имеет основной IP-адрес" -#: netbox/dcim/filtersets.py:1051 +#: netbox/dcim/filtersets.py:1062 msgid "Has an out-of-band IP" msgstr "Имеет внеполосный IP-адрес" -#: netbox/dcim/filtersets.py:1056 +#: netbox/dcim/filtersets.py:1067 msgid "Virtual chassis (ID)" msgstr "Виртуальное шасси (ID)" -#: netbox/dcim/filtersets.py:1060 +#: netbox/dcim/filtersets.py:1071 msgid "Is a virtual chassis member" msgstr "Является членом виртуального шасси" -#: netbox/dcim/filtersets.py:1101 +#: netbox/dcim/filtersets.py:1112 msgid "OOB IP (ID)" msgstr "Сервисный порт (ID)" -#: netbox/dcim/filtersets.py:1105 +#: netbox/dcim/filtersets.py:1116 msgid "Has virtual device context" msgstr "Имеет контекст виртуального устройства" -#: netbox/dcim/filtersets.py:1194 +#: netbox/dcim/filtersets.py:1205 msgid "VDC (ID)" msgstr "VDC (ИДЕНТИФИКАТОР)" -#: netbox/dcim/filtersets.py:1199 +#: netbox/dcim/filtersets.py:1210 msgid "Device model" msgstr "модель устройства" -#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632 +#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420 msgid "Interface (ID)" msgstr "Интерфейс (ID)" -#: netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1271 msgid "Module type (model)" msgstr "Тип модуля (модель)" -#: netbox/dcim/filtersets.py:1266 +#: netbox/dcim/filtersets.py:1277 msgid "Module Bay (ID)" msgstr "Отсек для модулей (ID)" -#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362 +#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 #: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161 #: netbox/vpn/filtersets.py:398 msgid "Device (ID)" msgstr "Устройство (ID)" -#: netbox/dcim/filtersets.py:1358 +#: netbox/dcim/filtersets.py:1369 msgid "Rack (name)" msgstr "Стойка (название)" -#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606 +#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606 #: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081 #: netbox/vpn/filtersets.py:393 msgid "Device (name)" msgstr "Устройство (имя)" -#: netbox/dcim/filtersets.py:1379 +#: netbox/dcim/filtersets.py:1390 msgid "Device type (model)" msgstr "Тип устройства (модель)" -#: netbox/dcim/filtersets.py:1384 +#: netbox/dcim/filtersets.py:1395 msgid "Device role (ID)" msgstr "Роль устройства (ID)" -#: netbox/dcim/filtersets.py:1390 +#: netbox/dcim/filtersets.py:1401 msgid "Device role (slug)" msgstr "Роль устройства (подстрока)" -#: netbox/dcim/filtersets.py:1395 +#: netbox/dcim/filtersets.py:1406 msgid "Virtual Chassis (ID)" msgstr "Виртуальное шасси (ID)" -#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107 +#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108 #: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66 #: netbox/templates/dcim/device.html:120 #: netbox/templates/dcim/device_edit.html:93 @@ -2835,25 +2838,25 @@ msgstr "Виртуальное шасси (ID)" msgid "Virtual Chassis" msgstr "Виртуальное шасси" -#: netbox/dcim/filtersets.py:1421 +#: netbox/dcim/filtersets.py:1432 msgid "Module (ID)" msgstr "Модуль (ID)" -#: netbox/dcim/filtersets.py:1428 +#: netbox/dcim/filtersets.py:1439 msgid "Cable (ID)" msgstr "Кабель (ID)" -#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188 +#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188 #: netbox/vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "Назначенная VLAN" -#: netbox/dcim/filtersets.py:1541 +#: netbox/dcim/filtersets.py:1552 msgid "Assigned VID" msgstr "Назначенный VID" -#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382 -#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334 +#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382 +#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346 #: netbox/dcim/forms/model_forms.py:1325 #: netbox/dcim/models/device_components.py:712 #: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316 @@ -2885,18 +2888,18 @@ msgstr "Назначенный VID" msgid "VRF" msgstr "VRF" -#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322 +#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322 #: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 #: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "VRF (КРАСНЫЙ)" -#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016 +#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016 #: netbox/vpn/filtersets.py:361 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" -#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339 +#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351 #: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022 #: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 @@ -2908,84 +2911,84 @@ msgstr "L2VPN (ID)" msgid "L2VPN" msgstr "L2VPN" -#: netbox/dcim/filtersets.py:1595 +#: netbox/dcim/filtersets.py:1606 msgid "Virtual Chassis Interfaces for Device" msgstr "Интерфейсы виртуального шасси для устройства" -#: netbox/dcim/filtersets.py:1600 +#: netbox/dcim/filtersets.py:1611 msgid "Virtual Chassis Interfaces for Device (ID)" msgstr "Интерфейсы виртуального шасси для устройства (ID)" -#: netbox/dcim/filtersets.py:1604 +#: netbox/dcim/filtersets.py:1615 msgid "Kind of interface" msgstr "Вид интерфейса" -#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289 +#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Родительский интерфейс (ID)" -#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294 +#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Мостовой интерфейс (ID)" -#: netbox/dcim/filtersets.py:1619 +#: netbox/dcim/filtersets.py:1630 msgid "LAG interface (ID)" msgstr "Интерфейс LAG (ID)" -#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658 -#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669 +#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Виртуальный контекст" -#: netbox/dcim/filtersets.py:1652 +#: netbox/dcim/filtersets.py:1663 msgid "Virtual Device Context (Identifier)" msgstr "Контекст виртуального устройства (идентификатор)" -#: netbox/dcim/filtersets.py:1663 +#: netbox/dcim/filtersets.py:1674 #: netbox/templates/wireless/wirelesslan.html:11 #: netbox/wireless/forms/model_forms.py:53 msgid "Wireless LAN" msgstr "Беспроводная сеть" -#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597 msgid "Wireless link" msgstr "Беспроводная связь" -#: netbox/dcim/filtersets.py:1737 +#: netbox/dcim/filtersets.py:1748 msgid "Installed module (ID)" msgstr "Установленный модуль (ID)" -#: netbox/dcim/filtersets.py:1748 +#: netbox/dcim/filtersets.py:1759 msgid "Installed device (ID)" msgstr "Установленное устройство (ID)" -#: netbox/dcim/filtersets.py:1754 +#: netbox/dcim/filtersets.py:1765 msgid "Installed device (name)" msgstr "Установленное устройство (имя)" -#: netbox/dcim/filtersets.py:1820 +#: netbox/dcim/filtersets.py:1831 msgid "Master (ID)" msgstr "Мастер (удостоверение личности)" -#: netbox/dcim/filtersets.py:1826 +#: netbox/dcim/filtersets.py:1837 msgid "Master (name)" msgstr "Мастер (имя)" -#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246 msgid "Tenant (ID)" -msgstr "Тенант (ID)" +msgstr "Арендатор (ID)" -#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570 +#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570 #: netbox/tenancy/filtersets.py:252 msgid "Tenant (slug)" -msgstr "Тенант (подстрока)" +msgstr "Арендатор (подстрока)" -#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996 +#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008 msgid "Unterminated" msgstr "Нерасторгнутый" -#: netbox/dcim/filtersets.py:2168 +#: netbox/dcim/filtersets.py:2179 msgid "Power panel (ID)" msgstr "Панель питания (ID)" @@ -3000,12 +3003,12 @@ msgstr "Панель питания (ID)" msgid "Tags" msgstr "Теги" -#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396 +#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408 #: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162 #: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242 -#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130 +#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:34 #: netbox/templates/dcim/virtualchassis.html:66 #: netbox/templates/dcim/virtualchassis_edit.html:55 @@ -3079,9 +3082,9 @@ msgid "Time zone" msgstr "Часовой пояс" #: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160 -#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207 -#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300 -#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426 +#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204 +#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301 +#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438 #: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018 #: netbox/dcim/forms/model_forms.py:1457 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166 @@ -3098,7 +3101,7 @@ msgstr "Часовой пояс" #: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257 #: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363 #: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230 -#: netbox/templates/dcim/device.html:180 +#: netbox/templates/dcim/device.html:182 #: netbox/templates/dcim/inc/panels/inventory_items.html:20 #: netbox/templates/dcim/interface.html:223 #: netbox/templates/dcim/inventoryitem.html:36 @@ -3130,14 +3133,14 @@ msgstr "Роль" msgid "Serial Number" msgstr "Серийный номер" -#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307 -#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886 -#: netbox/dcim/forms/filtersets.py:1438 +#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308 +#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898 +#: netbox/dcim/forms/filtersets.py:1450 msgid "Asset tag" msgstr "Инвентарный номер" -#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220 -#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86 +#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86 msgid "Width" msgstr "Ширина" @@ -3157,7 +3160,7 @@ msgstr "Наружная ширина" msgid "Outer depth" msgstr "Внешняя глубина" -#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225 +#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222 msgid "Outer unit" msgstr "Внешний блок" @@ -3168,18 +3171,18 @@ msgstr "Глубина крепления" #: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351 #: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459 #: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495 -#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358 -#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312 -#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423 -#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548 -#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232 +#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355 +#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313 +#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424 +#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549 +#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232 #: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103 #: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103 #: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108 #: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278 #: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134 #: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188 -#: netbox/templates/dcim/device.html:317 +#: netbox/templates/dcim/device.html:324 #: netbox/templates/dcim/devicetype.html:49 #: netbox/templates/dcim/moduletype.html:30 #: netbox/templates/extras/configcontext.html:17 @@ -3189,25 +3192,25 @@ msgstr "Глубина крепления" msgid "Weight" msgstr "Вес" -#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317 +#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318 msgid "Max weight" msgstr "Максимальный вес" #: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441 -#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231 -#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363 -#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533 -#: netbox/dcim/forms/filtersets.py:608 +#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534 +#: netbox/dcim/forms/filtersets.py:609 msgid "Weight unit" msgstr "Весовая единица" #: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808 -#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273 -#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309 -#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102 -#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354 -#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701 -#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086 +#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270 +#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297 +#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103 +#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355 +#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703 +#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098 #: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248 #: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703 #: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158 @@ -3224,9 +3227,9 @@ msgid "Rack" msgstr "Стойка" #: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628 -#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 -#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543 -#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861 +#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334 +#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544 +#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873 #: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" @@ -3235,12 +3238,12 @@ msgstr "Аппаратное обеспечение" #: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466 #: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554 #: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165 -#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319 -#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395 -#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027 -#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554 -#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711 -#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431 +#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316 +#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389 +#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021 +#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555 +#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713 +#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443 #: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293 #: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379 #: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462 @@ -3257,13 +3260,13 @@ msgstr "Аппаратное обеспечение" msgid "Manufacturer" msgstr "Производитель" -#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325 -#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297 +#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297 msgid "Default platform" msgstr "Платформа по умолчанию" #: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471 -#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557 +#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558 msgid "Part number" msgstr "Номер детали" @@ -3276,8 +3279,8 @@ msgid "Exclude from utilization" msgstr "Исключить из использования" #: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603 -#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446 -#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98 +#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447 +#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98 #: netbox/templates/dcim/devicetype.html:65 msgid "Airflow" msgstr "Воздушный поток" @@ -3302,11 +3305,11 @@ msgid "VM role" msgstr "Роль виртуальной машины" #: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535 -#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376 -#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402 -#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531 -#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619 -#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752 +#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373 +#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396 +#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525 +#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620 +#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754 #: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384 #: netbox/dcim/forms/model_forms.py:498 #: netbox/virtualization/forms/bulk_import.py:132 @@ -3317,21 +3320,21 @@ msgid "Config template" msgstr "Шаблон конфигурации" #: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959 -#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112 +#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113 #: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820 #: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499 msgid "Device type" msgstr "Тип устройства" -#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418 -#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452 +#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412 +#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452 msgid "Device role" msgstr "Роль устройства" -#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443 -#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394 +#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437 +#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394 #: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179 -#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184 +#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186 #: netbox/templates/dcim/platform.html:26 #: netbox/templates/virtualization/virtualmachine.html:27 #: netbox/virtualization/forms/bulk_edit.py:160 @@ -3344,21 +3347,21 @@ msgstr "Платформа" #: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179 #: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589 -#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648 -#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700 -#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773 -#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939 -#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968 -#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373 -#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129 -#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970 -#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182 -#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221 -#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349 -#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 -#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421 -#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508 -#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576 +#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642 +#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694 +#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767 +#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933 +#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962 +#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361 +#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130 +#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982 +#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194 +#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233 +#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361 +#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404 +#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433 +#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520 +#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576 #: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156 #: netbox/dcim/forms/model_forms.py:1611 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 @@ -3376,7 +3379,7 @@ msgstr "Платформа" #: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176 #: netbox/templates/dcim/consoleport.html:20 #: netbox/templates/dcim/consoleserverport.html:20 -#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129 +#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 #: netbox/templates/dcim/device_edit.html:10 #: netbox/templates/dcim/devicebay.html:20 #: netbox/templates/dcim/devicebay.html:48 @@ -3416,7 +3419,7 @@ msgstr "Устройство" msgid "Configuration" msgstr "Конфигурация" -#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598 +#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592 #: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845 msgid "Module type" msgstr "Тип модуля" @@ -3426,7 +3429,7 @@ msgstr "Тип модуля" #: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010 #: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088 #: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133 -#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65 +#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66 #: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 #: netbox/templates/dcim/consoleport.html:32 #: netbox/templates/dcim/consoleserverport.html:32 @@ -3444,13 +3447,13 @@ msgstr "Тип модуля" msgid "Label" msgstr "Этикетка" -#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987 +#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999 #: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "Длина" -#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174 -#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991 +#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165 +#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003 msgid "Length unit" msgstr "Единица длины" @@ -3459,34 +3462,34 @@ msgstr "Единица длины" msgid "Domain" msgstr "Домен" -#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296 -#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698 +#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284 +#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698 msgid "Power panel" msgstr "Панель питания" -#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332 -#: netbox/dcim/forms/filtersets.py:1099 +#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320 +#: netbox/dcim/forms/filtersets.py:1111 #: netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "Снабжение" -#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337 -#: netbox/dcim/forms/filtersets.py:1104 +#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325 +#: netbox/dcim/forms/filtersets.py:1116 #: netbox/templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "Фаза" -#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109 +#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121 #: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "Напряжение" -#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113 +#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125 #: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "Сила тока" -#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117 +#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129 msgid "Max utilization" msgstr "Максимальное использование" @@ -3510,13 +3513,13 @@ msgstr "Выделенная мощность" msgid "Allocated power draw (watts)" msgstr "Распределенная потребляемая мощность (Вт)" -#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731 +#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725 #: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226 #: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Порт питания" -#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738 +#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732 msgid "Feed leg" msgstr "Фаза электропитания" @@ -3525,7 +3528,7 @@ msgid "Management only" msgstr "Только управление" #: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339 -#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300 +#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312 #: netbox/dcim/forms/object_import.py:90 #: netbox/dcim/models/device_component_templates.py:411 #: netbox/dcim/models/device_components.py:671 @@ -3533,14 +3536,14 @@ msgid "PoE mode" msgstr "Режим PoE" #: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345 -#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305 +#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317 #: netbox/dcim/forms/object_import.py:95 #: netbox/dcim/models/device_component_templates.py:417 #: netbox/dcim/models/device_components.py:677 msgid "PoE type" msgstr "Тип PoE" -#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310 +#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322 #: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "Роль беспроводной связи" @@ -3568,9 +3571,9 @@ msgstr "LAG" msgid "Virtual device contexts" msgstr "Виртуальные контексты" -#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659 -#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169 -#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264 +#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181 +#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276 #: netbox/dcim/tables/devices.py:594 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 @@ -3578,7 +3581,7 @@ msgstr "Виртуальные контексты" msgid "Speed" msgstr "Скорость" -#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830 +#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824 #: netbox/templates/vpn/ikepolicy.html:25 #: netbox/templates/vpn/ipsecprofile.html:21 #: netbox/templates/vpn/ipsecprofile.html:48 @@ -3624,7 +3627,7 @@ msgstr "Беспроводная группа LAN" msgid "Wireless LANs" msgstr "Беспроводные LANs" -#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237 +#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249 #: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271 #: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 @@ -3633,13 +3636,13 @@ msgstr "Беспроводные LANs" msgid "Addressing" msgstr "Адресация" -#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650 +#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651 #: netbox/dcim/forms/model_forms.py:1338 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Операция" -#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238 +#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250 #: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340 msgid "PoE" msgstr "PoE" @@ -3687,8 +3690,8 @@ msgstr "Назначенная группа" msgid "available options" msgstr "доступные опции" -#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488 -#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174 +#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482 +#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174 #: netbox/ipam/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:63 #: netbox/virtualization/forms/bulk_import.py:89 @@ -3703,105 +3706,106 @@ msgstr "Родительское место" msgid "Location not found." msgstr "Локация не найдена." -#: netbox/dcim/forms/bulk_import.py:199 +#: netbox/dcim/forms/bulk_import.py:196 msgid "Name of assigned tenant" -msgstr "Имя назначенного тенанта" +msgstr "Имя назначенного арендатора" -#: netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:208 msgid "Name of assigned role" msgstr "Название назначенной роли" -#: netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/bulk_import.py:214 msgid "Rack type" msgstr "Тип стойки" -#: netbox/dcim/forms/bulk_import.py:222 +#: netbox/dcim/forms/bulk_import.py:219 msgid "Rail-to-rail width (in inches)" msgstr "Ширина от рельса до рельса (в дюймах)" -#: netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:225 msgid "Unit for outer dimensions" msgstr "Единица измерения внешних размеров" -#: netbox/dcim/forms/bulk_import.py:234 +#: netbox/dcim/forms/bulk_import.py:231 msgid "Unit for rack weights" msgstr "Единица измерения веса стойки" -#: netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:257 msgid "Parent site" msgstr "Родительское место" -#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306 +#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294 msgid "Rack's location (if any)" msgstr "Локация стойки (если есть)" -#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253 +#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253 #: netbox/dcim/tables/racks.py:153 #: netbox/templates/dcim/rackreservation.html:12 #: netbox/templates/dcim/rackreservation.html:45 msgid "Units" msgstr "Единицы" -#: netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:276 msgid "Comma-separated list of individual unit numbers" msgstr "Список отдельных номеров объектов, разделенных запятыми" -#: netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/bulk_import.py:319 msgid "The manufacturer which produces this device type" msgstr "Производитель, выпускающий этот тип устройства" -#: netbox/dcim/forms/bulk_import.py:329 +#: netbox/dcim/forms/bulk_import.py:326 msgid "The default platform for devices of this type (optional)" msgstr "Платформа по умолчанию для устройств этого типа (опционально)" -#: netbox/dcim/forms/bulk_import.py:334 +#: netbox/dcim/forms/bulk_import.py:331 msgid "Device weight" msgstr "Вес устройства" -#: netbox/dcim/forms/bulk_import.py:340 +#: netbox/dcim/forms/bulk_import.py:337 msgid "Unit for device weight" msgstr "Единица измерения веса устройства" -#: netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/bulk_import.py:357 msgid "Module weight" msgstr "Вес модуля" -#: netbox/dcim/forms/bulk_import.py:366 +#: netbox/dcim/forms/bulk_import.py:363 msgid "Unit for module weight" msgstr "Единица измерения веса модуля" -#: netbox/dcim/forms/bulk_import.py:399 +#: netbox/dcim/forms/bulk_import.py:393 msgid "Limit platform assignments to this manufacturer" msgstr "Ограничьте назначение платформ этому производителю" -#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376 +#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364 #: netbox/tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Назначенная роль" -#: netbox/dcim/forms/bulk_import.py:434 +#: netbox/dcim/forms/bulk_import.py:428 msgid "Device type manufacturer" msgstr "Производитель типа устройства" -#: netbox/dcim/forms/bulk_import.py:440 +#: netbox/dcim/forms/bulk_import.py:434 msgid "Device type model" msgstr "Модель типа устройства" -#: netbox/dcim/forms/bulk_import.py:447 +#: netbox/dcim/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Назначенная платформа" -#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459 +#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453 #: netbox/dcim/forms/model_forms.py:479 msgid "Virtual chassis" msgstr "Виртуальное шасси" -#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465 +#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659 +#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465 #: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548 #: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479 #: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459 -#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232 +#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239 #: netbox/templates/virtualization/cluster.html:10 #: netbox/templates/virtualization/virtualmachine.html:88 #: netbox/templates/virtualization/virtualmachine.html:97 @@ -3818,65 +3822,65 @@ msgstr "Виртуальное шасси" msgid "Cluster" msgstr "Кластер" -#: netbox/dcim/forms/bulk_import.py:466 +#: netbox/dcim/forms/bulk_import.py:460 msgid "Virtualization cluster" msgstr "Кластер виртуализации" -#: netbox/dcim/forms/bulk_import.py:495 +#: netbox/dcim/forms/bulk_import.py:489 msgid "Assigned location (if any)" msgstr "Назначенная локация (если есть)" -#: netbox/dcim/forms/bulk_import.py:502 +#: netbox/dcim/forms/bulk_import.py:496 msgid "Assigned rack (if any)" msgstr "Назначенная стойка (если есть)" -#: netbox/dcim/forms/bulk_import.py:505 +#: netbox/dcim/forms/bulk_import.py:499 msgid "Face" msgstr "Лицевая сторона" -#: netbox/dcim/forms/bulk_import.py:508 +#: netbox/dcim/forms/bulk_import.py:502 msgid "Mounted rack face" msgstr "Сторона монтажа в стойке" -#: netbox/dcim/forms/bulk_import.py:515 +#: netbox/dcim/forms/bulk_import.py:509 msgid "Parent device (for child devices)" msgstr "Родительское устройство (для дочерних устройств)" -#: netbox/dcim/forms/bulk_import.py:518 +#: netbox/dcim/forms/bulk_import.py:512 msgid "Device bay" msgstr "Отсек для устройств" -#: netbox/dcim/forms/bulk_import.py:522 +#: netbox/dcim/forms/bulk_import.py:516 msgid "Device bay in which this device is installed (for child devices)" msgstr "" "Отсек для устройств, в котором установлено данное устройство (для детских " "устройств)" -#: netbox/dcim/forms/bulk_import.py:528 +#: netbox/dcim/forms/bulk_import.py:522 msgid "Airflow direction" msgstr "Направление воздушного потока" -#: netbox/dcim/forms/bulk_import.py:589 +#: netbox/dcim/forms/bulk_import.py:583 msgid "The device in which this module is installed" msgstr "Устройство, в котором установлен данный модуль" -#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583 +#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583 msgid "Module bay" msgstr "Отсек для модулей" -#: netbox/dcim/forms/bulk_import.py:595 +#: netbox/dcim/forms/bulk_import.py:589 msgid "The module bay in which this module is installed" msgstr "Отсек для модулей, в котором установлен данный модуль" -#: netbox/dcim/forms/bulk_import.py:601 +#: netbox/dcim/forms/bulk_import.py:595 msgid "The type of module" msgstr "Тип модуля" -#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599 +#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599 msgid "Replicate components" msgstr "Репликация компонентов" -#: netbox/dcim/forms/bulk_import.py:611 +#: netbox/dcim/forms/bulk_import.py:605 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3884,85 +3888,85 @@ msgstr "" "Автоматическое заполнение компонентов, связанных с этим типом модуля " "(включено по умолчанию)" -#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605 +#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605 msgid "Adopt components" msgstr "Принять компоненты" -#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608 +#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608 msgid "Adopt already existing components" msgstr "Используйте уже существующие компоненты" -#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682 -#: netbox/dcim/forms/bulk_import.py:708 +#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676 +#: netbox/dcim/forms/bulk_import.py:702 msgid "Port type" msgstr "Тип порта" -#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690 +#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684 msgid "Port speed in bps" msgstr "Скорость порта в бит/с" -#: netbox/dcim/forms/bulk_import.py:728 +#: netbox/dcim/forms/bulk_import.py:722 msgid "Outlet type" msgstr "Тип розетки" -#: netbox/dcim/forms/bulk_import.py:735 +#: netbox/dcim/forms/bulk_import.py:729 msgid "Local power port which feeds this outlet" msgstr "Локальный порт питания, питающий эту розетку" -#: netbox/dcim/forms/bulk_import.py:741 +#: netbox/dcim/forms/bulk_import.py:735 msgid "Electrical phase (for three-phase circuits)" msgstr "Электрическая фаза (для трехфазных цепей)" -#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264 +#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264 #: netbox/virtualization/forms/bulk_import.py:155 #: netbox/virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "Родительский интерфейс" -#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272 +#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272 #: netbox/virtualization/forms/bulk_import.py:162 #: netbox/virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "Мостовой интерфейс" -#: netbox/dcim/forms/bulk_import.py:792 +#: netbox/dcim/forms/bulk_import.py:786 msgid "Lag" msgstr "Lag" -#: netbox/dcim/forms/bulk_import.py:796 +#: netbox/dcim/forms/bulk_import.py:790 msgid "Parent LAG interface" msgstr "Родительский интерфейс LAG" -#: netbox/dcim/forms/bulk_import.py:799 +#: netbox/dcim/forms/bulk_import.py:793 msgid "Vdcs" msgstr "Виртуальные контексты устройств(VDCs)" -#: netbox/dcim/forms/bulk_import.py:804 +#: netbox/dcim/forms/bulk_import.py:798 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "Имена VDC разделены запятыми и заключены в двойные кавычки. Пример:" -#: netbox/dcim/forms/bulk_import.py:810 +#: netbox/dcim/forms/bulk_import.py:804 msgid "Physical medium" msgstr "Физическая среда" -#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283 msgid "Duplex" msgstr "Двухуровневый" -#: netbox/dcim/forms/bulk_import.py:818 +#: netbox/dcim/forms/bulk_import.py:812 msgid "Poe mode" msgstr "Режим Poe" -#: netbox/dcim/forms/bulk_import.py:824 +#: netbox/dcim/forms/bulk_import.py:818 msgid "Poe type" msgstr "Тип Poe" -#: netbox/dcim/forms/bulk_import.py:833 +#: netbox/dcim/forms/bulk_import.py:827 #: netbox/virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "Рабочий режим IEEE 802.1Q (для интерфейсов L2)" -#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160 +#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160 #: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282 #: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277 #: netbox/ipam/forms/filtersets.py:336 @@ -3970,150 +3974,150 @@ msgstr "Рабочий режим IEEE 802.1Q (для интерфейсов L2) msgid "Assigned VRF" msgstr "Назначенный VRF" -#: netbox/dcim/forms/bulk_import.py:843 +#: netbox/dcim/forms/bulk_import.py:837 msgid "Rf role" msgstr "Роль Rf" -#: netbox/dcim/forms/bulk_import.py:846 +#: netbox/dcim/forms/bulk_import.py:840 msgid "Wireless role (AP/station)" msgstr "Роль беспроводной сети (точка доступа/станция)" -#: netbox/dcim/forms/bulk_import.py:882 +#: netbox/dcim/forms/bulk_import.py:876 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" msgstr "В ПОСТОЯННОГО ТОКА {vdc} не присвоено устройству {device}" -#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948 +#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948 #: netbox/dcim/forms/model_forms.py:1522 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Задний порт" -#: netbox/dcim/forms/bulk_import.py:899 +#: netbox/dcim/forms/bulk_import.py:893 msgid "Corresponding rear port" msgstr "Соответствующий задний порт" -#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945 -#: netbox/dcim/forms/bulk_import.py:1164 +#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939 +#: netbox/dcim/forms/bulk_import.py:1155 msgid "Physical medium classification" msgstr "Классификация физических сред" -#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805 +#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805 msgid "Installed device" msgstr "Установленное устройство" -#: netbox/dcim/forms/bulk_import.py:977 +#: netbox/dcim/forms/bulk_import.py:971 msgid "Child device installed within this bay" msgstr "Дочернее устройство, установленное в этом отсеке" -#: netbox/dcim/forms/bulk_import.py:979 +#: netbox/dcim/forms/bulk_import.py:973 msgid "Child device not found." msgstr "Дочернее устройство не найдено." -#: netbox/dcim/forms/bulk_import.py:1037 +#: netbox/dcim/forms/bulk_import.py:1031 msgid "Parent inventory item" msgstr "Предмет родительского инвентаря" -#: netbox/dcim/forms/bulk_import.py:1040 +#: netbox/dcim/forms/bulk_import.py:1034 msgid "Component type" msgstr "Тип компонента" -#: netbox/dcim/forms/bulk_import.py:1044 +#: netbox/dcim/forms/bulk_import.py:1038 msgid "Component Type" msgstr "Тип компонента" -#: netbox/dcim/forms/bulk_import.py:1047 +#: netbox/dcim/forms/bulk_import.py:1041 msgid "Compnent name" msgstr "Имя компонента" -#: netbox/dcim/forms/bulk_import.py:1049 +#: netbox/dcim/forms/bulk_import.py:1043 msgid "Component Name" msgstr "Имя компонента" -#: netbox/dcim/forms/bulk_import.py:1091 +#: netbox/dcim/forms/bulk_import.py:1085 #, python-brace-format msgid "Component not found: {device} - {component_name}" msgstr "Компонент не найден: {device} - {component_name}" -#: netbox/dcim/forms/bulk_import.py:1119 +#: netbox/dcim/forms/bulk_import.py:1110 msgid "Side A device" msgstr "Устройство на стороне А" -#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140 +#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131 msgid "Device name" msgstr "Имя устройства" -#: netbox/dcim/forms/bulk_import.py:1125 +#: netbox/dcim/forms/bulk_import.py:1116 msgid "Side A type" msgstr "Сторона типа А" -#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137 msgid "Termination type" msgstr "Тип завершения" -#: netbox/dcim/forms/bulk_import.py:1131 +#: netbox/dcim/forms/bulk_import.py:1122 msgid "Side A name" msgstr "Название стороны А" -#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150 +#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141 msgid "Termination name" msgstr "Название завершения" -#: netbox/dcim/forms/bulk_import.py:1137 +#: netbox/dcim/forms/bulk_import.py:1128 msgid "Side B device" msgstr "Устройство на стороне B" -#: netbox/dcim/forms/bulk_import.py:1143 +#: netbox/dcim/forms/bulk_import.py:1134 msgid "Side B type" msgstr "Тип стороны B" -#: netbox/dcim/forms/bulk_import.py:1149 +#: netbox/dcim/forms/bulk_import.py:1140 msgid "Side B name" msgstr "Название стороны B" -#: netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1149 #: netbox/wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "Состояние подключения" -#: netbox/dcim/forms/bulk_import.py:1213 +#: netbox/dcim/forms/bulk_import.py:1201 #, python-brace-format msgid "Side {side_upper}: {device} {termination_object} is already connected" msgstr "Сторона {side_upper}: {device} {termination_object} уже подключен" -#: netbox/dcim/forms/bulk_import.py:1219 +#: netbox/dcim/forms/bulk_import.py:1207 #, python-brace-format msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} боковое завершение не найдено: {device} {name}" -#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733 -#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131 +#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733 +#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "Мастер" -#: netbox/dcim/forms/bulk_import.py:1248 +#: netbox/dcim/forms/bulk_import.py:1236 msgid "Master device" msgstr "Мастер-устройство" -#: netbox/dcim/forms/bulk_import.py:1265 +#: netbox/dcim/forms/bulk_import.py:1253 msgid "Name of parent site" msgstr "Название родительского сайта" -#: netbox/dcim/forms/bulk_import.py:1299 +#: netbox/dcim/forms/bulk_import.py:1287 msgid "Upstream power panel" msgstr "Панель питания в восходящем направлении" -#: netbox/dcim/forms/bulk_import.py:1329 +#: netbox/dcim/forms/bulk_import.py:1317 msgid "Primary or redundant" msgstr "Основное или резервное" -#: netbox/dcim/forms/bulk_import.py:1334 +#: netbox/dcim/forms/bulk_import.py:1322 msgid "Supply type (AC/DC)" msgstr "Тип питания (AC/DC)" -#: netbox/dcim/forms/bulk_import.py:1339 +#: netbox/dcim/forms/bulk_import.py:1327 msgid "Single or three-phase" msgstr "Однофазный или трехфазный" @@ -4172,11 +4176,11 @@ msgstr "Подача питания" msgid "Side" msgstr "Сторона" -#: netbox/dcim/forms/filtersets.py:142 +#: netbox/dcim/forms/filtersets.py:143 msgid "Parent region" msgstr "Родительский регион" -#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28 +#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28 #: netbox/tenancy/forms/bulk_import.py:62 #: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62 #: netbox/wireless/forms/bulk_import.py:25 @@ -4184,51 +4188,58 @@ msgstr "Родительский регион" msgid "Parent group" msgstr "Родительская группа" -#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332 +#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 msgid "Function" msgstr "Функция" -#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317 +#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317 #: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "Изображения" -#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546 -#: netbox/dcim/forms/filtersets.py:656 +#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547 +#: netbox/dcim/forms/filtersets.py:657 msgid "Components" msgstr "Компоненты" -#: netbox/dcim/forms/filtersets.py:441 +#: netbox/dcim/forms/filtersets.py:442 msgid "Subdevice role" msgstr "Роль подустройства" -#: netbox/dcim/forms/filtersets.py:719 +#: netbox/dcim/forms/filtersets.py:721 msgid "Model" msgstr "Модель" -#: netbox/dcim/forms/filtersets.py:763 +#: netbox/dcim/forms/filtersets.py:765 msgid "Has an OOB IP" msgstr "Имеет IP-адрес OOB" -#: netbox/dcim/forms/filtersets.py:770 +#: netbox/dcim/forms/filtersets.py:772 msgid "Virtual chassis member" msgstr "Элемент виртуального шасси" -#: netbox/dcim/forms/filtersets.py:819 +#: netbox/dcim/forms/filtersets.py:821 msgid "Has virtual device contexts" msgstr "Имеет контексты виртуальных устройств" -#: netbox/dcim/forms/filtersets.py:1129 +#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537 +#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464 +#: netbox/ipam/forms/model_forms.py:624 +#: netbox/virtualization/forms/filtersets.py:112 +msgid "Cluster group" +msgstr "Кластерная группа" + +#: netbox/dcim/forms/filtersets.py:1141 msgid "Cabled" msgstr "Кабельный" -#: netbox/dcim/forms/filtersets.py:1136 +#: netbox/dcim/forms/filtersets.py:1148 msgid "Occupied" msgstr "Занятый" -#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183 -#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222 -#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352 +#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195 +#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234 +#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352 #: netbox/templates/dcim/consoleport.html:55 #: netbox/templates/dcim/consoleserverport.html:55 #: netbox/templates/dcim/frontport.html:69 @@ -4240,42 +4251,42 @@ msgstr "Занятый" msgid "Connection" msgstr "Подключение" -#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316 -#: netbox/extras/forms/bulk_import.py:242 +#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316 +#: netbox/extras/forms/bulk_import.py:239 #: netbox/extras/forms/filtersets.py:473 #: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513 #: netbox/templates/extras/journalentry.html:30 msgid "Kind" msgstr "Вид" -#: netbox/dcim/forms/filtersets.py:1283 +#: netbox/dcim/forms/filtersets.py:1295 msgid "Mgmt only" msgstr "Только менеджмент" -#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330 +#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "Глобальное уникальное имя" -#: netbox/dcim/forms/filtersets.py:1315 +#: netbox/dcim/forms/filtersets.py:1327 msgid "Wireless channel" msgstr "Беспроводной канал" -#: netbox/dcim/forms/filtersets.py:1319 +#: netbox/dcim/forms/filtersets.py:1331 msgid "Channel frequency (MHz)" msgstr "Частота канала (МГц)" -#: netbox/dcim/forms/filtersets.py:1323 +#: netbox/dcim/forms/filtersets.py:1335 msgid "Channel width (MHz)" msgstr "Ширина канала (МГц)" -#: netbox/dcim/forms/filtersets.py:1327 +#: netbox/dcim/forms/filtersets.py:1339 #: netbox/templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "Мощность передачи (дБм)" -#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372 +#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384 #: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12 #: netbox/templates/dcim/cable_trace.html:46 #: netbox/templates/dcim/frontport.html:77 @@ -4286,7 +4297,7 @@ msgstr "Мощность передачи (дБм)" msgid "Cable" msgstr "Кабель" -#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915 +#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915 msgid "Discovered" msgstr "Обнаружено" @@ -4311,7 +4322,7 @@ msgstr "Управление запасами" msgid "Outer Dimensions" msgstr "Внешние размеры" -#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308 +#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315 #: netbox/templates/dcim/rack.html:73 msgid "Dimensions" msgstr "Габариты" @@ -4351,7 +4362,7 @@ msgstr "Устройство с наименьшим номером, заним msgid "The position in the virtual chassis this device is identified by" msgstr "Положение в виртуальном корпусе этого устройства определяется по" -#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132 +#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133 #: netbox/templates/dcim/virtualchassis.html:68 #: netbox/templates/dcim/virtualchassis_edit.html:56 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 @@ -4531,13 +4542,13 @@ msgstr "Комплектующие" msgid "Inventory Item Role" msgstr "Роли комплектующих" -#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188 +#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190 #: netbox/templates/dcim/virtualdevicecontext.html:30 #: netbox/templates/virtualization/virtualmachine.html:48 msgid "Primary IPv4" msgstr "Основной IPv4" -#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204 +#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206 #: netbox/templates/dcim/virtualdevicecontext.html:41 #: netbox/templates/virtualization/virtualmachine.html:64 msgid "Primary IPv6" @@ -4629,7 +4640,7 @@ msgstr "Должность должна быть указана для перв #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 #: netbox/dcim/models/device_components.py:63 -#: netbox/extras/models/customfields.py:109 +#: netbox/extras/models/customfields.py:110 msgid "label" msgstr " Метка" @@ -5756,7 +5767,7 @@ msgstr "идентификатор" msgid "Numeric identifier unique to the parent device" msgstr "Цифровой идентификатор, уникальный для родительского устройства" -#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210 +#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211 #: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722 #: netbox/netbox/models/__init__.py:114 msgid "comments" @@ -6112,43 +6123,43 @@ msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "" "Локация родителя ({parent}) должен принадлежать тому же сайту ({site})." -#: netbox/dcim/tables/cables.py:54 +#: netbox/dcim/tables/cables.py:55 msgid "Termination A" msgstr "Окончание A" -#: netbox/dcim/tables/cables.py:59 +#: netbox/dcim/tables/cables.py:60 msgid "Termination B" msgstr "Окончание В" -#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22 +#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22 msgid "Device A" msgstr "Устройство A" -#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31 +#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31 msgid "Device B" msgstr "Устройство B" -#: netbox/dcim/tables/cables.py:77 +#: netbox/dcim/tables/cables.py:78 msgid "Location A" msgstr "Локация A" -#: netbox/dcim/tables/cables.py:83 +#: netbox/dcim/tables/cables.py:84 msgid "Location B" msgstr "Локация B" -#: netbox/dcim/tables/cables.py:89 +#: netbox/dcim/tables/cables.py:90 msgid "Rack A" msgstr "Стойка A" -#: netbox/dcim/tables/cables.py:95 +#: netbox/dcim/tables/cables.py:96 msgid "Rack B" msgstr "Стойка B" -#: netbox/dcim/tables/cables.py:101 +#: netbox/dcim/tables/cables.py:102 msgid "Site A" msgstr "Сайт A" -#: netbox/dcim/tables/cables.py:107 +#: netbox/dcim/tables/cables.py:108 msgid "Site B" msgstr "Сайт B" @@ -6164,7 +6175,7 @@ msgstr "Доступен" #: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 #: netbox/virtualization/forms/model_forms.py:122 #: netbox/virtualization/tables/clusters.py:83 -#: netbox/virtualization/views.py:202 +#: netbox/virtualization/views.py:205 msgid "Devices" msgstr "Устройства" @@ -6245,8 +6256,8 @@ msgid "Power outlets" msgstr "Розетки питания" #: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046 -#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985 -#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988 +#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908 #: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237 #: netbox/templates/dcim/device/base.html:37 #: netbox/templates/dcim/device_list.html:43 @@ -6258,7 +6269,7 @@ msgstr "Розетки питания" #: netbox/templates/virtualization/virtualmachine/base.html:27 #: netbox/templates/virtualization/virtualmachine_list.html:14 #: netbox/virtualization/tables/virtualmachines.py:100 -#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55 +#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Интерфейсы" @@ -6284,8 +6295,8 @@ msgid "Module Bay" msgstr "Модульный отсек" #: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060 -#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063 +#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 #: netbox/templates/dcim/devicetype/base.html:49 @@ -6315,8 +6326,8 @@ msgid "Allocated draw (W)" msgstr "Выделенная мощность (Вт)" #: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747 -#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589 -#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145 +#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596 +#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145 #: netbox/netbox/navigation/menu.py:147 #: netbox/templates/dcim/interface.html:339 #: netbox/templates/ipam/ipaddress_bulk_add.html:15 @@ -6409,8 +6420,8 @@ msgstr "Высота U" msgid "Instances" msgstr "Инстансы" -#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925 -#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928 +#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844 #: netbox/netbox/navigation/menu.py:84 #: netbox/templates/dcim/device/base.html:25 #: netbox/templates/dcim/device_list.html:15 @@ -6420,8 +6431,8 @@ msgstr "Инстансы" msgid "Console Ports" msgstr "Порты консоли" -#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940 -#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943 +#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860 #: netbox/netbox/navigation/menu.py:85 #: netbox/templates/dcim/device/base.html:28 #: netbox/templates/dcim/device_list.html:22 @@ -6431,8 +6442,8 @@ msgstr "Порты консоли" msgid "Console Server Ports" msgstr "Порты консольного сервера" -#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955 -#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958 +#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876 #: netbox/netbox/navigation/menu.py:86 #: netbox/templates/dcim/device/base.html:31 #: netbox/templates/dcim/device_list.html:29 @@ -6442,8 +6453,8 @@ msgstr "Порты консольного сервера" msgid "Power Ports" msgstr "Порты питания" -#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970 -#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973 +#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892 #: netbox/netbox/navigation/menu.py:87 #: netbox/templates/dcim/device/base.html:34 #: netbox/templates/dcim/device_list.html:36 @@ -6453,8 +6464,8 @@ msgstr "Порты питания" msgid "Power Outlets" msgstr "Розетки питания" -#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000 -#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003 +#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930 #: netbox/netbox/navigation/menu.py:82 #: netbox/templates/dcim/device/base.html:40 #: netbox/templates/dcim/devicetype/base.html:37 @@ -6463,8 +6474,8 @@ msgstr "Розетки питания" msgid "Front Ports" msgstr "Передние порты" -#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015 -#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018 +#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946 #: netbox/netbox/navigation/menu.py:83 #: netbox/templates/dcim/device/base.html:43 #: netbox/templates/dcim/device_list.html:50 @@ -6474,16 +6485,16 @@ msgstr "Передние порты" msgid "Rear Ports" msgstr "Задние порты" -#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045 -#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048 +#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 #: netbox/templates/dcim/devicetype/base.html:46 msgid "Device Bays" msgstr "Отсеки для устройств" -#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030 -#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033 +#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88 #: netbox/templates/dcim/device/base.html:46 #: netbox/templates/dcim/device_list.html:64 #: netbox/templates/dcim/devicetype/base.html:43 @@ -6508,7 +6519,7 @@ msgstr "Доступная мощность (ВА)" msgid "Racks" msgstr "Стойки" -#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311 +#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318 #: netbox/templates/dcim/rack.html:90 msgid "Height" msgstr "Высота" @@ -6542,38 +6553,38 @@ msgid "Test case must set peer_termination_type" msgstr "" "В тестовом примере должно быть установлено значение peer_termination_type" -#: netbox/dcim/views.py:139 +#: netbox/dcim/views.py:140 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Отключен {count} {type}" -#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28 +#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28 msgid "Reservations" msgstr "Резервирование" -#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90 +#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90 #: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" msgstr "Устройства без стоек" -#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453 +#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453 #: netbox/templates/extras/configcontext.html:10 #: netbox/virtualization/forms/model_forms.py:225 -#: netbox/virtualization/views.py:399 +#: netbox/virtualization/views.py:404 msgid "Config Context" msgstr "Контекст конфигурации" -#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409 +#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414 msgid "Render Config" msgstr "Конфигурация рендера" -#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441 +#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441 #: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236 -#: netbox/virtualization/views.py:177 +#: netbox/virtualization/views.py:179 msgid "Virtual Machines" msgstr "Виртуальные машины" -#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233 +#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233 msgid "Children" msgstr "Потомки" @@ -6685,11 +6696,11 @@ msgstr "Самый старый" #: netbox/extras/choices.py:126 msgid "Alphabetical (A-Z)" -msgstr "" +msgstr "В алфавитном порядке (А-Я)" #: netbox/extras/choices.py:127 msgid "Alphabetical (Z-A)" -msgstr "" +msgstr "В обратном алфавитном порядке (Я-А)" #: netbox/extras/choices.py:143 netbox/templates/generic/object.html:61 msgid "Updated" @@ -6878,10 +6889,12 @@ msgstr "Набор правил должен быть словарем, а не #: netbox/extras/conditions.py:142 msgid "Invalid logic type: must be 'AND' or 'OR'. Please check documentation." msgstr "" +"Неверный тип логики: должен быть И или ИЛИ. Пожалуйста, проверьте " +"документацию." #: netbox/extras/conditions.py:154 msgid "Incorrect key(s) informed. Please check documentation." -msgstr "" +msgstr "Введены неверные ключ(и). Пожалуйста, проверьте документацию." #: netbox/extras/dashboard/forms.py:38 msgid "Widget type" @@ -7004,25 +7017,15 @@ msgstr "Тип кластера" msgid "Cluster type (slug)" msgstr "Тип кластера (подстрока)" -#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476 -#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624 -#: netbox/virtualization/forms/filtersets.py:112 -msgid "Cluster group" -msgstr "Кластерная группа" - -#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136 -msgid "Cluster group (slug)" -msgstr "Группа кластеров (подстрока)" - #: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16 #: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" -msgstr "Группа тенантов" +msgstr "Группы арендаторов" #: netbox/extras/filtersets.py:559 netbox/tenancy/filtersets.py:189 #: netbox/tenancy/filtersets.py:209 msgid "Tenant group (slug)" -msgstr "Группа тенантов (подстрока)" +msgstr "Группа арендаторов (подстрока)" #: netbox/extras/filtersets.py:575 netbox/extras/forms/model_forms.py:371 #: netbox/templates/extras/tag.html:11 @@ -7054,13 +7057,13 @@ msgstr "Требуется" #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57 #: netbox/extras/forms/filtersets.py:79 -#: netbox/extras/models/customfields.py:194 +#: netbox/extras/models/customfields.py:195 msgid "UI visible" msgstr "Видимый пользовательский интерфейс" #: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63 #: netbox/extras/forms/filtersets.py:84 -#: netbox/extras/models/customfields.py:201 +#: netbox/extras/models/customfields.py:202 msgid "UI editable" msgstr "Редактируемый UI" @@ -7242,11 +7245,11 @@ msgstr "Вебхук {name} не найден" msgid "Script {name} not found" msgstr "Сценарий {name} не найден" -#: netbox/extras/forms/bulk_import.py:239 +#: netbox/extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Назначенный тип объекта" -#: netbox/extras/forms/bulk_import.py:244 +#: netbox/extras/forms/bulk_import.py:241 msgid "The classification of entry" msgstr "Классификация записей" @@ -7371,7 +7374,7 @@ msgstr "Кластеры" #: netbox/extras/forms/filtersets.py:400 #: netbox/extras/forms/model_forms.py:433 msgid "Tenant groups" -msgstr "Группы тенантов" +msgstr "Группы арендаторов" #: netbox/extras/forms/filtersets.py:454 netbox/extras/forms/filtersets.py:489 msgid "After" @@ -7547,7 +7550,7 @@ msgstr "Выполнение заданий" #: netbox/extras/forms/model_forms.py:438 netbox/netbox/navigation/menu.py:39 #: netbox/tenancy/tables/tenants.py:22 msgid "Tenants" -msgstr "Тенанты" +msgstr "Арендаторы" #: netbox/extras/forms/model_forms.py:458 netbox/ipam/forms/filtersets.py:142 #: netbox/ipam/forms/filtersets.py:553 netbox/ipam/forms/model_forms.py:321 @@ -7707,34 +7710,34 @@ msgstr "шаблон конфигурации" msgid "config templates" msgstr "шаблоны конфигураций" -#: netbox/extras/models/customfields.py:73 +#: netbox/extras/models/customfields.py:74 msgid "The object(s) to which this field applies." msgstr "Объекты, к которым относится это поле." -#: netbox/extras/models/customfields.py:80 +#: netbox/extras/models/customfields.py:81 msgid "The type of data this custom field holds" msgstr "Тип данных, которые содержит это настраиваемое поле" -#: netbox/extras/models/customfields.py:87 +#: netbox/extras/models/customfields.py:88 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "" "Тип объекта NetBox, которому соответствует это поле (для полей объектов)" -#: netbox/extras/models/customfields.py:93 +#: netbox/extras/models/customfields.py:94 msgid "Internal field name" msgstr "Имя внутреннего поля" -#: netbox/extras/models/customfields.py:97 +#: netbox/extras/models/customfields.py:98 msgid "Only alphanumeric characters and underscores are allowed." msgstr "Допустимы только буквенно-цифровые символы и символы подчеркивания." -#: netbox/extras/models/customfields.py:102 +#: netbox/extras/models/customfields.py:103 msgid "Double underscores are not permitted in custom field names." msgstr "" "В именах настраиваемых полей недопустимо использовать два подчеркивания " "подряд (зарезервировано)." -#: netbox/extras/models/customfields.py:113 +#: netbox/extras/models/customfields.py:114 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" @@ -7742,19 +7745,19 @@ msgstr "" "Имя поля, отображаемое пользователям (если оно не указано, будет " "использовано имя поля)" -#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345 +#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345 msgid "group name" msgstr "имя группы" -#: netbox/extras/models/customfields.py:120 +#: netbox/extras/models/customfields.py:121 msgid "Custom fields within the same group will be displayed together" msgstr "Настраиваемые поля в одной группе будут отображаться вместе" -#: netbox/extras/models/customfields.py:128 +#: netbox/extras/models/customfields.py:129 msgid "required" msgstr "Требуется" -#: netbox/extras/models/customfields.py:130 +#: netbox/extras/models/customfields.py:131 msgid "" "If true, this field is required when creating new objects or editing an " "existing object." @@ -7762,11 +7765,11 @@ msgstr "" "Если это правда, это поле обязательно для создания новых объектов или " "редактирования существующего объекта." -#: netbox/extras/models/customfields.py:133 +#: netbox/extras/models/customfields.py:134 msgid "search weight" msgstr "вес поиска" -#: netbox/extras/models/customfields.py:136 +#: netbox/extras/models/customfields.py:137 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." @@ -7774,11 +7777,11 @@ msgstr "" "Взвешивание для поиска. Более низкие значения считаются более важными. Поля " "с нулевым весом поиска будут проигнорированы." -#: netbox/extras/models/customfields.py:141 +#: netbox/extras/models/customfields.py:142 msgid "filter logic" msgstr "логика фильтрации" -#: netbox/extras/models/customfields.py:145 +#: netbox/extras/models/customfields.py:146 msgid "" "Loose matches any instance of a given string; exact matches the entire " "field." @@ -7786,11 +7789,11 @@ msgstr "" "Loose соответствует любому экземпляру заданной строки; точно соответствует " "всему полю." -#: netbox/extras/models/customfields.py:148 +#: netbox/extras/models/customfields.py:149 msgid "default" msgstr "по умолчанию" -#: netbox/extras/models/customfields.py:152 +#: netbox/extras/models/customfields.py:153 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with" " double quotes (e.g. \"Foo\")." @@ -7798,35 +7801,35 @@ msgstr "" "Значение по умолчанию для поля (должно быть JSON-значением). Заключайте " "строки в двойные кавычки (например, «Foo»)." -#: netbox/extras/models/customfields.py:157 +#: netbox/extras/models/customfields.py:158 msgid "display weight" msgstr "вес дисплея" -#: netbox/extras/models/customfields.py:158 +#: netbox/extras/models/customfields.py:159 msgid "Fields with higher weights appear lower in a form." msgstr "Поля с большим весом отображаются в форме ниже." -#: netbox/extras/models/customfields.py:163 +#: netbox/extras/models/customfields.py:164 msgid "minimum value" msgstr "минимальное значение" -#: netbox/extras/models/customfields.py:164 +#: netbox/extras/models/customfields.py:165 msgid "Minimum allowed value (for numeric fields)" msgstr "Минимальное допустимое значение (для числовых полей)" -#: netbox/extras/models/customfields.py:169 +#: netbox/extras/models/customfields.py:170 msgid "maximum value" msgstr "максимальное значение" -#: netbox/extras/models/customfields.py:170 +#: netbox/extras/models/customfields.py:171 msgid "Maximum allowed value (for numeric fields)" msgstr "Максимально допустимое значение (для числовых полей)" -#: netbox/extras/models/customfields.py:176 +#: netbox/extras/models/customfields.py:177 msgid "validation regex" msgstr "регулярное выражение валидации" -#: netbox/extras/models/customfields.py:178 +#: netbox/extras/models/customfields.py:179 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -7837,179 +7840,179 @@ msgstr "" " ^ и $ для принудительного сопоставления всей строки. Например, ^ " "[A-Z]{3}$ ограничит значения ровно тремя заглавными буквами." -#: netbox/extras/models/customfields.py:186 +#: netbox/extras/models/customfields.py:187 msgid "choice set" msgstr "набор для выбора" -#: netbox/extras/models/customfields.py:195 +#: netbox/extras/models/customfields.py:196 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" "Указывает, отображается ли настраиваемое поле в пользовательском интерфейсе" -#: netbox/extras/models/customfields.py:202 +#: netbox/extras/models/customfields.py:203 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" "Указывает, можно ли редактировать значение настраиваемого поля в " "пользовательском интерфейсе" -#: netbox/extras/models/customfields.py:206 +#: netbox/extras/models/customfields.py:207 msgid "is cloneable" msgstr "клонируется" -#: netbox/extras/models/customfields.py:207 +#: netbox/extras/models/customfields.py:208 msgid "Replicate this value when cloning objects" msgstr "Реплицируйте это значение при клонировании объектов" -#: netbox/extras/models/customfields.py:224 +#: netbox/extras/models/customfields.py:225 msgid "custom field" msgstr "настраиваемое поле" -#: netbox/extras/models/customfields.py:225 +#: netbox/extras/models/customfields.py:226 msgid "custom fields" msgstr "настраиваемые поля" -#: netbox/extras/models/customfields.py:314 +#: netbox/extras/models/customfields.py:315 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "Неверное значение по умолчанию»{value}«: {error}" -#: netbox/extras/models/customfields.py:321 +#: netbox/extras/models/customfields.py:322 msgid "A minimum value may be set only for numeric fields" msgstr "Минимальное значение может быть установлено только для числовых полей" -#: netbox/extras/models/customfields.py:323 +#: netbox/extras/models/customfields.py:324 msgid "A maximum value may be set only for numeric fields" msgstr "" "Максимальное значение может быть установлено только для числовых полей" -#: netbox/extras/models/customfields.py:333 +#: netbox/extras/models/customfields.py:334 msgid "" "Regular expression validation is supported only for text and URL fields" msgstr "" "Проверка регулярных выражений поддерживается только для текстовых полей и " "полей URL" -#: netbox/extras/models/customfields.py:343 +#: netbox/extras/models/customfields.py:344 msgid "Selection fields must specify a set of choices." msgstr "В полях выбора должен быть указан набор вариантов." -#: netbox/extras/models/customfields.py:347 +#: netbox/extras/models/customfields.py:348 msgid "Choices may be set only on selection fields." msgstr "Варианты могут быть заданы только в полях выбора." -#: netbox/extras/models/customfields.py:354 +#: netbox/extras/models/customfields.py:355 msgid "Object fields must define an object type." msgstr "Поля объекта должны определять тип объекта." -#: netbox/extras/models/customfields.py:359 +#: netbox/extras/models/customfields.py:360 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "{type} поля не могут определять тип объекта." -#: netbox/extras/models/customfields.py:439 +#: netbox/extras/models/customfields.py:440 msgid "True" msgstr "Истина" -#: netbox/extras/models/customfields.py:440 +#: netbox/extras/models/customfields.py:441 msgid "False" msgstr "Ложь" -#: netbox/extras/models/customfields.py:522 +#: netbox/extras/models/customfields.py:523 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "" "Значения должны соответствовать этому регулярному вырагу: " "{regex}" -#: netbox/extras/models/customfields.py:616 +#: netbox/extras/models/customfields.py:617 msgid "Value must be a string." msgstr "Значение должно быть строкой." -#: netbox/extras/models/customfields.py:618 +#: netbox/extras/models/customfields.py:619 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "Значение должно совпадать с регулярным выраженностью '{regex}'" -#: netbox/extras/models/customfields.py:623 +#: netbox/extras/models/customfields.py:624 msgid "Value must be an integer." msgstr "Значение должно быть целым числом." -#: netbox/extras/models/customfields.py:626 -#: netbox/extras/models/customfields.py:641 +#: netbox/extras/models/customfields.py:627 +#: netbox/extras/models/customfields.py:642 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "Значение должно быть не менее {minimum}" -#: netbox/extras/models/customfields.py:630 -#: netbox/extras/models/customfields.py:645 +#: netbox/extras/models/customfields.py:631 +#: netbox/extras/models/customfields.py:646 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "Значение не должно превышать {maximum}" -#: netbox/extras/models/customfields.py:638 +#: netbox/extras/models/customfields.py:639 msgid "Value must be a decimal." msgstr "Значение должно быть десятичным." -#: netbox/extras/models/customfields.py:650 +#: netbox/extras/models/customfields.py:651 msgid "Value must be true or false." msgstr "Значение должно быть истинным или ложным." -#: netbox/extras/models/customfields.py:658 +#: netbox/extras/models/customfields.py:659 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." msgstr "Значения дат должны быть в формате ISO 8601 (YYYY-MM-DD)." -#: netbox/extras/models/customfields.py:671 +#: netbox/extras/models/customfields.py:672 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)." -#: netbox/extras/models/customfields.py:678 +#: netbox/extras/models/customfields.py:679 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "Неверный выбор ({value}2) для выбора набора {choiceset}." -#: netbox/extras/models/customfields.py:688 +#: netbox/extras/models/customfields.py:689 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "Неверный выбор (ы){value}2) для выбора набора {choiceset}." -#: netbox/extras/models/customfields.py:697 +#: netbox/extras/models/customfields.py:698 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "Значение должно быть идентификатором объекта, а не {type}" -#: netbox/extras/models/customfields.py:703 +#: netbox/extras/models/customfields.py:704 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "Значение должно быть списком идентификаторов объектов, а не {type}" -#: netbox/extras/models/customfields.py:707 +#: netbox/extras/models/customfields.py:708 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "Обнаружен неправильный идентификатор объекта: {id}" -#: netbox/extras/models/customfields.py:710 +#: netbox/extras/models/customfields.py:711 msgid "Required field cannot be empty." msgstr "Обязательное поле не может быть пустым." -#: netbox/extras/models/customfields.py:729 +#: netbox/extras/models/customfields.py:730 msgid "Base set of predefined choices (optional)" msgstr "Базовый набор предопределенных вариантов (опционально)" -#: netbox/extras/models/customfields.py:741 +#: netbox/extras/models/customfields.py:742 msgid "Choices are automatically ordered alphabetically" msgstr "Варианты автоматически упорядочены в алфавитном порядке" -#: netbox/extras/models/customfields.py:748 +#: netbox/extras/models/customfields.py:749 msgid "custom field choice set" msgstr "набор вариантов для настраиваемых полей" -#: netbox/extras/models/customfields.py:749 +#: netbox/extras/models/customfields.py:750 msgid "custom field choice sets" msgstr "наборы вариантов для настраиваемых полей" -#: netbox/extras/models/customfields.py:785 +#: netbox/extras/models/customfields.py:786 msgid "Must define base or extra choices." msgstr "Должен определить базовые или дополнительные варианты." @@ -8446,19 +8449,19 @@ msgstr "Данные сценария" msgid "Script Execution Parameters" msgstr "Параметры выполнения сценария" -#: netbox/extras/scripts.py:664 +#: netbox/extras/scripts.py:666 msgid "Database changes have been reverted automatically." msgstr "Изменения в базе данных были автоматически отменены." -#: netbox/extras/scripts.py:677 +#: netbox/extras/scripts.py:679 msgid "Script aborted with error: " msgstr "Скрипт прерван с ошибкой: " -#: netbox/extras/scripts.py:687 +#: netbox/extras/scripts.py:689 msgid "An exception occurred: " msgstr "Возникло исключение: " -#: netbox/extras/scripts.py:690 +#: netbox/extras/scripts.py:692 msgid "Database changes have been reverted due to error." msgstr "Изменения в базе данных отменены из-за ошибки." @@ -9745,7 +9748,7 @@ msgid "The primary function of this VLAN" msgstr "Основная функция этой VLAN" #: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175 -#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961 +#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971 #: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182 msgid "VLANs" msgstr "VLAN" @@ -9821,7 +9824,7 @@ msgid "Added" msgstr "Добавлено" #: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165 -#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342 +#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346 #: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154 #: netbox/templates/ipam/vlan.html:84 msgid "Prefixes" @@ -9829,7 +9832,7 @@ msgstr "Префиксы" #: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267 #: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82 -#: netbox/templates/dcim/device.html:253 +#: netbox/templates/dcim/device.html:260 #: netbox/templates/ipam/aggregate.html:24 #: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 msgid "Utilization" @@ -9925,23 +9928,23 @@ msgstr "" "В именах DNS разрешены только буквенно-цифровые символы, звездочки, дефисы, " "точки и символы подчеркивания" -#: netbox/ipam/views.py:528 +#: netbox/ipam/views.py:533 msgid "Child Prefixes" msgstr "Дочерние префиксы" -#: netbox/ipam/views.py:563 +#: netbox/ipam/views.py:569 msgid "Child Ranges" msgstr "Детские диапазоны" -#: netbox/ipam/views.py:889 +#: netbox/ipam/views.py:898 msgid "Related IPs" msgstr "Связанные IP-адреса" -#: netbox/ipam/views.py:1116 +#: netbox/ipam/views.py:1127 msgid "Device Interfaces" msgstr "Интерфейсы устройств" -#: netbox/ipam/views.py:1133 +#: netbox/ipam/views.py:1145 msgid "VM Interfaces" msgstr "Интерфейсы виртуальных машин" @@ -10277,6 +10280,10 @@ msgstr "Regex" msgid "Object type(s)" msgstr "Тип (ы) объекта" +#: netbox/netbox/forms/__init__.py:40 +msgid "Lookup" +msgstr "Запрос" + #: netbox/netbox/forms/base.py:88 msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. " @@ -10361,7 +10368,7 @@ msgstr "Возвышения" #: netbox/netbox/navigation/menu.py:40 msgid "Tenant Groups" -msgstr "Группы тенантов" +msgstr "Группы арендаторов" #: netbox/netbox/navigation/menu.py:47 msgid "Contact Groups" @@ -10380,7 +10387,7 @@ msgstr "Назначения контактов" msgid "Modules" msgstr "Модули" -#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158 +#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160 #: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" msgstr "Виртуальные контексты" @@ -10442,7 +10449,7 @@ msgstr "Группы VLAN" msgid "Service Templates" msgstr "Шаблоны Служб" -#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295 +#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302 #: netbox/templates/ipam/ipaddress.html:118 #: netbox/templates/virtualization/virtualmachine.html:150 msgid "Services" @@ -10509,7 +10516,7 @@ msgstr "Виртуализация" #: netbox/templates/virtualization/virtualmachine/base.html:32 #: netbox/templates/virtualization/virtualmachine_list.html:21 #: netbox/virtualization/tables/virtualmachines.py:103 -#: netbox/virtualization/views.py:380 +#: netbox/virtualization/views.py:385 msgid "Virtual Disks" msgstr "Виртуальные диски" @@ -10571,7 +10578,7 @@ msgstr "Настройка" #: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30 #: netbox/templates/inc/panels/custom_fields.html:7 #: netbox/templates/ipam/ipaddress_bulk_add.html:35 -#: netbox/templates/ipam/vlan_edit.html:63 +#: netbox/templates/ipam/vlan_edit.html:59 msgid "Custom Fields" msgstr "Настраиваемые Поля" @@ -10677,7 +10684,7 @@ msgstr "История конфигурации" msgid "Background Tasks" msgstr "Фоновые задачи" -#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35 +#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35 #: netbox/templates/account/preferences.html:22 #: netbox/templates/core/system.html:80 msgid "Plugins" @@ -10819,43 +10826,43 @@ msgstr "Невозможно добавить магазины в реестр msgid "Cannot delete stores from registry" msgstr "Невозможно удалить магазины из реестра" -#: netbox/netbox/settings.py:724 +#: netbox/netbox/settings.py:741 msgid "German" msgstr "Немецкий" -#: netbox/netbox/settings.py:725 +#: netbox/netbox/settings.py:742 msgid "English" msgstr "Английский" -#: netbox/netbox/settings.py:726 +#: netbox/netbox/settings.py:743 msgid "Spanish" msgstr "Испанский" -#: netbox/netbox/settings.py:727 +#: netbox/netbox/settings.py:744 msgid "French" msgstr "Французский" -#: netbox/netbox/settings.py:728 +#: netbox/netbox/settings.py:745 msgid "Japanese" msgstr "Японский" -#: netbox/netbox/settings.py:729 +#: netbox/netbox/settings.py:746 msgid "Portuguese" msgstr "Португальский" -#: netbox/netbox/settings.py:730 +#: netbox/netbox/settings.py:747 msgid "Russian" msgstr "Русский" -#: netbox/netbox/settings.py:731 +#: netbox/netbox/settings.py:748 msgid "Turkish" msgstr "Турецкий" -#: netbox/netbox/settings.py:732 +#: netbox/netbox/settings.py:749 msgid "Ukrainian" msgstr "украинский" -#: netbox/netbox/settings.py:733 +#: netbox/netbox/settings.py:750 msgid "Chinese" msgstr "Китайский" @@ -10902,7 +10909,7 @@ msgstr "Журнал изменений" msgid "Journal" msgstr "Журнал" -#: netbox/netbox/views/generic/object_views.py:106 +#: netbox/netbox/views/generic/object_views.py:108 #, python-brace-format msgid "{class_name} must implement get_children()" msgstr "{class_name} должен реализовать get_children ()" @@ -11473,8 +11480,8 @@ msgstr "Фоновые очереди" #: netbox/templates/core/rq_worker_list.html:45 #: netbox/templates/extras/script_result.html:49 #: netbox/templates/extras/script_result.html:51 -#: netbox/templates/inc/table_controls_htmx.html:28 -#: netbox/templates/inc/table_controls_htmx.html:31 +#: netbox/templates/inc/table_controls_htmx.html:30 +#: netbox/templates/inc/table_controls_htmx.html:33 msgid "Configure Table" msgstr "Настроить таблицу" @@ -11735,56 +11742,58 @@ msgstr "Тег актива" msgid "View Virtual Chassis" msgstr "Смотреть виртуальное шасси" -#: netbox/templates/dcim/device.html:162 +#: netbox/templates/dcim/device.html:164 msgid "Create VDC" msgstr "Создайте VDC" -#: netbox/templates/dcim/device.html:173 +#: netbox/templates/dcim/device.html:175 #: netbox/templates/dcim/device_edit.html:64 #: netbox/virtualization/forms/model_forms.py:223 msgid "Management" msgstr "Управление" -#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209 +#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:227 #: netbox/templates/virtualization/virtualmachine.html:53 #: netbox/templates/virtualization/virtualmachine.html:69 msgid "NAT for" msgstr "NAT для" -#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 +#: netbox/templates/dcim/device.html:229 #: netbox/templates/virtualization/virtualmachine.html:55 #: netbox/templates/virtualization/virtualmachine.html:71 msgid "NAT" msgstr "КОТ" -#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67 +#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67 msgid "Power Utilization" msgstr "Использование энергии" -#: netbox/templates/dcim/device.html:249 +#: netbox/templates/dcim/device.html:256 msgid "Input" msgstr "Ввод" -#: netbox/templates/dcim/device.html:250 +#: netbox/templates/dcim/device.html:257 msgid "Outlets" msgstr "Торговые точки" -#: netbox/templates/dcim/device.html:251 +#: netbox/templates/dcim/device.html:258 msgid "Allocated" msgstr "Выделено" -#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263 -#: netbox/templates/dcim/device.html:279 +#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 +#: netbox/templates/dcim/device.html:286 #: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "ВА" -#: netbox/templates/dcim/device.html:273 +#: netbox/templates/dcim/device.html:280 msgctxt "Leg of a power feed" msgid "Leg" msgstr "Ножка" -#: netbox/templates/dcim/device.html:299 +#: netbox/templates/dcim/device.html:306 #: netbox/templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "Добавить службу" @@ -13161,11 +13170,11 @@ msgstr "Данные не синхронизированы с вышестоящ #: netbox/templates/inc/table_controls_htmx.html:7 msgid "Quick search" -msgstr "" +msgstr "Быстрый поиск" -#: netbox/templates/inc/table_controls_htmx.html:19 +#: netbox/templates/inc/table_controls_htmx.html:20 msgid "Saved filter" -msgstr "" +msgstr "Сохраненный фильтр" #: netbox/templates/inc/user_menu.html:23 msgid "Django Admin" @@ -13487,17 +13496,17 @@ msgstr "Добавить контакт" #: netbox/templates/tenancy/tenantgroup.html:17 msgid "Add Tenant" -msgstr "Добавить тенант" +msgstr "Добавить арендатора" #: netbox/templates/tenancy/tenantgroup.html:26 #: netbox/tenancy/forms/model_forms.py:32 netbox/tenancy/tables/columns.py:51 #: netbox/tenancy/tables/columns.py:61 msgid "Tenant Group" -msgstr "Группа тенантов" +msgstr "Группа арендаторов" #: netbox/templates/tenancy/tenantgroup.html:59 msgid "Add Tenant Group" -msgstr "Добавить группу тенантов" +msgstr "Добавить группу арендаторов" #: netbox/templates/users/group.html:39 netbox/templates/users/user.html:63 msgid "Assigned Permissions" @@ -13833,15 +13842,15 @@ msgstr "Родительская группа арендаторов (корот #: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 msgid "Tenant group (ID)" -msgstr "Группа тенантов (ID)" +msgstr "Группа арендаторов (ID)" #: netbox/tenancy/filtersets.py:235 msgid "Tenant Group (ID)" -msgstr "Группа тенантов (ID)" +msgstr "Группа арендаторов (ID)" #: netbox/tenancy/filtersets.py:242 msgid "Tenant Group (slug)" -msgstr "Группа тенантов (подстрока)" +msgstr "Группа арендаторов (подстрока)" #: netbox/tenancy/forms/bulk_edit.py:66 msgid "Desciption" @@ -13906,27 +13915,27 @@ msgstr "Контакты не могут быть присвоены этому #: netbox/tenancy/models/tenants.py:32 msgid "tenant group" -msgstr "группа тенантов" +msgstr "группа арендаторов" #: netbox/tenancy/models/tenants.py:33 msgid "tenant groups" -msgstr "группы тенантов" +msgstr "группы арендаторов" #: netbox/tenancy/models/tenants.py:70 msgid "Tenant name must be unique per group." -msgstr "Имя тенанта должно быть уникальным для каждой группы." +msgstr "Имя арендатора должно быть уникальным для каждой группы." #: netbox/tenancy/models/tenants.py:80 msgid "Tenant slug must be unique per group." -msgstr "Подстрока тенанта должна быть уникальной для каждой группы." +msgstr "Подстрока арендатора должна быть уникальной для каждой группы." #: netbox/tenancy/models/tenants.py:88 msgid "tenant" -msgstr "тенант" +msgstr "арендатор" #: netbox/tenancy/models/tenants.py:89 msgid "tenants" -msgstr "тенанты" +msgstr "арендаторы" #: netbox/tenancy/tables/contacts.py:112 msgid "Contact Title" @@ -14246,7 +14255,11 @@ msgstr "" msgid "More than 50" msgstr "Более 50" -#: netbox/utilities/fields.py:157 +#: netbox/utilities/fields.py:30 +msgid "RGB color in hexadecimal. Example: " +msgstr "Цвет RGB в шестнадцатеричном формате. Пример:" + +#: netbox/utilities/fields.py:159 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " @@ -14255,7 +14268,7 @@ msgstr "" "%s(%r) недействителен. Параметр to_model для CounterCacheField должен быть " "строкой в формате app.model" -#: netbox/utilities/fields.py:167 +#: netbox/utilities/fields.py:169 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " @@ -14560,6 +14573,14 @@ msgstr "Двигаться вверх" msgid "Move Down" msgstr "Переместить вниз" +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search…" +msgstr "Поиск..." + +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search NetBox" +msgstr "Поиск в NetBox" + #: netbox/utilities/templates/widgets/apiselect.html:7 msgid "Open selector" msgstr "Открыть селектор" @@ -14581,19 +14602,19 @@ msgstr "Тест должен определить csv_update_data." msgid "{value} is not a valid regular expression." msgstr "{value} не является допустимым регулярным выражением." -#: netbox/utilities/views.py:44 +#: netbox/utilities/views.py:45 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "" "{self.__class__.__name__} должен реализовать функцию get_required_permission" " ()" -#: netbox/utilities/views.py:80 +#: netbox/utilities/views.py:81 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "{class_name} должен реализовать функцию get_required_permission ()" -#: netbox/utilities/views.py:104 +#: netbox/utilities/views.py:105 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" @@ -14616,10 +14637,6 @@ msgstr "Родительская группа (подстрока)" msgid "Cluster type (ID)" msgstr "Тип кластера (ID)" -#: netbox/virtualization/filtersets.py:130 -msgid "Cluster group (ID)" -msgstr "Кластерная группа (ID)" - #: netbox/virtualization/filtersets.py:151 #: netbox/virtualization/filtersets.py:267 msgid "Cluster (ID)" diff --git a/netbox/translations/tr/LC_MESSAGES/django.po b/netbox/translations/tr/LC_MESSAGES/django.po index 012f25b47..ae8ff77fc 100644 --- a/netbox/translations/tr/LC_MESSAGES/django.po +++ b/netbox/translations/tr/LC_MESSAGES/django.po @@ -6,15 +6,16 @@ # Translators: # Burak Senturk, 2024 # Jeremy Stretch, 2024 +# Hamdi Suat Aknar, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-22 05:02+0000\n" +"POT-Creation-Date: 2024-07-09 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: Hamdi Suat Aknar, 2024\n" "Language-Team: Turkish (https://app.transifex.com/netbox-community/teams/178115/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -112,8 +113,8 @@ msgstr "Hizmet dışı bırakıldı" #: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151 #: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297 #: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969 -#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832 -#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133 +#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843 +#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945 #: netbox/virtualization/filtersets.py:45 #: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377 @@ -124,8 +125,8 @@ msgstr "Bölge (ID)" #: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157 #: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304 #: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976 -#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839 -#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140 +#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850 +#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151 #: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372 @@ -135,9 +136,9 @@ msgstr "Bölge (kısa ad)" #: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209 #: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224 #: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419 -#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318 -#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088 -#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352 +#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329 +#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099 +#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352 #: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" @@ -146,9 +147,9 @@ msgstr "Site grubu (ID)" #: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216 #: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231 #: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426 -#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325 -#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095 -#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467 +#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336 +#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106 +#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467 #: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965 #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 @@ -157,7 +158,7 @@ msgstr "Site grubu (kısa ad)" #: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186 #: netbox/circuits/forms/bulk_edit.py:214 -#: netbox/circuits/forms/bulk_import.py:126 +#: netbox/circuits/forms/bulk_import.py:123 #: netbox/circuits/forms/filtersets.py:49 #: netbox/circuits/forms/filtersets.py:169 #: netbox/circuits/forms/filtersets.py:207 @@ -166,15 +167,15 @@ msgstr "Site grubu (kısa ad)" #: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167 #: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575 #: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130 -#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257 -#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262 -#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85 -#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265 -#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682 -#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940 -#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068 -#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500 -#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136 +#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254 +#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250 +#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86 +#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266 +#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684 +#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952 +#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080 +#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512 +#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136 #: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206 #: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671 #: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150 @@ -273,8 +274,8 @@ msgstr "Devre tipi (kısa ad)" #: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266 #: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321 #: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993 -#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857 -#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158 +#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868 +#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69 #: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387 @@ -287,7 +288,7 @@ msgstr "Fesih A (ID)" #: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73 #: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693 -#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206 +#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217 #: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63 #: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127 #: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204 @@ -304,11 +305,12 @@ msgstr "Fesih A (ID)" #: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92 #: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104 +#: netbox/utilities/templates/navigation/menu.html:16 msgid "Search" msgstr "Arama" #: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170 -#: netbox/circuits/forms/bulk_import.py:117 +#: netbox/circuits/forms/bulk_import.py:114 #: netbox/circuits/forms/filtersets.py:196 #: netbox/circuits/forms/filtersets.py:212 #: netbox/circuits/forms/model_forms.py:109 @@ -329,9 +331,9 @@ msgstr "Sağlayıcı Ağı (ID)" #: netbox/circuits/forms/filtersets.py:54 #: netbox/circuits/forms/model_forms.py:27 #: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127 -#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122 +#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122 #: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 -#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210 +#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 #: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162 #: netbox/templates/circuits/provider.html:23 msgid "ASNs" @@ -469,7 +471,7 @@ msgstr "Açıklama" #: netbox/circuits/forms/bulk_edit.py:121 #: netbox/circuits/forms/bulk_import.py:35 #: netbox/circuits/forms/bulk_import.py:50 -#: netbox/circuits/forms/bulk_import.py:76 +#: netbox/circuits/forms/bulk_import.py:73 #: netbox/circuits/forms/filtersets.py:68 #: netbox/circuits/forms/filtersets.py:86 #: netbox/circuits/forms/filtersets.py:114 @@ -502,8 +504,8 @@ msgstr "Servis ID" #: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205 #: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702 #: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098 -#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983 -#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380 +#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995 +#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 #: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744 #: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245 #: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32 @@ -519,7 +521,7 @@ msgid "Color" msgstr "Renk" #: netbox/circuits/forms/bulk_edit.py:116 -#: netbox/circuits/forms/bulk_import.py:89 +#: netbox/circuits/forms/bulk_import.py:86 #: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20 #: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282 @@ -527,17 +529,17 @@ msgstr "Renk" #: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906 #: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971 #: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066 -#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214 -#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679 -#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725 -#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902 -#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161 -#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287 -#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973 -#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164 -#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208 -#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259 -#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375 +#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673 +#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719 +#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896 +#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152 +#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288 +#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985 +#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176 +#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220 +#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387 #: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652 #: netbox/dcim/forms/object_import.py:84 #: netbox/dcim/forms/object_import.py:113 @@ -576,14 +578,14 @@ msgid "Type" msgstr "Tür" #: netbox/circuits/forms/bulk_edit.py:126 -#: netbox/circuits/forms/bulk_import.py:82 +#: netbox/circuits/forms/bulk_import.py:79 #: netbox/circuits/forms/filtersets.py:137 #: netbox/circuits/forms/model_forms.py:96 msgid "Provider account" msgstr "Sağlayıcı hesabı" #: netbox/circuits/forms/bulk_edit.py:134 -#: netbox/circuits/forms/bulk_import.py:95 +#: netbox/circuits/forms/bulk_import.py:92 #: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35 #: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -592,13 +594,13 @@ msgstr "Sağlayıcı hesabı" #: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686 #: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594 #: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146 -#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450 -#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155 -#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386 -#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230 -#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728 -#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877 -#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089 +#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444 +#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374 +#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231 +#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730 +#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889 +#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101 #: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800 #: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66 @@ -616,7 +618,7 @@ msgstr "Sağlayıcı hesabı" #: netbox/templates/circuits/circuit.html:34 #: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30 #: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 -#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176 +#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 #: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66 #: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43 #: netbox/templates/dcim/site.html:43 @@ -652,20 +654,20 @@ msgid "Status" msgstr "Durum" #: netbox/circuits/forms/bulk_edit.py:140 -#: netbox/circuits/forms/bulk_import.py:100 +#: netbox/circuits/forms/bulk_import.py:97 #: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121 #: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256 #: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588 #: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599 #: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151 -#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282 -#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167 -#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166 -#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249 -#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355 -#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835 -#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927 -#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88 +#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167 +#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 +#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356 +#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847 +#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939 +#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88 #: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332 #: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41 #: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110 @@ -804,29 +806,22 @@ msgstr "Fesih Ayrıntıları" #: netbox/circuits/forms/bulk_import.py:38 #: netbox/circuits/forms/bulk_import.py:53 -#: netbox/circuits/forms/bulk_import.py:79 +#: netbox/circuits/forms/bulk_import.py:76 msgid "Assigned provider" msgstr "Atanan sağlayıcı" -#: netbox/circuits/forms/bulk_import.py:70 -#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388 -#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187 -#: netbox/extras/forms/bulk_import.py:232 -msgid "RGB color in hexadecimal. Example:" -msgstr "Onaltılık değerde RGB rengi. Örnek:" - -#: netbox/circuits/forms/bulk_import.py:85 +#: netbox/circuits/forms/bulk_import.py:82 msgid "Assigned provider account" msgstr "Atanan sağlayıcı hesabı" -#: netbox/circuits/forms/bulk_import.py:92 +#: netbox/circuits/forms/bulk_import.py:89 msgid "Type of circuit" msgstr "Devre tipi" -#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89 -#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204 -#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606 -#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193 +#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201 +#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600 +#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193 #: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294 #: netbox/ipam/forms/bulk_import.py:460 #: netbox/virtualization/forms/bulk_import.py:56 @@ -835,11 +830,11 @@ msgstr "Devre tipi" msgid "Operational status" msgstr "Operasyonel durum" -#: netbox/circuits/forms/bulk_import.py:104 +#: netbox/circuits/forms/bulk_import.py:101 #: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155 -#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428 -#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319 -#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41 +#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422 +#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307 +#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41 #: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98 #: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138 #: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253 @@ -851,7 +846,7 @@ msgstr "Operasyonel durum" msgid "Assigned tenant" msgstr "Atanan kiracı" -#: netbox/circuits/forms/bulk_import.py:122 +#: netbox/circuits/forms/bulk_import.py:119 #: netbox/templates/circuits/inc/circuit_termination.html:6 #: netbox/templates/circuits/inc/circuit_termination_fields.html:15 #: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 @@ -859,7 +854,7 @@ msgstr "Atanan kiracı" msgid "Termination" msgstr "Fesih" -#: netbox/circuits/forms/bulk_import.py:132 +#: netbox/circuits/forms/bulk_import.py:129 #: netbox/circuits/forms/filtersets.py:145 #: netbox/circuits/forms/filtersets.py:225 #: netbox/circuits/forms/model_forms.py:142 @@ -871,20 +866,20 @@ msgstr "Sağlayıcı ağı" #: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248 #: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580 #: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780 -#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263 -#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268 -#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93 -#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279 -#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382 -#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691 -#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925 -#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009 -#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048 -#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181 -#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220 -#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348 -#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391 -#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420 +#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256 +#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94 +#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280 +#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693 +#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937 +#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021 +#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193 +#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232 +#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360 +#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403 +#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432 #: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211 #: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676 #: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30 @@ -907,14 +902,14 @@ msgid "Location" msgstr "Konum" #: netbox/circuits/forms/filtersets.py:30 -#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137 -#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167 -#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 -#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406 -#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010 +#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138 +#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168 +#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251 +#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407 +#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022 #: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46 #: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 -#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18 +#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19 #: netbox/virtualization/forms/filtersets.py:37 #: netbox/virtualization/forms/filtersets.py:48 #: netbox/virtualization/forms/filtersets.py:106 @@ -924,13 +919,13 @@ msgstr "İletişim" #: netbox/circuits/forms/filtersets.py:35 #: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111 #: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755 -#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71 -#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204 -#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360 -#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902 -#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016 -#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468 -#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516 +#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72 +#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205 +#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361 +#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914 +#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028 +#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480 +#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528 #: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375 #: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85 #: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206 @@ -951,11 +946,11 @@ msgstr "Bölge" #: netbox/circuits/forms/filtersets.py:40 #: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231 -#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76 -#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209 -#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365 -#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907 -#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77 +#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210 +#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366 +#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919 +#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072 #: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472 #: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445 #: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222 @@ -972,14 +967,14 @@ msgstr "Site grubu" #: netbox/circuits/forms/filtersets.py:81 #: netbox/circuits/forms/filtersets.py:100 #: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64 -#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165 -#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834 -#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050 -#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180 -#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219 -#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347 -#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390 -#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418 +#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166 +#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846 +#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062 +#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192 +#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231 +#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359 +#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402 +#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430 #: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112 #: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183 #: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230 @@ -1105,17 +1100,17 @@ msgstr "Yerel çapraz bağlantının kimliği" #: netbox/circuits/models/circuits.py:206 msgid "patch panel/port(s)" -msgstr "yama paneli/bağlantı noktası (lar)" +msgstr "bağlantı paneli/port(lar)" #: netbox/circuits/models/circuits.py:207 msgid "Patch panel ID and port number(s)" -msgstr "Yama paneli kimliği ve bağlantı noktası numaraları" +msgstr "Bağlantı paneli ID ve port numaraları" #: netbox/circuits/models/circuits.py:210 #: netbox/dcim/models/device_component_templates.py:61 #: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 -#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60 +#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60 #: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424 #: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32 #: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109 @@ -1155,7 +1150,7 @@ msgstr "Devre sonlandırma hem siteye hem de sağlayıcı ağına bağlanamaz." #: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 -#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90 +#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91 #: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181 #: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420 #: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624 @@ -1228,7 +1223,7 @@ msgstr "sağlayıcı ağları" #: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16 #: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13 #: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 -#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43 +#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43 #: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89 #: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286 #: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421 @@ -1503,7 +1498,7 @@ msgstr "Kullanıcı Adı" #: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 msgid "Only used for cloning with HTTP(S)" -msgstr "Yalnızca HTTP (S) ile klonlama için kullanılır" +msgstr "Sadece HTTP(S) ile klonlama için kullanılır" #: netbox/core/data_backends.py:53 netbox/templates/account/base.html:17 #: netbox/templates/account/password.html:11 @@ -1539,7 +1534,7 @@ msgstr "Veri kaynağı (isim)" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020 -#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276 +#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288 #: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221 #: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162 #: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120 @@ -1599,7 +1594,7 @@ msgstr "Veri kaynağı" #: netbox/core/forms/filtersets.py:67 netbox/extras/forms/filtersets.py:449 msgid "Creation" -msgstr "Yaratılış" +msgstr "Oluşturma" #: netbox/core/forms/filtersets.py:71 netbox/extras/forms/filtersets.py:470 #: netbox/extras/forms/filtersets.py:510 netbox/extras/tables/tables.py:184 @@ -1642,7 +1637,7 @@ msgid "Completed before" msgstr "Daha önce tamamlandı" #: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361 -#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397 +#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465 #: netbox/extras/forms/filtersets.py:505 #: netbox/templates/dcim/rackreservation.html:58 @@ -1697,7 +1692,7 @@ msgstr "Güç" #: netbox/core/forms/model_forms.py:159 netbox/netbox/navigation/menu.py:141 #: netbox/templates/core/inc/config_data.html:37 msgid "IPAM" -msgstr "IPAME" +msgstr "IPAM" #: netbox/core/forms/model_forms.py:160 netbox/netbox/navigation/menu.py:217 #: netbox/templates/core/inc/config_data.html:50 @@ -1726,7 +1721,7 @@ msgstr "Doğrulama" msgid "User Preferences" msgstr "Kullanıcı Tercihleri" -#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661 +#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663 #: netbox/templates/core/inc/config_data.html:127 #: netbox/users/forms/model_forms.py:65 msgid "Miscellaneous" @@ -1801,7 +1796,7 @@ msgstr "Yapılandırma revizyonu #{id}" #: netbox/dcim/models/device_components.py:971 #: netbox/dcim/models/device_components.py:1045 #: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128 -#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41 +#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 msgid "type" msgstr "türü" @@ -1959,15 +1954,15 @@ msgstr "hata" #: netbox/core/models/jobs.py:101 msgid "job ID" -msgstr "iş kimliği" +msgstr "görev ID" #: netbox/core/models/jobs.py:112 msgid "job" -msgstr "iş" +msgstr "görev" #: netbox/core/models/jobs.py:113 msgid "jobs" -msgstr "meslekler" +msgstr "görevler" #: netbox/core/models/jobs.py:135 #, python-brace-format @@ -2055,7 +2050,7 @@ msgstr "Ana bilgisayar" #: netbox/core/tables/tasks.py:50 netbox/ipam/forms/filtersets.py:542 msgid "Port" -msgstr "Liman" +msgstr "Port" #: netbox/core/tables/tasks.py:54 msgid "DB" @@ -2095,7 +2090,7 @@ msgstr "Doğum" #: netbox/core/tables/tasks.py:124 netbox/templates/core/rq_worker.html:59 msgid "PID" -msgstr "PİD" +msgstr "PID" #: netbox/core/tables/tasks.py:128 msgid "No workers found" @@ -2170,7 +2165,7 @@ msgstr "{n} inç" msgid "Reserved" msgstr "Rezerve edilmiş" -#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 msgid "Available" msgstr "Mevcut" @@ -2192,8 +2187,8 @@ msgstr "İnç" #: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172 #: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59 #: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136 -#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778 -#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227 +#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772 +#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228 #: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92 #: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010 #: netbox/dcim/forms/model_forms.py:1449 @@ -2227,14 +2222,14 @@ msgstr "Ebeveyn" msgid "Child" msgstr "Çocuk" -#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332 +#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339 #: netbox/templates/dcim/rack.html:175 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Ön" -#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338 +#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345 #: netbox/templates/dcim/rack.html:181 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 @@ -2318,7 +2313,7 @@ msgid "Virtual" msgstr "Sanal" #: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051 -#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239 +#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251 #: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344 #: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131 #: netbox/templates/dcim/interface.html:210 @@ -2330,7 +2325,7 @@ msgid "Virtual interfaces" msgstr "Sanal arayüzler" #: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303 -#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922 +#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922 #: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106 #: netbox/templates/virtualization/vminterface.html:43 #: netbox/virtualization/forms/bulk_edit.py:212 @@ -2359,9 +2354,9 @@ msgstr "Ethernet (arka panel)" msgid "Cellular" msgstr "Hücresel" -#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303 -#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882 -#: netbox/dcim/forms/filtersets.py:1434 +#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304 +#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894 +#: netbox/dcim/forms/filtersets.py:1446 #: netbox/templates/dcim/inventoryitem.html:52 #: netbox/templates/dcim/virtualchassis_edit.html:54 msgid "Serial" @@ -2432,9 +2427,9 @@ msgstr "Fiber Optik" #: netbox/dcim/choices.py:1434 msgid "Fiber" -msgstr "Elyaf" +msgstr "Fiber" -#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146 +#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158 msgid "Connected" msgstr "Bağlı" @@ -2456,9 +2451,9 @@ msgstr "Mil" #: netbox/dcim/choices.py:1481 netbox/templates/dcim/cable_trace.html:66 msgid "Feet" -msgstr "Ayaklar" +msgstr "Feet" -#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320 +#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:152 msgid "Kilograms" msgstr "Kilogram" @@ -2528,7 +2523,7 @@ msgstr "Grup (kısa ad)" #: netbox/dcim/filtersets.py:175 netbox/dcim/filtersets.py:180 msgid "AS (ID)" -msgstr "OLARAK (İD)" +msgstr "AS (ID)" #: netbox/dcim/filtersets.py:245 msgid "Parent location (ID)" @@ -2536,29 +2531,29 @@ msgstr "Ana konum (ID)" #: netbox/dcim/filtersets.py:251 msgid "Parent location (slug)" -msgstr "Ana konum (sümüklü böcek)" +msgstr "Ana konum (kısa ad)" #: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333 #: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005 -#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111 +#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122 msgid "Location (ID)" msgstr "Konum (ID)" #: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340 -#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358 #: netbox/extras/filtersets.py:494 msgid "Location (slug)" msgstr "Konum (kısa ad)" #: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840 -#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779 +#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790 #: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 #: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" msgstr "Rol (ID)" #: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846 -#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785 +#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796 #: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387 #: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995 #: netbox/virtualization/filtersets.py:216 @@ -2566,7 +2561,7 @@ msgid "Role (slug)" msgstr "Rol (kısa ad)" #: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010 -#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173 +#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184 msgid "Rack (ID)" msgstr "Raf (ID)" @@ -2584,15 +2579,15 @@ msgstr "Kullanıcı (isim)" #: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620 #: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881 -#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243 -#: netbox/dcim/filtersets.py:1769 +#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:1780 msgid "Manufacturer (ID)" msgstr "Üretici (ID)" #: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626 #: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887 -#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249 -#: netbox/dcim/filtersets.py:1775 +#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1786 msgid "Manufacturer (slug)" msgstr "Üretici (kısa ad)" @@ -2604,93 +2599,93 @@ msgstr "Varsayılan platform (ID)" msgid "Default platform (slug)" msgstr "Varsayılan platform (kısa ad)" -#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452 +#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453 msgid "Has a front image" msgstr "Ön resmi var" -#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459 +#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460 msgid "Has a rear image" msgstr "Arka görüntüsü var" #: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630 -#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466 -#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777 +#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467 +#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779 msgid "Has console ports" msgstr "Konsol bağlantı noktaları vardır" #: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634 -#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473 -#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784 +#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474 +#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786 msgid "Has console server ports" msgstr "Konsol sunucusu bağlantı noktaları vardır" #: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638 -#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480 -#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791 +#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481 +#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793 msgid "Has power ports" msgstr "Güç bağlantı noktaları vardır" #: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642 -#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487 -#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798 +#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488 +#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800 msgid "Has power outlets" msgstr "Elektrik prizleri var" #: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646 -#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494 -#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805 +#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495 +#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807 msgid "Has interfaces" msgstr "Arayüzleri vardır" #: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650 -#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501 -#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812 +#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502 +#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814 msgid "Has pass-through ports" msgstr "Geçiş bağlantı noktaları vardır" -#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092 -#: netbox/dcim/forms/filtersets.py:515 +#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103 +#: netbox/dcim/forms/filtersets.py:516 msgid "Has module bays" msgstr "Modül yuvaları vardır" -#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096 -#: netbox/dcim/forms/filtersets.py:508 +#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107 +#: netbox/dcim/forms/filtersets.py:509 msgid "Has device bays" -msgstr "Aygıt yuvaları vardır" +msgstr "Cihaz yuvaları var" -#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522 +#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523 msgid "Has inventory items" msgstr "Envanter kalemleri var" #: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937 -#: netbox/dcim/filtersets.py:1373 +#: netbox/dcim/filtersets.py:1384 msgid "Device type (ID)" -msgstr "Aygıt tipi (ID)" +msgstr "Cihaz tipi (ID)" -#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265 msgid "Module type (ID)" msgstr "Modül tipi (ID)" -#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524 +#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535 msgid "Power port (ID)" msgstr "Güç bağlantı noktası (ID)" -#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765 +#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776 msgid "Parent inventory item (ID)" msgstr "Ana envanter kalemi (ID)" #: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895 -#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238 +#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238 msgid "Config template (ID)" msgstr "Yapılandırma şablonu (ID)" #: netbox/dcim/filtersets.py:933 msgid "Device type (slug)" -msgstr "Aygıt tipi (kısa ad)" +msgstr "Cihaz tipi (kısa ad)" #: netbox/dcim/filtersets.py:953 msgid "Parent Device (ID)" -msgstr "Ana Aygıt (ID)" +msgstr "Ana Cihaz (ID)" #: netbox/dcim/filtersets.py:957 netbox/virtualization/filtersets.py:220 msgid "Platform (ID)" @@ -2701,9 +2696,9 @@ msgstr "Platform (ID)" msgid "Platform (slug)" msgstr "Platform (kısa ad)" -#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336 -#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105 -#: netbox/dcim/filtersets.py:2164 +#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116 +#: netbox/dcim/filtersets.py:2175 msgid "Site name (slug)" msgstr "Site adı (kısa ad)" @@ -2715,16 +2710,25 @@ msgstr "Ebeveyn bölmesi (ID)" msgid "VM cluster (ID)" msgstr "VM kümesi (ID)" -#: netbox/dcim/filtersets.py:1025 -msgid "Device model (slug)" -msgstr "Aygıt modeli (kısa ad)" +#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543 +#: netbox/virtualization/filtersets.py:136 +msgid "Cluster group (slug)" +msgstr "Küme grubu (kısa ad)" -#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423 +#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130 +msgid "Cluster group (ID)" +msgstr "Küme grubu (ID)" + +#: netbox/dcim/filtersets.py:1036 +msgid "Device model (slug)" +msgstr "Cihaz modeli (kısa ad)" + +#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423 msgid "Is full depth" msgstr "Tam derinlik mi" -#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18 -#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291 +#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18 +#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303 #: netbox/dcim/models/device_components.py:519 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:297 @@ -2733,88 +2737,88 @@ msgstr "Tam derinlik mi" msgid "MAC address" msgstr "MAC adresi" -#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211 -#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849 +#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222 +#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861 #: netbox/virtualization/filtersets.py:234 #: netbox/virtualization/forms/filtersets.py:176 msgid "Has a primary IP" msgstr "Birincil IP'ye sahiptir" -#: netbox/dcim/filtersets.py:1051 +#: netbox/dcim/filtersets.py:1062 msgid "Has an out-of-band IP" msgstr "Bant dışı bir IP'ye sahiptir" -#: netbox/dcim/filtersets.py:1056 +#: netbox/dcim/filtersets.py:1067 msgid "Virtual chassis (ID)" msgstr "Sanal kasa (ID)" -#: netbox/dcim/filtersets.py:1060 +#: netbox/dcim/filtersets.py:1071 msgid "Is a virtual chassis member" msgstr "Sanal bir şasi üyesidir" -#: netbox/dcim/filtersets.py:1101 +#: netbox/dcim/filtersets.py:1112 msgid "OOB IP (ID)" msgstr "OOB İP (KİMLİĞİ)" -#: netbox/dcim/filtersets.py:1105 +#: netbox/dcim/filtersets.py:1116 msgid "Has virtual device context" msgstr "Sanal cihaz bağlamına sahiptir" -#: netbox/dcim/filtersets.py:1194 +#: netbox/dcim/filtersets.py:1205 msgid "VDC (ID)" msgstr "VDC (KİMLİK)" -#: netbox/dcim/filtersets.py:1199 +#: netbox/dcim/filtersets.py:1210 msgid "Device model" msgstr "Cihaz modeli" -#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632 +#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632 #: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420 msgid "Interface (ID)" msgstr "Arayüz (ID)" -#: netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1271 msgid "Module type (model)" msgstr "Modül tipi (model)" -#: netbox/dcim/filtersets.py:1266 +#: netbox/dcim/filtersets.py:1277 msgid "Module Bay (ID)" msgstr "Modül Yuvası (ID)" -#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362 +#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 #: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161 #: netbox/vpn/filtersets.py:398 msgid "Device (ID)" -msgstr "Aygıt (ID)" +msgstr "Cihaz (ID)" -#: netbox/dcim/filtersets.py:1358 +#: netbox/dcim/filtersets.py:1369 msgid "Rack (name)" msgstr "Raf (isim)" -#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606 +#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606 #: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081 #: netbox/vpn/filtersets.py:393 msgid "Device (name)" -msgstr "Aygıt (isim)" - -#: netbox/dcim/filtersets.py:1379 -msgid "Device type (model)" -msgstr "Aygıt tipi (model)" - -#: netbox/dcim/filtersets.py:1384 -msgid "Device role (ID)" -msgstr "Aygıt rolü (ID)" +msgstr "Cihaz (isim)" #: netbox/dcim/filtersets.py:1390 -msgid "Device role (slug)" -msgstr "Aygıt rolü (kısa ad)" +msgid "Device type (model)" +msgstr "Cihaz tipi (model)" #: netbox/dcim/filtersets.py:1395 +msgid "Device role (ID)" +msgstr "Cihaz rolü (ID)" + +#: netbox/dcim/filtersets.py:1401 +msgid "Device role (slug)" +msgstr "Cihaz rolü (kısa ad)" + +#: netbox/dcim/filtersets.py:1406 msgid "Virtual Chassis (ID)" msgstr "Sanal Kasa (ID)" -#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107 +#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108 #: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66 #: netbox/templates/dcim/device.html:120 #: netbox/templates/dcim/device_edit.html:93 @@ -2824,25 +2828,25 @@ msgstr "Sanal Kasa (ID)" msgid "Virtual Chassis" msgstr "Sanal Şasi" -#: netbox/dcim/filtersets.py:1421 +#: netbox/dcim/filtersets.py:1432 msgid "Module (ID)" msgstr "Modül (ID)" -#: netbox/dcim/filtersets.py:1428 +#: netbox/dcim/filtersets.py:1439 msgid "Cable (ID)" msgstr "Kablo (ID)" -#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188 +#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188 #: netbox/vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" msgstr "Atanmış VLAN" -#: netbox/dcim/filtersets.py:1541 +#: netbox/dcim/filtersets.py:1552 msgid "Assigned VID" msgstr "Atanmış VID" -#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382 -#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334 +#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382 +#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346 #: netbox/dcim/forms/model_forms.py:1325 #: netbox/dcim/models/device_components.py:712 #: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316 @@ -2874,18 +2878,18 @@ msgstr "Atanmış VID" msgid "VRF" msgstr "VRF" -#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322 +#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322 #: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 #: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 msgid "VRF (RD)" msgstr "VRF (RD)" -#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016 +#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016 #: netbox/vpn/filtersets.py:361 msgid "L2VPN (ID)" msgstr "L2VPN (KİMLİĞİ)" -#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339 +#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351 #: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022 #: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133 #: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 @@ -2897,84 +2901,84 @@ msgstr "L2VPN (KİMLİĞİ)" msgid "L2VPN" msgstr "L2VPN" -#: netbox/dcim/filtersets.py:1595 +#: netbox/dcim/filtersets.py:1606 msgid "Virtual Chassis Interfaces for Device" -msgstr "Aygıt için Sanal Kasa Arabirimleri" +msgstr "Cihaz için Sanal Şasi Arayüzleri" -#: netbox/dcim/filtersets.py:1600 +#: netbox/dcim/filtersets.py:1611 msgid "Virtual Chassis Interfaces for Device (ID)" -msgstr "Aygıt için Sanal Kasa Arabirimleri (ID)" +msgstr "Cihaz için Sanal Şasi Arayüzleri (ID)" -#: netbox/dcim/filtersets.py:1604 +#: netbox/dcim/filtersets.py:1615 msgid "Kind of interface" msgstr "Arayüz türü" -#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289 +#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289 msgid "Parent interface (ID)" msgstr "Ebeveyn arabirimi (ID)" -#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294 +#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294 msgid "Bridged interface (ID)" msgstr "Köprülü arayüz (ID)" -#: netbox/dcim/filtersets.py:1619 +#: netbox/dcim/filtersets.py:1630 msgid "LAG interface (ID)" msgstr "LAG arabirimi (ID)" -#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658 -#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669 +#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" -msgstr "Sanal Aygıt Bağlamı" - -#: netbox/dcim/filtersets.py:1652 -msgid "Virtual Device Context (Identifier)" -msgstr "Sanal Aygıt Bağlamı (Tanımlayıcı)" +msgstr "Sanal Cihaz Bağlamı" #: netbox/dcim/filtersets.py:1663 +msgid "Virtual Device Context (Identifier)" +msgstr "Sanal Cihaz Bağlamı (Tanımlayıcı)" + +#: netbox/dcim/filtersets.py:1674 #: netbox/templates/wireless/wirelesslan.html:11 #: netbox/wireless/forms/model_forms.py:53 msgid "Wireless LAN" msgstr "Kablosuz LAN" -#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597 msgid "Wireless link" msgstr "Kablosuz bağlantı" -#: netbox/dcim/filtersets.py:1737 +#: netbox/dcim/filtersets.py:1748 msgid "Installed module (ID)" msgstr "Yüklü modül (ID)" -#: netbox/dcim/filtersets.py:1748 +#: netbox/dcim/filtersets.py:1759 msgid "Installed device (ID)" msgstr "Yüklü cihaz (ID)" -#: netbox/dcim/filtersets.py:1754 +#: netbox/dcim/filtersets.py:1765 msgid "Installed device (name)" msgstr "Yüklü cihaz (isim)" -#: netbox/dcim/filtersets.py:1820 +#: netbox/dcim/filtersets.py:1831 msgid "Master (ID)" msgstr "Master (ID)" -#: netbox/dcim/filtersets.py:1826 +#: netbox/dcim/filtersets.py:1837 msgid "Master (name)" msgstr "Master (isim)" -#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246 msgid "Tenant (ID)" msgstr "Kiracı (ID)" -#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570 +#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570 #: netbox/tenancy/filtersets.py:252 msgid "Tenant (slug)" msgstr "Kiracı (kısa ad)" -#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996 +#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008 msgid "Unterminated" msgstr "Sonlandırılmamış" -#: netbox/dcim/filtersets.py:2168 +#: netbox/dcim/filtersets.py:2179 msgid "Power panel (ID)" msgstr "Güç paneli (ID)" @@ -2989,12 +2993,12 @@ msgstr "Güç paneli (ID)" msgid "Tags" msgstr "Etiketler" -#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396 +#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408 #: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162 #: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242 -#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130 +#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:34 #: netbox/templates/dcim/virtualchassis.html:66 #: netbox/templates/dcim/virtualchassis_edit.html:55 @@ -3068,9 +3072,9 @@ msgid "Time zone" msgstr "Saat dilimi" #: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160 -#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207 -#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300 -#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426 +#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204 +#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301 +#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438 #: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018 #: netbox/dcim/forms/model_forms.py:1457 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166 @@ -3087,7 +3091,7 @@ msgstr "Saat dilimi" #: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257 #: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363 #: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230 -#: netbox/templates/dcim/device.html:180 +#: netbox/templates/dcim/device.html:182 #: netbox/templates/dcim/inc/panels/inventory_items.html:20 #: netbox/templates/dcim/interface.html:223 #: netbox/templates/dcim/inventoryitem.html:36 @@ -3119,14 +3123,14 @@ msgstr "Rol" msgid "Serial Number" msgstr "Seri Numarası" -#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307 -#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886 -#: netbox/dcim/forms/filtersets.py:1438 +#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308 +#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898 +#: netbox/dcim/forms/filtersets.py:1450 msgid "Asset tag" msgstr "Varlık etiketi" -#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220 -#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86 +#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86 msgid "Width" msgstr "Genişlik" @@ -3146,7 +3150,7 @@ msgstr "Dış genişlik" msgid "Outer depth" msgstr "Dış derinlik" -#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225 +#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222 msgid "Outer unit" msgstr "Dış ünite" @@ -3157,18 +3161,18 @@ msgstr "Montaj derinliği" #: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351 #: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459 #: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495 -#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358 -#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312 -#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423 -#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548 -#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232 +#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355 +#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313 +#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424 +#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549 +#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232 #: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103 #: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103 #: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108 #: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278 #: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134 #: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188 -#: netbox/templates/dcim/device.html:317 +#: netbox/templates/dcim/device.html:324 #: netbox/templates/dcim/devicetype.html:49 #: netbox/templates/dcim/moduletype.html:30 #: netbox/templates/extras/configcontext.html:17 @@ -3178,25 +3182,25 @@ msgstr "Montaj derinliği" msgid "Weight" msgstr "Ağırlığı" -#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317 +#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318 msgid "Max weight" msgstr "Maksimum ağırlık" #: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441 -#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231 -#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363 -#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533 -#: netbox/dcim/forms/filtersets.py:608 +#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534 +#: netbox/dcim/forms/filtersets.py:609 msgid "Weight unit" msgstr "Ağırlık birimi" #: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808 -#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273 -#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309 -#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102 -#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354 -#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701 -#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086 +#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270 +#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297 +#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103 +#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355 +#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703 +#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098 #: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248 #: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703 #: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158 @@ -3213,9 +3217,9 @@ msgid "Rack" msgstr "Raf" #: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628 -#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 -#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543 -#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861 +#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334 +#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544 +#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873 #: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" @@ -3224,12 +3228,12 @@ msgstr "Donanım" #: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466 #: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554 #: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165 -#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319 -#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395 -#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027 -#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554 -#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711 -#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431 +#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316 +#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389 +#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021 +#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555 +#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713 +#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443 #: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293 #: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379 #: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462 @@ -3246,13 +3250,13 @@ msgstr "Donanım" msgid "Manufacturer" msgstr "Üretici" -#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325 -#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297 +#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297 msgid "Default platform" msgstr "Varsayılan platform" #: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471 -#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557 +#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558 msgid "Part number" msgstr "Parça numarası" @@ -3265,8 +3269,8 @@ msgid "Exclude from utilization" msgstr "Kullanımdan hariç tut" #: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603 -#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446 -#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98 +#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447 +#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98 #: netbox/templates/dcim/devicetype.html:65 msgid "Airflow" msgstr "Hava akışı" @@ -3276,7 +3280,7 @@ msgstr "Hava akışı" #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:58 msgid "Device Type" -msgstr "Aygıt Türü" +msgstr "Cihaz Türü" #: netbox/dcim/forms/bulk_edit.py:494 netbox/dcim/forms/model_forms.py:345 #: netbox/dcim/tables/modules.py:17 netbox/dcim/tables/modules.py:65 @@ -3291,11 +3295,11 @@ msgid "VM role" msgstr "VM rolü" #: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535 -#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376 -#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402 -#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531 -#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619 -#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752 +#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373 +#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396 +#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525 +#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620 +#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754 #: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384 #: netbox/dcim/forms/model_forms.py:498 #: netbox/virtualization/forms/bulk_import.py:132 @@ -3306,21 +3310,21 @@ msgid "Config template" msgstr "Yapılandırma şablonu" #: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959 -#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112 +#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113 #: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820 #: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499 msgid "Device type" -msgstr "Aygıt tipi" +msgstr "Cihaz tipi" -#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418 -#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452 +#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412 +#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452 msgid "Device role" -msgstr "Aygıt rolü" +msgstr "Cihaz rolü" -#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443 -#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394 +#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437 +#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394 #: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179 -#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184 +#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186 #: netbox/templates/dcim/platform.html:26 #: netbox/templates/virtualization/virtualmachine.html:27 #: netbox/virtualization/forms/bulk_edit.py:160 @@ -3333,21 +3337,21 @@ msgstr "Platform" #: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179 #: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589 -#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648 -#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700 -#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773 -#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939 -#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968 -#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373 -#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129 -#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970 -#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182 -#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221 -#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349 -#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 -#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421 -#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508 -#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576 +#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642 +#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694 +#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767 +#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933 +#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962 +#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361 +#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130 +#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982 +#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194 +#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233 +#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361 +#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404 +#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433 +#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520 +#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576 #: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156 #: netbox/dcim/forms/model_forms.py:1611 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 @@ -3365,7 +3369,7 @@ msgstr "Platform" #: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176 #: netbox/templates/dcim/consoleport.html:20 #: netbox/templates/dcim/consoleserverport.html:20 -#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129 +#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 #: netbox/templates/dcim/device_edit.html:10 #: netbox/templates/dcim/devicebay.html:20 #: netbox/templates/dcim/devicebay.html:48 @@ -3397,7 +3401,7 @@ msgstr "Platform" #: netbox/wireless/forms/model_forms.py:141 #: netbox/wireless/tables/wirelesslan.py:75 msgid "Device" -msgstr "Aygıt" +msgstr "Cihaz" #: netbox/dcim/forms/bulk_edit.py:629 #: netbox/templates/extras/dashboard/widget_config.html:7 @@ -3405,7 +3409,7 @@ msgstr "Aygıt" msgid "Configuration" msgstr "Yapılandırma" -#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598 +#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592 #: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845 msgid "Module type" msgstr "Modül tipi" @@ -3415,7 +3419,7 @@ msgstr "Modül tipi" #: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010 #: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088 #: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133 -#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65 +#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66 #: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 #: netbox/templates/dcim/consoleport.html:32 #: netbox/templates/dcim/consoleserverport.html:32 @@ -3433,13 +3437,13 @@ msgstr "Modül tipi" msgid "Label" msgstr "etiket" -#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987 +#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999 #: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "Uzunluk" -#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174 -#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991 +#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165 +#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003 msgid "Length unit" msgstr "Uzunluk birimi" @@ -3448,34 +3452,34 @@ msgstr "Uzunluk birimi" msgid "Domain" msgstr "Alan adı" -#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296 -#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698 +#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284 +#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698 msgid "Power panel" msgstr "Güç paneli" -#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332 -#: netbox/dcim/forms/filtersets.py:1099 +#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320 +#: netbox/dcim/forms/filtersets.py:1111 #: netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "Tedarik" -#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337 -#: netbox/dcim/forms/filtersets.py:1104 +#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325 +#: netbox/dcim/forms/filtersets.py:1116 #: netbox/templates/dcim/powerfeed.html:95 msgid "Phase" msgstr "Faz" -#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109 +#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121 #: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "Gerilim" -#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113 +#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125 #: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" msgstr "Amper" -#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117 +#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129 msgid "Max utilization" msgstr "Maksimum kullanım" @@ -3499,13 +3503,13 @@ msgstr "Tahsis edilen çekiliş" msgid "Allocated power draw (watts)" msgstr "Tahsis edilen güç çekimi (watt)" -#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731 +#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725 #: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226 #: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Güç bağlantı noktası" -#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738 +#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732 msgid "Feed leg" msgstr "Besleme bacağı" @@ -3514,7 +3518,7 @@ msgid "Management only" msgstr "Yalnızca yönetim" #: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339 -#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300 +#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312 #: netbox/dcim/forms/object_import.py:90 #: netbox/dcim/models/device_component_templates.py:411 #: netbox/dcim/models/device_components.py:671 @@ -3522,14 +3526,14 @@ msgid "PoE mode" msgstr "PoE modu" #: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345 -#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305 +#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317 #: netbox/dcim/forms/object_import.py:95 #: netbox/dcim/models/device_component_templates.py:417 #: netbox/dcim/models/device_components.py:677 msgid "PoE type" msgstr "PoE tipi" -#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310 +#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322 #: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "Kablosuz rolü" @@ -3557,9 +3561,9 @@ msgstr "GECİKME" msgid "Virtual device contexts" msgstr "Sanal cihaz bağlamları" -#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659 -#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169 -#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264 +#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181 +#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276 #: netbox/dcim/tables/devices.py:594 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 @@ -3567,7 +3571,7 @@ msgstr "Sanal cihaz bağlamları" msgid "Speed" msgstr "Hız" -#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830 +#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824 #: netbox/templates/vpn/ikepolicy.html:25 #: netbox/templates/vpn/ipsecprofile.html:21 #: netbox/templates/vpn/ipsecprofile.html:48 @@ -3613,7 +3617,7 @@ msgstr "Kablosuz LAN grubu" msgid "Wireless LANs" msgstr "Kablosuz LAN'lar" -#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237 +#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249 #: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271 #: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 @@ -3622,13 +3626,13 @@ msgstr "Kablosuz LAN'lar" msgid "Addressing" msgstr "Adresleme" -#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650 +#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651 #: netbox/dcim/forms/model_forms.py:1338 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operasyon" -#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238 +#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250 #: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340 msgid "PoE" msgstr "PoE" @@ -3676,8 +3680,8 @@ msgstr "Atanan grup" msgid "available options" msgstr "mevcut seçenekler" -#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488 -#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174 +#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482 +#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174 #: netbox/ipam/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:63 #: netbox/virtualization/forms/bulk_import.py:89 @@ -3692,105 +3696,106 @@ msgstr "Ana konum" msgid "Location not found." msgstr "Konum bulunamadı." -#: netbox/dcim/forms/bulk_import.py:199 +#: netbox/dcim/forms/bulk_import.py:196 msgid "Name of assigned tenant" msgstr "Atanan kiracının adı" -#: netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:208 msgid "Name of assigned role" msgstr "Atanan rolün adı" -#: netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/bulk_import.py:214 msgid "Rack type" msgstr "Raf tipi" -#: netbox/dcim/forms/bulk_import.py:222 +#: netbox/dcim/forms/bulk_import.py:219 msgid "Rail-to-rail width (in inches)" msgstr "Ray-ray genişliği (inç cinsinden)" -#: netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:225 msgid "Unit for outer dimensions" msgstr "Dış boyutlar için birim" -#: netbox/dcim/forms/bulk_import.py:234 +#: netbox/dcim/forms/bulk_import.py:231 msgid "Unit for rack weights" msgstr "Raf ağırlıkları için ünite" -#: netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:257 msgid "Parent site" msgstr "Ana site" -#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306 +#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294 msgid "Rack's location (if any)" msgstr "Rafın konumu (varsa)" -#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253 +#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253 #: netbox/dcim/tables/racks.py:153 #: netbox/templates/dcim/rackreservation.html:12 #: netbox/templates/dcim/rackreservation.html:45 msgid "Units" msgstr "Birimler" -#: netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:276 msgid "Comma-separated list of individual unit numbers" msgstr "Bireysel birim numaralarının virgülle ayrılmış listesi" -#: netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/bulk_import.py:319 msgid "The manufacturer which produces this device type" msgstr "Bu cihaz tipini üreten üretici" -#: netbox/dcim/forms/bulk_import.py:329 +#: netbox/dcim/forms/bulk_import.py:326 msgid "The default platform for devices of this type (optional)" msgstr "Bu tür cihazlar için varsayılan platform (isteğe bağlı)" -#: netbox/dcim/forms/bulk_import.py:334 +#: netbox/dcim/forms/bulk_import.py:331 msgid "Device weight" -msgstr "Aygıt ağırlığı" +msgstr "Cihaz ağırlığı" -#: netbox/dcim/forms/bulk_import.py:340 +#: netbox/dcim/forms/bulk_import.py:337 msgid "Unit for device weight" -msgstr "Aygıt ağırlığı için birim" +msgstr "Cihaz ağırlığı için birim" -#: netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/bulk_import.py:357 msgid "Module weight" msgstr "Modül ağırlığı" -#: netbox/dcim/forms/bulk_import.py:366 +#: netbox/dcim/forms/bulk_import.py:363 msgid "Unit for module weight" msgstr "Modül ağırlığı için birim" -#: netbox/dcim/forms/bulk_import.py:399 +#: netbox/dcim/forms/bulk_import.py:393 msgid "Limit platform assignments to this manufacturer" msgstr "Platform atamalarını bu üreticiye sınırlayın" -#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376 +#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364 #: netbox/tenancy/forms/bulk_import.py:106 msgid "Assigned role" msgstr "Atanan rol" -#: netbox/dcim/forms/bulk_import.py:434 +#: netbox/dcim/forms/bulk_import.py:428 msgid "Device type manufacturer" -msgstr "Aygıt tipi üreticisi" +msgstr "Cihaz tipi üreticisi" -#: netbox/dcim/forms/bulk_import.py:440 +#: netbox/dcim/forms/bulk_import.py:434 msgid "Device type model" -msgstr "Aygıt tipi modeli" +msgstr "Cihaz tipi modeli" -#: netbox/dcim/forms/bulk_import.py:447 +#: netbox/dcim/forms/bulk_import.py:441 #: netbox/virtualization/forms/bulk_import.py:126 msgid "Assigned platform" msgstr "Atanan platform" -#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459 +#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453 #: netbox/dcim/forms/model_forms.py:479 msgid "Virtual chassis" msgstr "Sanal şasi" -#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465 +#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659 +#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465 #: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548 #: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479 #: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459 -#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232 +#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239 #: netbox/templates/virtualization/cluster.html:10 #: netbox/templates/virtualization/virtualmachine.html:88 #: netbox/templates/virtualization/virtualmachine.html:97 @@ -3807,63 +3812,63 @@ msgstr "Sanal şasi" msgid "Cluster" msgstr "Küme" -#: netbox/dcim/forms/bulk_import.py:466 +#: netbox/dcim/forms/bulk_import.py:460 msgid "Virtualization cluster" msgstr "Sanallaştırma kümesi" -#: netbox/dcim/forms/bulk_import.py:495 +#: netbox/dcim/forms/bulk_import.py:489 msgid "Assigned location (if any)" msgstr "Atanan konum (varsa)" -#: netbox/dcim/forms/bulk_import.py:502 +#: netbox/dcim/forms/bulk_import.py:496 msgid "Assigned rack (if any)" msgstr "Atanmış raf (varsa)" -#: netbox/dcim/forms/bulk_import.py:505 +#: netbox/dcim/forms/bulk_import.py:499 msgid "Face" msgstr "Yüz" -#: netbox/dcim/forms/bulk_import.py:508 +#: netbox/dcim/forms/bulk_import.py:502 msgid "Mounted rack face" msgstr "Monte edilmiş raf yüzü" -#: netbox/dcim/forms/bulk_import.py:515 +#: netbox/dcim/forms/bulk_import.py:509 msgid "Parent device (for child devices)" -msgstr "Ana cihaz (çocuk cihazlar için)" +msgstr "Ana cihaz (alt cihazlar için)" -#: netbox/dcim/forms/bulk_import.py:518 +#: netbox/dcim/forms/bulk_import.py:512 msgid "Device bay" -msgstr "Aygıt yuvası" +msgstr "Cihaz yuvası" + +#: netbox/dcim/forms/bulk_import.py:516 +msgid "Device bay in which this device is installed (for child devices)" +msgstr "Bu cihazın kurulu olduğu cihaz yuvası (alt cihazlar için)" #: netbox/dcim/forms/bulk_import.py:522 -msgid "Device bay in which this device is installed (for child devices)" -msgstr "Bu cihazın kurulu olduğu cihaz yuvası (çocuk cihazlar için)" - -#: netbox/dcim/forms/bulk_import.py:528 msgid "Airflow direction" msgstr "Hava akışı yönü" -#: netbox/dcim/forms/bulk_import.py:589 +#: netbox/dcim/forms/bulk_import.py:583 msgid "The device in which this module is installed" msgstr "Bu modülün kurulu olduğu cihaz" -#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583 +#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583 msgid "Module bay" msgstr "Modül yuvası" -#: netbox/dcim/forms/bulk_import.py:595 +#: netbox/dcim/forms/bulk_import.py:589 msgid "The module bay in which this module is installed" msgstr "Bu modülün kurulu olduğu modül yuvası" -#: netbox/dcim/forms/bulk_import.py:601 +#: netbox/dcim/forms/bulk_import.py:595 msgid "The type of module" msgstr "Modül türü" -#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599 +#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599 msgid "Replicate components" msgstr "Bileşenleri çoğaltın" -#: netbox/dcim/forms/bulk_import.py:611 +#: netbox/dcim/forms/bulk_import.py:605 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" @@ -3871,87 +3876,87 @@ msgstr "" "Bu modül türüyle ilişkili bileşenleri otomatik olarak doldurun (varsayılan " "olarak etkindir)" -#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605 +#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605 msgid "Adopt components" msgstr "Bileşenleri benimseyin" -#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608 +#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608 msgid "Adopt already existing components" msgstr "Mevcut bileşenleri benimseyin" -#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682 -#: netbox/dcim/forms/bulk_import.py:708 +#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676 +#: netbox/dcim/forms/bulk_import.py:702 msgid "Port type" msgstr "Bağlantı noktası tipi" -#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690 +#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684 msgid "Port speed in bps" msgstr "Bps cinsinden bağlantı noktası hızı" -#: netbox/dcim/forms/bulk_import.py:728 +#: netbox/dcim/forms/bulk_import.py:722 msgid "Outlet type" msgstr "Çıkış tipi" -#: netbox/dcim/forms/bulk_import.py:735 +#: netbox/dcim/forms/bulk_import.py:729 msgid "Local power port which feeds this outlet" msgstr "Bu prizi besleyen yerel güç portu" -#: netbox/dcim/forms/bulk_import.py:741 +#: netbox/dcim/forms/bulk_import.py:735 msgid "Electrical phase (for three-phase circuits)" msgstr "Elektrik fazı (üç fazlı devreler için)" -#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264 +#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264 #: netbox/virtualization/forms/bulk_import.py:155 #: netbox/virtualization/forms/model_forms.py:305 msgid "Parent interface" msgstr "Ebeveyn arayüzü" -#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272 +#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272 #: netbox/virtualization/forms/bulk_import.py:162 #: netbox/virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "Köprülü arayüz" -#: netbox/dcim/forms/bulk_import.py:792 +#: netbox/dcim/forms/bulk_import.py:786 msgid "Lag" msgstr "Gecikme" -#: netbox/dcim/forms/bulk_import.py:796 +#: netbox/dcim/forms/bulk_import.py:790 msgid "Parent LAG interface" msgstr "Ebeveyn LAG arayüzü" -#: netbox/dcim/forms/bulk_import.py:799 +#: netbox/dcim/forms/bulk_import.py:793 msgid "Vdcs" msgstr "Vdcs" -#: netbox/dcim/forms/bulk_import.py:804 +#: netbox/dcim/forms/bulk_import.py:798 msgid "VDC names separated by commas, encased with double quotes. Example:" msgstr "" "VDC isimleri virgülle ayrılmış, çift tırnak işareti ile çevrelenmiştir. " "Örnek:" -#: netbox/dcim/forms/bulk_import.py:810 +#: netbox/dcim/forms/bulk_import.py:804 msgid "Physical medium" msgstr "Fiziksel ortam" -#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283 msgid "Duplex" msgstr "Dubleks" -#: netbox/dcim/forms/bulk_import.py:818 +#: netbox/dcim/forms/bulk_import.py:812 msgid "Poe mode" msgstr "Poe modu" -#: netbox/dcim/forms/bulk_import.py:824 +#: netbox/dcim/forms/bulk_import.py:818 msgid "Poe type" msgstr "Poe tipi" -#: netbox/dcim/forms/bulk_import.py:833 +#: netbox/dcim/forms/bulk_import.py:827 #: netbox/virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" msgstr "IEEE 802.1Q çalışma modu (L2 arayüzleri için)" -#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160 +#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160 #: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282 #: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277 #: netbox/ipam/forms/filtersets.py:336 @@ -3959,150 +3964,150 @@ msgstr "IEEE 802.1Q çalışma modu (L2 arayüzleri için)" msgid "Assigned VRF" msgstr "Atanmış VRF" -#: netbox/dcim/forms/bulk_import.py:843 +#: netbox/dcim/forms/bulk_import.py:837 msgid "Rf role" msgstr "Rf rolü" -#: netbox/dcim/forms/bulk_import.py:846 +#: netbox/dcim/forms/bulk_import.py:840 msgid "Wireless role (AP/station)" msgstr "Kablosuz rolü (AP/istasyon)" -#: netbox/dcim/forms/bulk_import.py:882 +#: netbox/dcim/forms/bulk_import.py:876 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} cihaza atanmadı {device}" -#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948 +#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948 #: netbox/dcim/forms/model_forms.py:1522 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Arka bağlantı noktası" -#: netbox/dcim/forms/bulk_import.py:899 +#: netbox/dcim/forms/bulk_import.py:893 msgid "Corresponding rear port" msgstr "İlgili arka bağlantı noktası" -#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945 -#: netbox/dcim/forms/bulk_import.py:1164 +#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939 +#: netbox/dcim/forms/bulk_import.py:1155 msgid "Physical medium classification" msgstr "Fiziksel ortam sınıflandırması" -#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805 +#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805 msgid "Installed device" msgstr "Yüklü cihaz" -#: netbox/dcim/forms/bulk_import.py:977 +#: netbox/dcim/forms/bulk_import.py:971 msgid "Child device installed within this bay" msgstr "Bu bölmeye takılan çocuk cihazı" -#: netbox/dcim/forms/bulk_import.py:979 +#: netbox/dcim/forms/bulk_import.py:973 msgid "Child device not found." msgstr "Çocuk cihazı bulunamadı." -#: netbox/dcim/forms/bulk_import.py:1037 +#: netbox/dcim/forms/bulk_import.py:1031 msgid "Parent inventory item" msgstr "Ana envanter kalemi" -#: netbox/dcim/forms/bulk_import.py:1040 +#: netbox/dcim/forms/bulk_import.py:1034 msgid "Component type" msgstr "Bileşen tipi" -#: netbox/dcim/forms/bulk_import.py:1044 +#: netbox/dcim/forms/bulk_import.py:1038 msgid "Component Type" msgstr "Bileşen Türü" -#: netbox/dcim/forms/bulk_import.py:1047 +#: netbox/dcim/forms/bulk_import.py:1041 msgid "Compnent name" msgstr "Bileşen adı" -#: netbox/dcim/forms/bulk_import.py:1049 +#: netbox/dcim/forms/bulk_import.py:1043 msgid "Component Name" msgstr "Bileşen Adı" -#: netbox/dcim/forms/bulk_import.py:1091 +#: netbox/dcim/forms/bulk_import.py:1085 #, python-brace-format msgid "Component not found: {device} - {component_name}" msgstr "Bileşen bulunamadı: {device} - {component_name}" -#: netbox/dcim/forms/bulk_import.py:1119 +#: netbox/dcim/forms/bulk_import.py:1110 msgid "Side A device" msgstr "A Tarafı Cihazı" -#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140 +#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131 msgid "Device name" -msgstr "Aygıt adı" +msgstr "Cihaz adı" -#: netbox/dcim/forms/bulk_import.py:1125 +#: netbox/dcim/forms/bulk_import.py:1116 msgid "Side A type" msgstr "Taraf A tipi" -#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137 msgid "Termination type" msgstr "Sonlandırma türü" -#: netbox/dcim/forms/bulk_import.py:1131 +#: netbox/dcim/forms/bulk_import.py:1122 msgid "Side A name" msgstr "A Tarafı adı" -#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150 +#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141 msgid "Termination name" msgstr "Fesih adı" -#: netbox/dcim/forms/bulk_import.py:1137 +#: netbox/dcim/forms/bulk_import.py:1128 msgid "Side B device" msgstr "B tarafı cihazı" -#: netbox/dcim/forms/bulk_import.py:1143 +#: netbox/dcim/forms/bulk_import.py:1134 msgid "Side B type" msgstr "Taraf B tipi" -#: netbox/dcim/forms/bulk_import.py:1149 +#: netbox/dcim/forms/bulk_import.py:1140 msgid "Side B name" msgstr "B tarafı adı" -#: netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1149 #: netbox/wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "Bağlantı durumu" -#: netbox/dcim/forms/bulk_import.py:1213 +#: netbox/dcim/forms/bulk_import.py:1201 #, python-brace-format msgid "Side {side_upper}: {device} {termination_object} is already connected" msgstr "Yan {side_upper}: {device} {termination_object} zaten bağlı" -#: netbox/dcim/forms/bulk_import.py:1219 +#: netbox/dcim/forms/bulk_import.py:1207 #, python-brace-format msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} yan sonlandırma bulunamadı: {device} {name}" -#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733 -#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131 +#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733 +#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" msgstr "Usta" -#: netbox/dcim/forms/bulk_import.py:1248 +#: netbox/dcim/forms/bulk_import.py:1236 msgid "Master device" msgstr "Ana cihaz" -#: netbox/dcim/forms/bulk_import.py:1265 +#: netbox/dcim/forms/bulk_import.py:1253 msgid "Name of parent site" msgstr "Ana sitenin adı" -#: netbox/dcim/forms/bulk_import.py:1299 +#: netbox/dcim/forms/bulk_import.py:1287 msgid "Upstream power panel" msgstr "Yukarı akış güç paneli" -#: netbox/dcim/forms/bulk_import.py:1329 +#: netbox/dcim/forms/bulk_import.py:1317 msgid "Primary or redundant" msgstr "Birincil veya gereksiz" -#: netbox/dcim/forms/bulk_import.py:1334 +#: netbox/dcim/forms/bulk_import.py:1322 msgid "Supply type (AC/DC)" msgstr "Besleme tipi (AC/DC)" -#: netbox/dcim/forms/bulk_import.py:1339 +#: netbox/dcim/forms/bulk_import.py:1327 msgid "Single or three-phase" msgstr "Tek veya üç fazlı" @@ -4159,11 +4164,11 @@ msgstr "Güç Beslemesi" msgid "Side" msgstr "Yan" -#: netbox/dcim/forms/filtersets.py:142 +#: netbox/dcim/forms/filtersets.py:143 msgid "Parent region" msgstr "Ana bölge" -#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28 +#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28 #: netbox/tenancy/forms/bulk_import.py:62 #: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62 #: netbox/wireless/forms/bulk_import.py:25 @@ -4171,51 +4176,58 @@ msgstr "Ana bölge" msgid "Parent group" msgstr "Ebeveyn grubu" -#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332 +#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 msgid "Function" msgstr "Fonksiyon" -#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317 +#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317 #: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "Görüntüler" -#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546 -#: netbox/dcim/forms/filtersets.py:656 +#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547 +#: netbox/dcim/forms/filtersets.py:657 msgid "Components" msgstr "Bileşenleri" -#: netbox/dcim/forms/filtersets.py:441 +#: netbox/dcim/forms/filtersets.py:442 msgid "Subdevice role" msgstr "Alt aygıt rolü" -#: netbox/dcim/forms/filtersets.py:719 +#: netbox/dcim/forms/filtersets.py:721 msgid "Model" msgstr "Modeli" -#: netbox/dcim/forms/filtersets.py:763 +#: netbox/dcim/forms/filtersets.py:765 msgid "Has an OOB IP" msgstr "OOB IP'ye sahiptir" -#: netbox/dcim/forms/filtersets.py:770 +#: netbox/dcim/forms/filtersets.py:772 msgid "Virtual chassis member" msgstr "Sanal şasi elemanı" -#: netbox/dcim/forms/filtersets.py:819 +#: netbox/dcim/forms/filtersets.py:821 msgid "Has virtual device contexts" msgstr "Sanal cihaz bağlamlarına sahiptir" -#: netbox/dcim/forms/filtersets.py:1129 +#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537 +#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464 +#: netbox/ipam/forms/model_forms.py:624 +#: netbox/virtualization/forms/filtersets.py:112 +msgid "Cluster group" +msgstr "Küme grubu" + +#: netbox/dcim/forms/filtersets.py:1141 msgid "Cabled" msgstr "Kablolu" -#: netbox/dcim/forms/filtersets.py:1136 +#: netbox/dcim/forms/filtersets.py:1148 msgid "Occupied" msgstr "işgal" -#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183 -#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222 -#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352 +#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195 +#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234 +#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352 #: netbox/templates/dcim/consoleport.html:55 #: netbox/templates/dcim/consoleserverport.html:55 #: netbox/templates/dcim/frontport.html:69 @@ -4227,42 +4239,42 @@ msgstr "işgal" msgid "Connection" msgstr "Bağlantı" -#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316 -#: netbox/extras/forms/bulk_import.py:242 +#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316 +#: netbox/extras/forms/bulk_import.py:239 #: netbox/extras/forms/filtersets.py:473 #: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513 #: netbox/templates/extras/journalentry.html:30 msgid "Kind" msgstr "Tür" -#: netbox/dcim/forms/filtersets.py:1283 +#: netbox/dcim/forms/filtersets.py:1295 msgid "Mgmt only" msgstr "Sadece Mgmt" -#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330 +#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" -#: netbox/dcim/forms/filtersets.py:1315 +#: netbox/dcim/forms/filtersets.py:1327 msgid "Wireless channel" msgstr "Kablosuz kanal" -#: netbox/dcim/forms/filtersets.py:1319 +#: netbox/dcim/forms/filtersets.py:1331 msgid "Channel frequency (MHz)" msgstr "Kanal frekansı (MHz)" -#: netbox/dcim/forms/filtersets.py:1323 +#: netbox/dcim/forms/filtersets.py:1335 msgid "Channel width (MHz)" msgstr "Kanal genişliği (MHz)" -#: netbox/dcim/forms/filtersets.py:1327 +#: netbox/dcim/forms/filtersets.py:1339 #: netbox/templates/dcim/interface.html:85 msgid "Transmit power (dBm)" msgstr "İletim gücü (dBm)" -#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372 +#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384 #: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12 #: netbox/templates/dcim/cable_trace.html:46 #: netbox/templates/dcim/frontport.html:77 @@ -4273,7 +4285,7 @@ msgstr "İletim gücü (dBm)" msgid "Cable" msgstr "Kablo" -#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915 +#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915 msgid "Discovered" msgstr "Keşfedildi" @@ -4298,7 +4310,7 @@ msgstr "Envanter Kontrolü" msgid "Outer Dimensions" msgstr "Dış Ölçüler" -#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308 +#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315 #: netbox/templates/dcim/rack.html:73 msgid "Dimensions" msgstr "Ölçüler" @@ -4328,7 +4340,7 @@ msgstr "Şasi" #: netbox/dcim/forms/model_forms.py:366 #: netbox/templates/dcim/devicerole.html:23 msgid "Device Role" -msgstr "Aygıt Rolü" +msgstr "Cİhaz Rolü" #: netbox/dcim/forms/model_forms.py:433 netbox/dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" @@ -4338,7 +4350,7 @@ msgstr "Cihazın kullandığı en düşük numaralı birim" msgid "The position in the virtual chassis this device is identified by" msgstr "Bu cihazın sanal kasadaki konumu tanımlanır" -#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132 +#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133 #: netbox/templates/dcim/virtualchassis.html:68 #: netbox/templates/dcim/virtualchassis_edit.html:56 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 @@ -4518,13 +4530,13 @@ msgstr "Envanter Öğesi" msgid "Inventory Item Role" msgstr "Envanter Öğesi Rolü" -#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188 +#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190 #: netbox/templates/dcim/virtualdevicecontext.html:30 #: netbox/templates/virtualization/virtualmachine.html:48 msgid "Primary IPv4" msgstr "Birincil IPv4" -#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204 +#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206 #: netbox/templates/dcim/virtualdevicecontext.html:41 #: netbox/templates/virtualization/virtualmachine.html:64 msgid "Primary IPv6" @@ -4612,7 +4624,7 @@ msgstr "İlk VC üyesi için bir pozisyon belirtilmelidir." #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 #: netbox/dcim/models/device_components.py:63 -#: netbox/extras/models/customfields.py:109 +#: netbox/extras/models/customfields.py:110 msgid "label" msgstr "etiketlemek" @@ -5289,13 +5301,13 @@ msgstr "Bu tür bir cihaz ({device_type}) cihaz bölmelerini desteklemez." #: netbox/dcim/models/device_components.py:1143 msgid "Cannot install a device into itself." -msgstr "Bir aygıt kendi içine yüklenemiyor." +msgstr "Bir cihaz kendi içine yüklenemiyor." #: netbox/dcim/models/device_components.py:1151 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." -msgstr "Belirtilen aygıt yüklenemiyor; cihaz zaten yüklü {bay}." +msgstr "Belirtilen cihaz yüklenemiyor; cihaz zaten yüklü {bay}." #: netbox/dcim/models/device_components.py:1172 msgid "inventory item role" @@ -5395,7 +5407,7 @@ msgstr "tam derinliktir" #: netbox/dcim/models/devices.py:117 msgid "Device consumes both front and rear rack faces." -msgstr "Aygıt hem ön hem de arka raf yüzlerini tüketir." +msgstr "Cihaz hem ön hem de arka kabin yüzlerini tüketir." #: netbox/dcim/models/devices.py:123 msgid "parent/child status" @@ -5406,8 +5418,8 @@ msgid "" "Parent devices house child devices in device bays. Leave blank if this " "device type is neither a parent nor a child." msgstr "" -"Ana cihazlar, alt aygıtları cihaz yuvalarında barındırır. Bu cihaz türü " -"ebeveyn veya çocuk değilse boş bırakın." +"Ana cihazlar, alt cihazarı cihaz yuvalarında barındırır. Bu cihaz türü ana " +"veya alt cihaz değilse boş bırakın." #: netbox/dcim/models/devices.py:128 netbox/dcim/models/devices.py:649 msgid "airflow" @@ -5431,8 +5443,8 @@ msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" " a height of {height}U" msgstr "" -"Aygıt {device} rafta {rack} bir yüksekliği barındırmak için yeterli alana " -"sahip değildir {height}U" +"{rack} kabininde {device} cihazını {height}U yüksekliğinde barındırmak için " +"yeterli alan bulunmamaktadır" #: netbox/dcim/models/devices.py:322 #, python-brace-format @@ -5449,7 +5461,7 @@ msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." msgstr "" -"Ana aygıt olarak sınıflandırmadan önce bu aygıtla ilişkili tüm aygıt yuvası " +"Ana cihaz olarak sınıflandırmadan önce bu cihazla ilişkili tüm cihaz yuvası " "şablonlarını silmeniz gerekir." #: netbox/dcim/models/devices.py:337 @@ -5705,7 +5717,7 @@ msgstr "belirlemek" msgid "Numeric identifier unique to the parent device" msgstr "Ana aygıta benzersiz sayısal tanımlayıcı" -#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210 +#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211 #: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722 #: netbox/netbox/models/__init__.py:114 msgid "comments" @@ -6055,43 +6067,43 @@ msgstr "konumlar" msgid "Parent location ({parent}) must belong to the same site ({site})." msgstr "Ana konum ({parent}) aynı siteye ({site}) ait olmalıdır." -#: netbox/dcim/tables/cables.py:54 +#: netbox/dcim/tables/cables.py:55 msgid "Termination A" msgstr "Fesih A" -#: netbox/dcim/tables/cables.py:59 +#: netbox/dcim/tables/cables.py:60 msgid "Termination B" msgstr "Sonlandırma B" -#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22 +#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22 msgid "Device A" msgstr "Aygıt A" -#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31 +#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31 msgid "Device B" msgstr "Aygıt B" -#: netbox/dcim/tables/cables.py:77 +#: netbox/dcim/tables/cables.py:78 msgid "Location A" msgstr "Konum A" -#: netbox/dcim/tables/cables.py:83 +#: netbox/dcim/tables/cables.py:84 msgid "Location B" msgstr "Konum B" -#: netbox/dcim/tables/cables.py:89 +#: netbox/dcim/tables/cables.py:90 msgid "Rack A" msgstr "Raf A" -#: netbox/dcim/tables/cables.py:95 +#: netbox/dcim/tables/cables.py:96 msgid "Rack B" msgstr "Raf B" -#: netbox/dcim/tables/cables.py:101 +#: netbox/dcim/tables/cables.py:102 msgid "Site A" msgstr "Site A" -#: netbox/dcim/tables/cables.py:107 +#: netbox/dcim/tables/cables.py:108 msgid "Site B" msgstr "Site B" @@ -6107,7 +6119,7 @@ msgstr "Ulaşılabilir" #: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 #: netbox/virtualization/forms/model_forms.py:122 #: netbox/virtualization/tables/clusters.py:83 -#: netbox/virtualization/views.py:202 +#: netbox/virtualization/views.py:205 msgid "Devices" msgstr "Aygıtlar" @@ -6188,8 +6200,8 @@ msgid "Power outlets" msgstr "Elektrik prizleri" #: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046 -#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985 -#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988 +#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908 #: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237 #: netbox/templates/dcim/device/base.html:37 #: netbox/templates/dcim/device_list.html:43 @@ -6201,7 +6213,7 @@ msgstr "Elektrik prizleri" #: netbox/templates/virtualization/virtualmachine/base.html:27 #: netbox/templates/virtualization/virtualmachine_list.html:14 #: netbox/virtualization/tables/virtualmachines.py:100 -#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55 +#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "Arayüzler" @@ -6211,7 +6223,7 @@ msgstr "Ön bağlantı noktaları" #: netbox/dcim/tables/devices.py:252 msgid "Device bays" -msgstr "Aygıt yuvaları" +msgstr "Cihaz yuvaları" #: netbox/dcim/tables/devices.py:255 msgid "Module bays" @@ -6227,8 +6239,8 @@ msgid "Module Bay" msgstr "Modül Yuvası" #: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060 -#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063 +#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 #: netbox/templates/dcim/devicetype/base.html:49 @@ -6258,8 +6270,8 @@ msgid "Allocated draw (W)" msgstr "Tahsis edilen çekiliş (W)" #: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747 -#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589 -#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145 +#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596 +#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145 #: netbox/netbox/navigation/menu.py:147 #: netbox/templates/dcim/interface.html:339 #: netbox/templates/ipam/ipaddress_bulk_add.html:15 @@ -6322,7 +6334,7 @@ msgstr "Öğeler" #: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:71 #: netbox/netbox/navigation/menu.py:73 msgid "Device Types" -msgstr "Aygıt Türleri" +msgstr "Cihaz Türleri" #: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:74 msgid "Module Types" @@ -6352,8 +6364,8 @@ msgstr "U Yüksekliği" msgid "Instances" msgstr "Örnekler" -#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925 -#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928 +#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844 #: netbox/netbox/navigation/menu.py:84 #: netbox/templates/dcim/device/base.html:25 #: netbox/templates/dcim/device_list.html:15 @@ -6363,8 +6375,8 @@ msgstr "Örnekler" msgid "Console Ports" msgstr "Konsol Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940 -#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943 +#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860 #: netbox/netbox/navigation/menu.py:85 #: netbox/templates/dcim/device/base.html:28 #: netbox/templates/dcim/device_list.html:22 @@ -6374,8 +6386,8 @@ msgstr "Konsol Bağlantı Noktaları" msgid "Console Server Ports" msgstr "Konsol Sunucusu Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955 -#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958 +#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876 #: netbox/netbox/navigation/menu.py:86 #: netbox/templates/dcim/device/base.html:31 #: netbox/templates/dcim/device_list.html:29 @@ -6385,8 +6397,8 @@ msgstr "Konsol Sunucusu Bağlantı Noktaları" msgid "Power Ports" msgstr "Güç Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970 -#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973 +#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892 #: netbox/netbox/navigation/menu.py:87 #: netbox/templates/dcim/device/base.html:34 #: netbox/templates/dcim/device_list.html:36 @@ -6396,8 +6408,8 @@ msgstr "Güç Bağlantı Noktaları" msgid "Power Outlets" msgstr "Elektrik Prizleri" -#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000 -#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003 +#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930 #: netbox/netbox/navigation/menu.py:82 #: netbox/templates/dcim/device/base.html:40 #: netbox/templates/dcim/devicetype/base.html:37 @@ -6406,8 +6418,8 @@ msgstr "Elektrik Prizleri" msgid "Front Ports" msgstr "Ön Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015 -#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018 +#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946 #: netbox/netbox/navigation/menu.py:83 #: netbox/templates/dcim/device/base.html:43 #: netbox/templates/dcim/device_list.html:50 @@ -6417,16 +6429,16 @@ msgstr "Ön Bağlantı Noktaları" msgid "Rear Ports" msgstr "Arka Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045 -#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048 +#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 #: netbox/templates/dcim/devicetype/base.html:46 msgid "Device Bays" -msgstr "Aygıt Yuvaları" +msgstr "Cihaz Yuvaları" -#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030 -#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033 +#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88 #: netbox/templates/dcim/device/base.html:46 #: netbox/templates/dcim/device_list.html:64 #: netbox/templates/dcim/devicetype/base.html:43 @@ -6451,7 +6463,7 @@ msgstr "Kullanılabilir Güç (VA)" msgid "Racks" msgstr "Raflar" -#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311 +#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318 #: netbox/templates/dcim/rack.html:90 msgid "Height" msgstr "Yükseklik" @@ -6484,38 +6496,38 @@ msgstr "Siteler" msgid "Test case must set peer_termination_type" msgstr "Test senaryosu peer_termination_type ayarlamalıdır" -#: netbox/dcim/views.py:139 +#: netbox/dcim/views.py:140 #, python-brace-format msgid "Disconnected {count} {type}" msgstr "Bağlantısı kesildi {count} {type}" -#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28 +#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28 msgid "Reservations" msgstr "Rezervasyon" -#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90 +#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90 #: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" msgstr "Raf Olmayan Cihazlar" -#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453 +#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453 #: netbox/templates/extras/configcontext.html:10 #: netbox/virtualization/forms/model_forms.py:225 -#: netbox/virtualization/views.py:399 +#: netbox/virtualization/views.py:404 msgid "Config Context" msgstr "Yapılandırma Bağlamı" -#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409 +#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414 msgid "Render Config" msgstr "Oluştur Yapılandırması" -#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441 +#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441 #: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236 -#: netbox/virtualization/views.py:177 +#: netbox/virtualization/views.py:179 msgid "Virtual Machines" msgstr "Sanal Makineler" -#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233 +#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233 msgid "Children" msgstr "Çocuklar" @@ -6943,16 +6955,6 @@ msgstr "Küme türü" msgid "Cluster type (slug)" msgstr "Küme tipi (kısa ad)" -#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476 -#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624 -#: netbox/virtualization/forms/filtersets.py:112 -msgid "Cluster group" -msgstr "Küme grubu" - -#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136 -msgid "Cluster group (slug)" -msgstr "Küme grubu (kısa ad)" - #: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16 #: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" @@ -6993,13 +6995,13 @@ msgstr "Gerekli" #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57 #: netbox/extras/forms/filtersets.py:79 -#: netbox/extras/models/customfields.py:194 +#: netbox/extras/models/customfields.py:195 msgid "UI visible" msgstr "Kullanıcı arayüzü görünür" #: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63 #: netbox/extras/forms/filtersets.py:84 -#: netbox/extras/models/customfields.py:201 +#: netbox/extras/models/customfields.py:202 msgid "UI editable" msgstr "UI düzenlenebilir" @@ -7178,11 +7180,11 @@ msgstr "Web kancası {name} bulunamadı" msgid "Script {name} not found" msgstr "Senaryo {name} bulunamadı" -#: netbox/extras/forms/bulk_import.py:239 +#: netbox/extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "Atanan nesne türü" -#: netbox/extras/forms/bulk_import.py:244 +#: netbox/extras/forms/bulk_import.py:241 msgid "The classification of entry" msgstr "Girişin sınıflandırılması" @@ -7278,7 +7280,7 @@ msgstr "Konumlar" #: netbox/extras/forms/filtersets.py:370 #: netbox/extras/forms/model_forms.py:403 msgid "Device types" -msgstr "Aygıt türleri" +msgstr "Cihaz türleri" #: netbox/extras/forms/filtersets.py:375 #: netbox/extras/forms/model_forms.py:408 @@ -7406,7 +7408,7 @@ msgstr "Şablon kodu" #: netbox/extras/forms/model_forms.py:173 #: netbox/templates/extras/exporttemplate.html:12 msgid "Export Template" -msgstr "Dışa Aktar Şablonu" +msgstr "Dışa Aktarma Şablonu" #: netbox/extras/forms/model_forms.py:175 msgid "Rendering" @@ -7641,31 +7643,31 @@ msgstr "yapılandırma şablonu" msgid "config templates" msgstr "yapılandırma şablonları" -#: netbox/extras/models/customfields.py:73 +#: netbox/extras/models/customfields.py:74 msgid "The object(s) to which this field applies." msgstr "Bu alanın geçerli olduğu nesne (ler) dir." -#: netbox/extras/models/customfields.py:80 +#: netbox/extras/models/customfields.py:81 msgid "The type of data this custom field holds" msgstr "Bu özel alanın tuttuğu veri türü" -#: netbox/extras/models/customfields.py:87 +#: netbox/extras/models/customfields.py:88 msgid "The type of NetBox object this field maps to (for object fields)" msgstr "Bu alanın eşlendiği NetBox nesnesinin türü (nesne alanları için)" -#: netbox/extras/models/customfields.py:93 +#: netbox/extras/models/customfields.py:94 msgid "Internal field name" msgstr "İç alan adı" -#: netbox/extras/models/customfields.py:97 +#: netbox/extras/models/customfields.py:98 msgid "Only alphanumeric characters and underscores are allowed." msgstr "Yalnızca alfasayısal karakterlere ve alt çizgilere izin verilir." -#: netbox/extras/models/customfields.py:102 +#: netbox/extras/models/customfields.py:103 msgid "Double underscores are not permitted in custom field names." msgstr "Özel alan adlarında çift alt çizgilere izin verilmez." -#: netbox/extras/models/customfields.py:113 +#: netbox/extras/models/customfields.py:114 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" @@ -7673,19 +7675,19 @@ msgstr "" "Kullanıcılara görüntülenen alanın adı (belirtilmezse, 'alanın adı " "kullanılacaktır)" -#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345 +#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345 msgid "group name" msgstr "grup adı" -#: netbox/extras/models/customfields.py:120 +#: netbox/extras/models/customfields.py:121 msgid "Custom fields within the same group will be displayed together" msgstr "Aynı gruptaki özel alanlar birlikte görüntülenecektir" -#: netbox/extras/models/customfields.py:128 +#: netbox/extras/models/customfields.py:129 msgid "required" msgstr "gereklidir" -#: netbox/extras/models/customfields.py:130 +#: netbox/extras/models/customfields.py:131 msgid "" "If true, this field is required when creating new objects or editing an " "existing object." @@ -7693,11 +7695,11 @@ msgstr "" "Eğer true ise, yeni nesneler oluştururken veya varolan bir nesneyi " "düzenlerken bu alan gereklidir." -#: netbox/extras/models/customfields.py:133 +#: netbox/extras/models/customfields.py:134 msgid "search weight" msgstr "arama ağırlığı" -#: netbox/extras/models/customfields.py:136 +#: netbox/extras/models/customfields.py:137 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." @@ -7705,11 +7707,11 @@ msgstr "" "Arama için ağırlıklandırma. Düşük değerler daha önemli kabul edilir. Arama " "ağırlığı sıfır olan alanlar göz ardı edilecektir." -#: netbox/extras/models/customfields.py:141 +#: netbox/extras/models/customfields.py:142 msgid "filter logic" msgstr "filtre mantığı" -#: netbox/extras/models/customfields.py:145 +#: netbox/extras/models/customfields.py:146 msgid "" "Loose matches any instance of a given string; exact matches the entire " "field." @@ -7717,11 +7719,11 @@ msgstr "" "Loose, belirli bir dizgenin herhangi bir örneğiyle eşleşir; tam olarak tüm " "alanla eşleşir." -#: netbox/extras/models/customfields.py:148 +#: netbox/extras/models/customfields.py:149 msgid "default" msgstr "varsayılan" -#: netbox/extras/models/customfields.py:152 +#: netbox/extras/models/customfields.py:153 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with" " double quotes (e.g. \"Foo\")." @@ -7729,35 +7731,35 @@ msgstr "" "Alan için varsayılan değer (JSON değeri olmalıdır). Dizeleri çift tırnak " "işaretleriyle kapsülleyin (örn. “Foo”)." -#: netbox/extras/models/customfields.py:157 +#: netbox/extras/models/customfields.py:158 msgid "display weight" msgstr "ekran ağırlığı" -#: netbox/extras/models/customfields.py:158 +#: netbox/extras/models/customfields.py:159 msgid "Fields with higher weights appear lower in a form." msgstr "Daha yüksek ağırlığa sahip alanlar bir formda daha düşük görünür." -#: netbox/extras/models/customfields.py:163 +#: netbox/extras/models/customfields.py:164 msgid "minimum value" msgstr "minimum değer" -#: netbox/extras/models/customfields.py:164 +#: netbox/extras/models/customfields.py:165 msgid "Minimum allowed value (for numeric fields)" msgstr "İzin verilen minimum değer (sayısal alanlar için)" -#: netbox/extras/models/customfields.py:169 +#: netbox/extras/models/customfields.py:170 msgid "maximum value" msgstr "maksimum değer" -#: netbox/extras/models/customfields.py:170 +#: netbox/extras/models/customfields.py:171 msgid "Maximum allowed value (for numeric fields)" msgstr "İzin verilen maksimum değer (sayısal alanlar için)" -#: netbox/extras/models/customfields.py:176 +#: netbox/extras/models/customfields.py:177 msgid "validation regex" msgstr "doğrulama regex" -#: netbox/extras/models/customfields.py:178 +#: netbox/extras/models/customfields.py:179 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " @@ -7768,174 +7770,174 @@ msgstr "" "zorlamak için ^ ve $ kullanın. Örneğin, ^ [A-Z]{3}$ değerleri " "tam olarak üç büyük harfle sınırlayacaktır." -#: netbox/extras/models/customfields.py:186 +#: netbox/extras/models/customfields.py:187 msgid "choice set" msgstr "seçim seti" -#: netbox/extras/models/customfields.py:195 +#: netbox/extras/models/customfields.py:196 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" "Özel alanın kullanıcı arayüzünde görüntülenip görüntülenmeyeceğini belirtir" -#: netbox/extras/models/customfields.py:202 +#: netbox/extras/models/customfields.py:203 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" "Özel alan değerinin kullanıcı arayüzünde düzenlenip düzenlenemeyeceğini " "belirtir" -#: netbox/extras/models/customfields.py:206 +#: netbox/extras/models/customfields.py:207 msgid "is cloneable" msgstr "klonlanabilir" -#: netbox/extras/models/customfields.py:207 +#: netbox/extras/models/customfields.py:208 msgid "Replicate this value when cloning objects" msgstr "Nesneleri klonlarken bu değeri çoğaltın" -#: netbox/extras/models/customfields.py:224 +#: netbox/extras/models/customfields.py:225 msgid "custom field" msgstr "özel alan" -#: netbox/extras/models/customfields.py:225 +#: netbox/extras/models/customfields.py:226 msgid "custom fields" msgstr "özel alanlar" -#: netbox/extras/models/customfields.py:314 +#: netbox/extras/models/customfields.py:315 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" msgstr "Geçersiz varsayılan değer”{value}“: {error}" -#: netbox/extras/models/customfields.py:321 +#: netbox/extras/models/customfields.py:322 msgid "A minimum value may be set only for numeric fields" msgstr "Minimum değer yalnızca sayısal alanlar için ayarlanabilir" -#: netbox/extras/models/customfields.py:323 +#: netbox/extras/models/customfields.py:324 msgid "A maximum value may be set only for numeric fields" msgstr "Maksimum değer yalnızca sayısal alanlar için ayarlanabilir" -#: netbox/extras/models/customfields.py:333 +#: netbox/extras/models/customfields.py:334 msgid "" "Regular expression validation is supported only for text and URL fields" msgstr "" "Düzenli ifade doğrulaması yalnızca metin ve URL alanları için desteklenir" -#: netbox/extras/models/customfields.py:343 +#: netbox/extras/models/customfields.py:344 msgid "Selection fields must specify a set of choices." msgstr "Seçim alanları bir dizi seçenek belirtmelidir." -#: netbox/extras/models/customfields.py:347 +#: netbox/extras/models/customfields.py:348 msgid "Choices may be set only on selection fields." msgstr "Seçenekler yalnızca seçim alanlarında ayarlanabilir." -#: netbox/extras/models/customfields.py:354 +#: netbox/extras/models/customfields.py:355 msgid "Object fields must define an object type." msgstr "Nesne alanları bir nesne türü tanımlamalıdır." -#: netbox/extras/models/customfields.py:359 +#: netbox/extras/models/customfields.py:360 #, python-brace-format msgid "{type} fields may not define an object type." msgstr "{type} alanlar bir nesne türü tanımlayamaz." -#: netbox/extras/models/customfields.py:439 +#: netbox/extras/models/customfields.py:440 msgid "True" msgstr "Doğru" -#: netbox/extras/models/customfields.py:440 +#: netbox/extras/models/customfields.py:441 msgid "False" msgstr "Yanlış" -#: netbox/extras/models/customfields.py:522 +#: netbox/extras/models/customfields.py:523 #, python-brace-format msgid "Values must match this regex: {regex}" msgstr "Değerler bu normal ifadeyle eşleşmelidir: {regex}" -#: netbox/extras/models/customfields.py:616 +#: netbox/extras/models/customfields.py:617 msgid "Value must be a string." msgstr "Değer bir dize olmalıdır." -#: netbox/extras/models/customfields.py:618 +#: netbox/extras/models/customfields.py:619 #, python-brace-format msgid "Value must match regex '{regex}'" msgstr "Değer regex ile eşleşmelidir '{regex}'" -#: netbox/extras/models/customfields.py:623 +#: netbox/extras/models/customfields.py:624 msgid "Value must be an integer." msgstr "Değer bir tamsayı olmalıdır." -#: netbox/extras/models/customfields.py:626 -#: netbox/extras/models/customfields.py:641 +#: netbox/extras/models/customfields.py:627 +#: netbox/extras/models/customfields.py:642 #, python-brace-format msgid "Value must be at least {minimum}" msgstr "Değer en az olmalıdır {minimum}" -#: netbox/extras/models/customfields.py:630 -#: netbox/extras/models/customfields.py:645 +#: netbox/extras/models/customfields.py:631 +#: netbox/extras/models/customfields.py:646 #, python-brace-format msgid "Value must not exceed {maximum}" msgstr "Değer geçmemelidir {maximum}" -#: netbox/extras/models/customfields.py:638 +#: netbox/extras/models/customfields.py:639 msgid "Value must be a decimal." msgstr "Değer ondalık olmalıdır." -#: netbox/extras/models/customfields.py:650 +#: netbox/extras/models/customfields.py:651 msgid "Value must be true or false." msgstr "Değer doğru veya yanlış olmalıdır." -#: netbox/extras/models/customfields.py:658 +#: netbox/extras/models/customfields.py:659 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)." -#: netbox/extras/models/customfields.py:671 +#: netbox/extras/models/customfields.py:672 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" "Tarih ve saat değerleri ISO 8601 biçiminde olmalıdır (YYYY-MM-DD HH:MM:SS)." -#: netbox/extras/models/customfields.py:678 +#: netbox/extras/models/customfields.py:679 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." msgstr "Geçersiz seçim ({value}) seçim seti için {choiceset}." -#: netbox/extras/models/customfields.py:688 +#: netbox/extras/models/customfields.py:689 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." msgstr "Geçersiz seçim (ler) ({value}) seçim seti için {choiceset}." -#: netbox/extras/models/customfields.py:697 +#: netbox/extras/models/customfields.py:698 #, python-brace-format msgid "Value must be an object ID, not {type}" msgstr "Değer bir nesne kimliği olmalıdır, değil {type}" -#: netbox/extras/models/customfields.py:703 +#: netbox/extras/models/customfields.py:704 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" msgstr "Değer, nesne kimliklerinin bir listesi olmalıdır, değil {type}" -#: netbox/extras/models/customfields.py:707 +#: netbox/extras/models/customfields.py:708 #, python-brace-format msgid "Found invalid object ID: {id}" msgstr "Geçersiz nesne kimliği bulundu: {id}" -#: netbox/extras/models/customfields.py:710 +#: netbox/extras/models/customfields.py:711 msgid "Required field cannot be empty." msgstr "Zorunlu alan boş olamaz." -#: netbox/extras/models/customfields.py:729 +#: netbox/extras/models/customfields.py:730 msgid "Base set of predefined choices (optional)" msgstr "Önceden tanımlanmış seçeneklerin temel kümesi (isteğe bağlı)" -#: netbox/extras/models/customfields.py:741 +#: netbox/extras/models/customfields.py:742 msgid "Choices are automatically ordered alphabetically" msgstr "Seçenekler otomatik olarak alfabetik olarak sıralanır" -#: netbox/extras/models/customfields.py:748 +#: netbox/extras/models/customfields.py:749 msgid "custom field choice set" msgstr "özel alan seçim kümesi" -#: netbox/extras/models/customfields.py:749 +#: netbox/extras/models/customfields.py:750 msgid "custom field choice sets" msgstr "özel alan seçim kümeleri" -#: netbox/extras/models/customfields.py:785 +#: netbox/extras/models/customfields.py:786 msgid "Must define base or extra choices." msgstr "Temel veya ekstra seçenekleri tanımlamalıdır." @@ -8376,19 +8378,19 @@ msgstr "Komut Dosyası Verileri" msgid "Script Execution Parameters" msgstr "Script Yürütme Parametreleri" -#: netbox/extras/scripts.py:664 +#: netbox/extras/scripts.py:666 msgid "Database changes have been reverted automatically." msgstr "Veritabanı değişiklikleri otomatik olarak geri alındı." -#: netbox/extras/scripts.py:677 +#: netbox/extras/scripts.py:679 msgid "Script aborted with error: " msgstr "Komut dosyası hatayla iptal edildi: " -#: netbox/extras/scripts.py:687 +#: netbox/extras/scripts.py:689 msgid "An exception occurred: " msgstr "Bir istisna oluştu: " -#: netbox/extras/scripts.py:690 +#: netbox/extras/scripts.py:692 msgid "Database changes have been reverted due to error." msgstr "Veritabanı değişiklikleri hata nedeniyle geri alındı." @@ -8484,7 +8486,7 @@ msgstr "İş Sonu" #: netbox/extras/tables/tables.py:426 netbox/netbox/navigation/menu.py:64 #: netbox/templates/dcim/devicerole.html:8 msgid "Device Roles" -msgstr "Aygıt Rolleri" +msgstr "Cihaz Rolleri" #: netbox/extras/tables/tables.py:467 netbox/templates/account/profile.html:19 #: netbox/templates/users/user.html:21 @@ -9131,7 +9133,7 @@ msgstr "VRF'de mevcut" #: netbox/ipam/forms/filtersets.py:311 msgid "Device/VM" -msgstr "Aygıt/VM" +msgstr "Cihaz/VM" #: netbox/ipam/forms/filtersets.py:321 msgid "Parent Prefix" @@ -9139,7 +9141,7 @@ msgstr "Ebeveyn Öneki" #: netbox/ipam/forms/filtersets.py:347 msgid "Assigned Device" -msgstr "Atanan Aygıt" +msgstr "Atanan Cihaz" #: netbox/ipam/forms/filtersets.py:352 msgid "Assigned VM" @@ -9605,12 +9607,12 @@ msgstr "servisler" #: netbox/ipam/models/services.py:117 msgid "" "A service cannot be associated with both a device and a virtual machine." -msgstr "Bir hizmet hem aygıt hem de sanal makine ile ilişkilendirilemez." +msgstr "Bir hizmet hem cihaz hem de sanal makine ile ilişkilendirilemez." #: netbox/ipam/models/services.py:119 msgid "" "A service must be associated with either a device or a virtual machine." -msgstr "Bir hizmet, bir aygıt veya sanal makine ile ilişkilendirilmelidir." +msgstr "Bir hizmet, bir cihaz veya sanal makine ile ilişkilendirilmelidir." #: netbox/ipam/models/vlans.py:49 msgid "minimum VLAN ID" @@ -9666,7 +9668,7 @@ msgid "The primary function of this VLAN" msgstr "Bu VLAN'ın birincil işlevi" #: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175 -#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961 +#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971 #: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182 msgid "VLANs" msgstr "VLAN'lar" @@ -9741,7 +9743,7 @@ msgid "Added" msgstr "Eklendi" #: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165 -#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342 +#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346 #: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154 #: netbox/templates/ipam/vlan.html:84 msgid "Prefixes" @@ -9749,7 +9751,7 @@ msgstr "Önekler" #: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267 #: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82 -#: netbox/templates/dcim/device.html:253 +#: netbox/templates/dcim/device.html:260 #: netbox/templates/ipam/aggregate.html:24 #: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 msgid "Utilization" @@ -9844,23 +9846,23 @@ msgstr "" "DNS adlarında yalnızca alfanümerik karakterlere, yıldızlara, tirelere, " "noktalara ve alt çizgilere izin verilir" -#: netbox/ipam/views.py:528 +#: netbox/ipam/views.py:533 msgid "Child Prefixes" msgstr "Çocuk Önekleri" -#: netbox/ipam/views.py:563 +#: netbox/ipam/views.py:569 msgid "Child Ranges" msgstr "Çocuk Aralıkları" -#: netbox/ipam/views.py:889 +#: netbox/ipam/views.py:898 msgid "Related IPs" msgstr "İlgili IP'ler" -#: netbox/ipam/views.py:1116 +#: netbox/ipam/views.py:1127 msgid "Device Interfaces" -msgstr "Aygıt Arayüzleri" +msgstr "Cihaz Arayüzleri" -#: netbox/ipam/views.py:1133 +#: netbox/ipam/views.py:1145 msgid "VM Interfaces" msgstr "VM Arayüzleri" @@ -10194,6 +10196,10 @@ msgstr "Regeks" msgid "Object type(s)" msgstr "Nesne türü (ler)" +#: netbox/netbox/forms/__init__.py:40 +msgid "Lookup" +msgstr "" + #: netbox/netbox/forms/base.py:88 msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. " @@ -10298,10 +10304,10 @@ msgstr "İletişim Atamaları" msgid "Modules" msgstr "Modüller" -#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158 +#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160 #: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" -msgstr "Sanal Aygıt Bağlamları" +msgstr "Sanal Cihaz Bağlamları" #: netbox/netbox/navigation/menu.py:75 msgid "Manufacturers" @@ -10309,7 +10315,7 @@ msgstr "İmalatçıları" #: netbox/netbox/navigation/menu.py:79 msgid "Device Components" -msgstr "Aygıt Bileşenleri" +msgstr "Cihaz Bileşenleri" #: netbox/netbox/navigation/menu.py:91 #: netbox/templates/dcim/inventoryitemrole.html:8 @@ -10360,7 +10366,7 @@ msgstr "VLAN Grupları" msgid "Service Templates" msgstr "Hizmet Şablonları" -#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295 +#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302 #: netbox/templates/ipam/ipaddress.html:118 #: netbox/templates/virtualization/virtualmachine.html:150 msgid "Services" @@ -10427,7 +10433,7 @@ msgstr "Sanallaştırma" #: netbox/templates/virtualization/virtualmachine/base.html:32 #: netbox/templates/virtualization/virtualmachine_list.html:21 #: netbox/virtualization/tables/virtualmachines.py:103 -#: netbox/virtualization/views.py:380 +#: netbox/virtualization/views.py:385 msgid "Virtual Disks" msgstr "Sanal Diskler" @@ -10489,7 +10495,7 @@ msgstr "Özelleştirme" #: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30 #: netbox/templates/inc/panels/custom_fields.html:7 #: netbox/templates/ipam/ipaddress_bulk_add.html:35 -#: netbox/templates/ipam/vlan_edit.html:63 +#: netbox/templates/ipam/vlan_edit.html:59 msgid "Custom Fields" msgstr "Özel Alanlar" @@ -10595,7 +10601,7 @@ msgstr "Yapılandırma Geçmişi" msgid "Background Tasks" msgstr "Arka Plan Görevleri" -#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35 +#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35 #: netbox/templates/account/preferences.html:22 #: netbox/templates/core/system.html:80 msgid "Plugins" @@ -10735,43 +10741,43 @@ msgstr "Başlatıldıktan sonra kayıt defterine mağazalar eklenemiyor" msgid "Cannot delete stores from registry" msgstr "Mağazalar kayıt defterinden silinemiyor" -#: netbox/netbox/settings.py:724 +#: netbox/netbox/settings.py:741 msgid "German" msgstr "Alman" -#: netbox/netbox/settings.py:725 +#: netbox/netbox/settings.py:742 msgid "English" msgstr "İngilizce" -#: netbox/netbox/settings.py:726 +#: netbox/netbox/settings.py:743 msgid "Spanish" msgstr "İspanyolca" -#: netbox/netbox/settings.py:727 +#: netbox/netbox/settings.py:744 msgid "French" msgstr "Fransızca" -#: netbox/netbox/settings.py:728 +#: netbox/netbox/settings.py:745 msgid "Japanese" msgstr "Japonca" -#: netbox/netbox/settings.py:729 +#: netbox/netbox/settings.py:746 msgid "Portuguese" msgstr "Portekizce" -#: netbox/netbox/settings.py:730 +#: netbox/netbox/settings.py:747 msgid "Russian" msgstr "Rusça" -#: netbox/netbox/settings.py:731 +#: netbox/netbox/settings.py:748 msgid "Turkish" msgstr "Türkçe" -#: netbox/netbox/settings.py:732 +#: netbox/netbox/settings.py:749 msgid "Ukrainian" msgstr "Ukraynalı" -#: netbox/netbox/settings.py:733 +#: netbox/netbox/settings.py:750 msgid "Chinese" msgstr "Çince" @@ -10818,7 +10824,7 @@ msgstr "Değişiklik Günlüğü" msgid "Journal" msgstr "dergi" -#: netbox/netbox/views/generic/object_views.py:106 +#: netbox/netbox/views/generic/object_views.py:108 #, python-brace-format msgid "{class_name} must implement get_children()" msgstr "{class_name} get_children () uygulamasını uygulamalıdır" @@ -11389,8 +11395,8 @@ msgstr "Arka Plan Kuyrukları" #: netbox/templates/core/rq_worker_list.html:45 #: netbox/templates/extras/script_result.html:49 #: netbox/templates/extras/script_result.html:51 -#: netbox/templates/inc/table_controls_htmx.html:28 -#: netbox/templates/inc/table_controls_htmx.html:31 +#: netbox/templates/inc/table_controls_htmx.html:30 +#: netbox/templates/inc/table_controls_htmx.html:33 msgid "Configure Table" msgstr "Tabloyu Yapılandır" @@ -11500,7 +11506,7 @@ msgstr "İçindeki işçiler " #: netbox/templates/core/system.html:11 #: netbox/utilities/templates/buttons/export.html:4 msgid "Export" -msgstr "İhracat" +msgstr "Dışa Aktar" #: netbox/templates/core/system.html:28 msgid "System Status" @@ -11628,11 +11634,11 @@ msgstr "Bağlı Değil" #: netbox/templates/dcim/device.html:34 msgid "Highlight device in rack" -msgstr "Raftaki cihazı vurgulayın" +msgstr "Kabindeki cihazı vurgulayın" #: netbox/templates/dcim/device.html:55 msgid "Not racked" -msgstr "Rackli değil" +msgstr "Kabine bağlı değil" #: netbox/templates/dcim/device.html:62 netbox/templates/dcim/site.html:94 msgid "GPS Coordinates" @@ -11653,56 +11659,58 @@ msgstr "Varlık Etiketi" msgid "View Virtual Chassis" msgstr "Sanal Kasayı Görüntüle" -#: netbox/templates/dcim/device.html:162 +#: netbox/templates/dcim/device.html:164 msgid "Create VDC" msgstr "VDC oluştur" -#: netbox/templates/dcim/device.html:173 +#: netbox/templates/dcim/device.html:175 #: netbox/templates/dcim/device_edit.html:64 #: netbox/virtualization/forms/model_forms.py:223 msgid "Management" msgstr "Yönetim" -#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209 +#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:227 #: netbox/templates/virtualization/virtualmachine.html:53 #: netbox/templates/virtualization/virtualmachine.html:69 msgid "NAT for" msgstr "NAT için" -#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 +#: netbox/templates/dcim/device.html:229 #: netbox/templates/virtualization/virtualmachine.html:55 #: netbox/templates/virtualization/virtualmachine.html:71 msgid "NAT" -msgstr "THE NİGHT" +msgstr "NAT" -#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67 +#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67 msgid "Power Utilization" msgstr "Güç Kullanımı" -#: netbox/templates/dcim/device.html:249 +#: netbox/templates/dcim/device.html:256 msgid "Input" msgstr "Giriş" -#: netbox/templates/dcim/device.html:250 +#: netbox/templates/dcim/device.html:257 msgid "Outlets" msgstr "Satış noktaları" -#: netbox/templates/dcim/device.html:251 +#: netbox/templates/dcim/device.html:258 msgid "Allocated" msgstr "Tahsis edilmiş" -#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263 -#: netbox/templates/dcim/device.html:279 +#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 +#: netbox/templates/dcim/device.html:286 #: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "İL" -#: netbox/templates/dcim/device.html:273 +#: netbox/templates/dcim/device.html:280 msgctxt "Leg of a power feed" msgid "Leg" msgstr "Bacak" -#: netbox/templates/dcim/device.html:299 +#: netbox/templates/dcim/device.html:306 #: netbox/templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "Hizmet ekle" @@ -11727,7 +11735,7 @@ msgstr "Konsol Sunucusu Bağlantı Noktaları Ekle" #: netbox/templates/dcim/device/devicebays.html:10 msgid "Add Device Bays" -msgstr "Aygıt Yuvaları Ekle" +msgstr "Cihaz Yuvaları Ekle" #: netbox/templates/dcim/device/frontports.html:24 msgid "Add Front Ports" @@ -11828,11 +11836,11 @@ msgstr "Yeniden Adlandır" #: netbox/templates/dcim/devicebay.html:17 msgid "Device Bay" -msgstr "Aygıt Yuvası" +msgstr "Cihaz Yuvası" #: netbox/templates/dcim/devicebay.html:43 msgid "Installed Device" -msgstr "Yüklü Aygıt" +msgstr "Yüklü Cihaz" #: netbox/templates/dcim/devicebay_depopulate.html:6 #, python-format @@ -11859,7 +11867,7 @@ msgstr "Körfez" #: netbox/templates/dcim/devicerole.html:14 #: netbox/templates/dcim/platform.html:17 msgid "Add Device" -msgstr "Aygıt Ekle" +msgstr "Cihaz Ekle" #: netbox/templates/dcim/devicerole.html:40 msgid "VM Role" @@ -11910,7 +11918,7 @@ msgstr "Bağlantı Durumu" #: netbox/templates/dcim/htmx/cable_edit.html:10 msgid "A Side" -msgstr "Bir Taraf" +msgstr "A Tarafı" #: netbox/templates/dcim/htmx/cable_edit.html:30 msgid "B Side" @@ -12029,7 +12037,7 @@ msgstr "Kanal Genişliği" #: netbox/wireless/forms/filtersets.py:80 netbox/wireless/models.py:81 #: netbox/wireless/models.py:155 netbox/wireless/tables/wirelesslan.py:44 msgid "SSID" -msgstr "SSİD" +msgstr "SSID" #: netbox/templates/dcim/interface.html:305 msgid "LAG Members" @@ -12073,11 +12081,11 @@ msgstr "Konum Ekle" #: netbox/templates/dcim/location.html:94 netbox/templates/dcim/site.html:144 msgid "Add a Device" -msgstr "Aygıt Ekle" +msgstr "Cihaz Ekle" #: netbox/templates/dcim/manufacturer.html:16 msgid "Add Device Type" -msgstr "Aygıt Türü Ekle" +msgstr "Cihaz Türü Ekle" #: netbox/templates/dcim/manufacturer.html:21 msgid "Add Module Type" @@ -12085,7 +12093,7 @@ msgstr "Modül Türü Ekle" #: netbox/templates/dcim/powerfeed.html:53 msgid "Connected Device" -msgstr "Bağlı Aygıt" +msgstr "Bağlı Cihaz" #: netbox/templates/dcim/powerfeed.html:63 msgid "Utilization (Allocated" @@ -12103,7 +12111,7 @@ msgstr "V" #: netbox/templates/dcim/powerfeed.html:92 msgctxt "Abbreviation for amperes" msgid "A" -msgstr "BİR" +msgstr "A" #: netbox/templates/dcim/poweroutlet.html:48 msgid "Feed Leg" @@ -12131,7 +12139,7 @@ msgstr "azalan" #: netbox/templates/dcim/rack.html:91 msgid "ascending" -msgstr "yükselen" +msgstr "artan" #: netbox/templates/dcim/rack.html:94 msgid "Starting Unit" @@ -12825,11 +12833,11 @@ msgstr "Uygula" #: netbox/templates/generic/bulk_import.html:19 msgid "Bulk Import" -msgstr "Toplu İthalat" +msgstr "Toplu İçe Aktar" #: netbox/templates/generic/bulk_import.html:25 msgid "Direct Import" -msgstr "Doğrudan İthalat" +msgstr "Doğrudan İçe Aktar" #: netbox/templates/generic/bulk_import.html:30 msgid "Upload File" @@ -13077,7 +13085,7 @@ msgstr "Veriler yukarı akış dosyasıyla senkronize değil" msgid "Quick search" msgstr "" -#: netbox/templates/inc/table_controls_htmx.html:19 +#: netbox/templates/inc/table_controls_htmx.html:20 msgid "Saved filter" msgstr "" @@ -13482,11 +13490,11 @@ msgstr "Kümeye Aygıt Ekle %(cluster)s" #: netbox/templates/virtualization/cluster_add_devices.html:23 msgid "Device Selection" -msgstr "Aygıt Seçimi" +msgstr "Cihaz Seçimi" #: netbox/templates/virtualization/cluster_add_devices.html:31 msgid "Add Devices" -msgstr "Aygıt Ekle" +msgstr "Cihaz Ekle" #: netbox/templates/virtualization/clustergroup.html:10 #: netbox/templates/virtualization/clustertype.html:10 @@ -13710,7 +13718,7 @@ msgstr "Ebeveyn iletişim grubu (ID)" #: netbox/tenancy/filtersets.py:35 msgid "Parent contact group (slug)" -msgstr "Ebeveyn iletişim grubu (sümüklü böcek)" +msgstr "Ebeveyn iletişim grubu (kısa ad)" #: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 #: netbox/tenancy/filtersets.py:111 @@ -13744,7 +13752,7 @@ msgstr "Ana kiracı grubu (ID)" #: netbox/tenancy/filtersets.py:176 msgid "Parent tenant group (slug)" -msgstr "Ana kiracı grubu (sümüklü böcek)" +msgstr "Ana kiracı grubu (kısa ad)" #: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 msgid "Tenant group (ID)" @@ -14153,7 +14161,11 @@ msgstr "" msgid "More than 50" msgstr "50'den fazla" -#: netbox/utilities/fields.py:157 +#: netbox/utilities/fields.py:30 +msgid "RGB color in hexadecimal. Example: " +msgstr "" + +#: netbox/utilities/fields.py:159 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " @@ -14162,7 +14174,7 @@ msgstr "" "%s(%r) geçersiz. counterCacheField için to_model parametresi 'app.model' " "biçiminde bir dize olmalıdır" -#: netbox/utilities/fields.py:167 +#: netbox/utilities/fields.py:169 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " @@ -14433,7 +14445,7 @@ msgstr "Dışa aktarma şablonu ekle" #: netbox/utilities/templates/buttons/import.html:4 msgid "Import" -msgstr "İthalat" +msgstr "İçe aktar" #: netbox/utilities/templates/form_helpers/render_field.html:39 msgid "Copy to clipboard" @@ -14463,6 +14475,14 @@ msgstr "Yukarı hareket et" msgid "Move Down" msgstr "Aşağı hareket et" +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search…" +msgstr "" + +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search NetBox" +msgstr "" + #: netbox/utilities/templates/widgets/apiselect.html:7 msgid "Open selector" msgstr "Seçiciyi aç" @@ -14484,19 +14504,19 @@ msgstr "Test csv_update_data tanımlamalıdır." msgid "{value} is not a valid regular expression." msgstr "{value} geçerli bir normal ifade değildir." -#: netbox/utilities/views.py:44 +#: netbox/utilities/views.py:45 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" msgstr "" "{self.__class__.__name__} get_required_permissions () uygulamasını " "uygulamalıdır" -#: netbox/utilities/views.py:80 +#: netbox/utilities/views.py:81 #, python-brace-format msgid "{class_name} must implement get_required_permission()" msgstr "{class_name} get_required_permissions () uygulamasını uygulamalıdır" -#: netbox/utilities/views.py:104 +#: netbox/utilities/views.py:105 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" @@ -14518,10 +14538,6 @@ msgstr "Ebeveyn grubu (kısa ad)" msgid "Cluster type (ID)" msgstr "Küme türü (ID)" -#: netbox/virtualization/filtersets.py:130 -msgid "Cluster group (ID)" -msgstr "Küme grubu (ID)" - #: netbox/virtualization/filtersets.py:151 #: netbox/virtualization/filtersets.py:267 msgid "Cluster (ID)" diff --git a/netbox/translations/zh/LC_MESSAGES/django.po b/netbox/translations/zh/LC_MESSAGES/django.po index 80efa12b7..903a5d7db 100644 --- a/netbox/translations/zh/LC_MESSAGES/django.po +++ b/netbox/translations/zh/LC_MESSAGES/django.po @@ -5,15 +5,25 @@ # # Translators: # Jeremy Stretch, 2024 +# Mitt, 2024 +# 夏小正, 2024 +# RossCheung, 2024 +# Daniel Wu, 2024 +# JingHua Wu, 2024 +# xiaohu han, 2024 +# 闻寄云, 2024 +# 孔南, 2024 +# Bubu, 2024 +# jiyin luo, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-22 17:41+0000\n" +"POT-Creation-Date: 2024-07-09 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: jiyin luo, 2024\n" "Language-Team: Chinese (https://app.transifex.com/netbox-community/teams/178115/zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,11464 +31,12115 @@ msgstr "" "Language: zh\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: account/tables.py:27 templates/account/token.html:22 -#: templates/users/token.html:17 users/forms/bulk_import.py:39 -#: users/forms/model_forms.py:113 +#: netbox/account/tables.py:27 netbox/templates/account/token.html:22 +#: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 +#: netbox/users/forms/model_forms.py:113 msgid "Key" -msgstr "钥匙" +msgstr "令牌" -#: account/tables.py:31 users/forms/filtersets.py:133 +#: netbox/account/tables.py:31 netbox/users/forms/filtersets.py:133 msgid "Write Enabled" -msgstr "写入已启用" +msgstr "可写" -#: account/tables.py:35 core/tables/jobs.py:29 core/tables/tasks.py:79 -#: extras/choices.py:138 extras/tables/tables.py:499 -#: templates/account/token.html:43 templates/core/configrevision.html:26 -#: templates/core/configrevision_restore.html:12 templates/core/job.html:51 -#: templates/core/rq_task.html:16 templates/core/rq_task.html:73 -#: templates/core/rq_worker.html:14 -#: templates/extras/htmx/script_result.html:12 -#: templates/extras/journalentry.html:22 templates/generic/object.html:58 -#: templates/users/token.html:35 +#: netbox/account/tables.py:35 netbox/core/tables/jobs.py:29 +#: netbox/core/tables/tasks.py:79 netbox/extras/choices.py:142 +#: netbox/extras/tables/tables.py:500 netbox/templates/account/token.html:43 +#: netbox/templates/core/configrevision.html:26 +#: netbox/templates/core/configrevision_restore.html:12 +#: netbox/templates/core/job.html:51 netbox/templates/core/rq_task.html:16 +#: netbox/templates/core/rq_task.html:73 +#: netbox/templates/core/rq_worker.html:14 +#: netbox/templates/extras/htmx/script_result.html:12 +#: netbox/templates/extras/journalentry.html:22 +#: netbox/templates/generic/object.html:58 +#: netbox/templates/users/token.html:35 msgid "Created" msgstr "已创建" -#: account/tables.py:39 templates/account/token.html:47 -#: templates/users/token.html:39 users/forms/bulk_edit.py:117 -#: users/forms/filtersets.py:137 +#: netbox/account/tables.py:39 netbox/templates/account/token.html:47 +#: netbox/templates/users/token.html:39 netbox/users/forms/bulk_edit.py:117 +#: netbox/users/forms/filtersets.py:137 msgid "Expires" msgstr "过期" -#: account/tables.py:42 users/forms/filtersets.py:142 +#: netbox/account/tables.py:42 netbox/users/forms/filtersets.py:142 msgid "Last Used" -msgstr "上次使用" +msgstr "最后使用" -#: account/tables.py:45 templates/account/token.html:55 -#: templates/users/token.html:47 users/forms/bulk_edit.py:122 -#: users/forms/model_forms.py:125 +#: netbox/account/tables.py:45 netbox/templates/account/token.html:55 +#: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 +#: netbox/users/forms/model_forms.py:125 msgid "Allowed IPs" -msgstr "允许的 IP" +msgstr "允许的IP" -#: account/views.py:197 +#: netbox/account/views.py:204 msgid "Your preferences have been updated." -msgstr "您的首选项已更新。" +msgstr "你的首选项已更新。" -#: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102 -#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1457 -#: dcim/choices.py:1533 dcim/choices.py:1583 virtualization/choices.py:20 -#: virtualization/choices.py:45 vpn/choices.py:18 +#: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 +#: netbox/dcim/choices.py:102 netbox/dcim/choices.py:174 +#: netbox/dcim/choices.py:220 netbox/dcim/choices.py:1459 +#: netbox/dcim/choices.py:1535 netbox/dcim/choices.py:1585 +#: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 +#: netbox/vpn/choices.py:18 msgid "Planned" -msgstr "计划中" +msgstr "已规划的" -#: circuits/choices.py:22 netbox/navigation/menu.py:290 +#: netbox/circuits/choices.py:22 netbox/netbox/navigation/menu.py:290 msgid "Provisioning" -msgstr "资源调配" +msgstr "置备" -#: circuits/choices.py:23 core/tables/tasks.py:22 dcim/choices.py:22 -#: dcim/choices.py:103 dcim/choices.py:173 dcim/choices.py:219 -#: dcim/choices.py:1532 dcim/choices.py:1582 extras/tables/tables.py:385 -#: ipam/choices.py:31 ipam/choices.py:49 ipam/choices.py:69 -#: ipam/choices.py:154 templates/extras/configcontext.html:25 -#: templates/users/user.html:37 users/forms/bulk_edit.py:38 -#: virtualization/choices.py:22 virtualization/choices.py:44 vpn/choices.py:19 -#: wireless/choices.py:25 +#: netbox/circuits/choices.py:23 netbox/core/tables/tasks.py:22 +#: netbox/dcim/choices.py:22 netbox/dcim/choices.py:103 +#: netbox/dcim/choices.py:173 netbox/dcim/choices.py:219 +#: netbox/dcim/choices.py:1534 netbox/dcim/choices.py:1584 +#: netbox/extras/tables/tables.py:386 netbox/ipam/choices.py:31 +#: netbox/ipam/choices.py:49 netbox/ipam/choices.py:69 +#: netbox/ipam/choices.py:154 netbox/templates/extras/configcontext.html:25 +#: netbox/templates/users/user.html:37 netbox/users/forms/bulk_edit.py:38 +#: netbox/virtualization/choices.py:22 netbox/virtualization/choices.py:44 +#: netbox/vpn/choices.py:19 netbox/wireless/choices.py:25 msgid "Active" -msgstr "活跃" +msgstr "在线" -#: circuits/choices.py:24 dcim/choices.py:172 dcim/choices.py:218 -#: dcim/choices.py:1531 dcim/choices.py:1584 virtualization/choices.py:24 -#: virtualization/choices.py:43 +#: netbox/circuits/choices.py:24 netbox/dcim/choices.py:172 +#: netbox/dcim/choices.py:218 netbox/dcim/choices.py:1533 +#: netbox/dcim/choices.py:1586 netbox/virtualization/choices.py:24 +#: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "离线" -#: circuits/choices.py:25 +#: netbox/circuits/choices.py:25 msgid "Deprovisioning" -msgstr "取消配置" +msgstr "预留" -#: circuits/choices.py:26 +#: netbox/circuits/choices.py:26 msgid "Decommissioned" -msgstr "已退役" +msgstr "退役" -#: circuits/filtersets.py:29 circuits/filtersets.py:196 dcim/filtersets.py:97 -#: dcim/filtersets.py:151 dcim/filtersets.py:211 dcim/filtersets.py:297 -#: dcim/filtersets.py:406 dcim/filtersets.py:969 dcim/filtersets.py:1305 -#: dcim/filtersets.py:1832 dcim/filtersets.py:2075 dcim/filtersets.py:2133 -#: ipam/filtersets.py:339 ipam/filtersets.py:945 -#: virtualization/filtersets.py:45 virtualization/filtersets.py:173 -#: vpn/filtersets.py:377 +#: netbox/circuits/filtersets.py:29 netbox/circuits/filtersets.py:196 +#: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151 +#: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297 +#: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969 +#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843 +#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144 +#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945 +#: netbox/virtualization/filtersets.py:45 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377 msgid "Region (ID)" -msgstr "地区 (ID)" +msgstr "区域(ID)" -#: circuits/filtersets.py:36 circuits/filtersets.py:203 dcim/filtersets.py:104 -#: dcim/filtersets.py:157 dcim/filtersets.py:218 dcim/filtersets.py:304 -#: dcim/filtersets.py:413 dcim/filtersets.py:976 dcim/filtersets.py:1312 -#: dcim/filtersets.py:1839 dcim/filtersets.py:2082 dcim/filtersets.py:2140 -#: extras/filtersets.py:461 ipam/filtersets.py:346 ipam/filtersets.py:952 -#: virtualization/filtersets.py:52 virtualization/filtersets.py:180 -#: vpn/filtersets.py:372 +#: netbox/circuits/filtersets.py:36 netbox/circuits/filtersets.py:203 +#: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157 +#: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304 +#: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976 +#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850 +#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151 +#: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346 +#: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372 msgid "Region (slug)" -msgstr "区域(slug)" +msgstr "地区(缩写)" -#: circuits/filtersets.py:42 circuits/filtersets.py:209 dcim/filtersets.py:127 -#: dcim/filtersets.py:224 dcim/filtersets.py:310 dcim/filtersets.py:419 -#: dcim/filtersets.py:982 dcim/filtersets.py:1318 dcim/filtersets.py:1845 -#: dcim/filtersets.py:2088 dcim/filtersets.py:2146 ipam/filtersets.py:352 -#: ipam/filtersets.py:958 virtualization/filtersets.py:58 -#: virtualization/filtersets.py:186 +#: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209 +#: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224 +#: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419 +#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329 +#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099 +#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352 +#: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58 +#: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" -msgstr "站点组 (ID)" +msgstr "站点组(ID)" -#: circuits/filtersets.py:49 circuits/filtersets.py:216 dcim/filtersets.py:134 -#: dcim/filtersets.py:231 dcim/filtersets.py:317 dcim/filtersets.py:426 -#: dcim/filtersets.py:989 dcim/filtersets.py:1325 dcim/filtersets.py:1852 -#: dcim/filtersets.py:2095 dcim/filtersets.py:2153 extras/filtersets.py:467 -#: ipam/filtersets.py:359 ipam/filtersets.py:965 -#: virtualization/filtersets.py:65 virtualization/filtersets.py:193 +#: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216 +#: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231 +#: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426 +#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336 +#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106 +#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467 +#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965 +#: netbox/virtualization/filtersets.py:65 +#: netbox/virtualization/filtersets.py:193 msgid "Site group (slug)" -msgstr "站点组(slug)" +msgstr "站点组(缩写)" -#: circuits/filtersets.py:54 circuits/forms/bulk_edit.py:186 -#: circuits/forms/bulk_edit.py:214 circuits/forms/bulk_import.py:126 -#: circuits/forms/filtersets.py:49 circuits/forms/filtersets.py:169 -#: circuits/forms/filtersets.py:207 circuits/forms/model_forms.py:136 -#: circuits/forms/model_forms.py:152 circuits/tables/circuits.py:105 -#: dcim/forms/bulk_edit.py:167 dcim/forms/bulk_edit.py:239 -#: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:771 -#: dcim/forms/bulk_import.py:130 dcim/forms/bulk_import.py:184 -#: dcim/forms/bulk_import.py:257 dcim/forms/bulk_import.py:485 -#: dcim/forms/bulk_import.py:1262 dcim/forms/bulk_import.py:1290 -#: dcim/forms/filtersets.py:85 dcim/forms/filtersets.py:218 -#: dcim/forms/filtersets.py:265 dcim/forms/filtersets.py:374 -#: dcim/forms/filtersets.py:682 dcim/forms/filtersets.py:916 -#: dcim/forms/filtersets.py:940 dcim/forms/filtersets.py:1030 -#: dcim/forms/filtersets.py:1068 dcim/forms/filtersets.py:1476 -#: dcim/forms/filtersets.py:1500 dcim/forms/filtersets.py:1524 -#: dcim/forms/model_forms.py:136 dcim/forms/model_forms.py:164 -#: dcim/forms/model_forms.py:206 dcim/forms/model_forms.py:406 -#: dcim/forms/model_forms.py:668 dcim/forms/object_create.py:391 -#: dcim/tables/devices.py:158 dcim/tables/power.py:26 dcim/tables/power.py:93 -#: dcim/tables/racks.py:62 dcim/tables/racks.py:138 dcim/tables/sites.py:129 -#: extras/filtersets.py:477 ipam/forms/bulk_edit.py:216 -#: ipam/forms/bulk_edit.py:270 ipam/forms/bulk_edit.py:448 -#: ipam/forms/bulk_edit.py:522 ipam/forms/bulk_import.py:170 -#: ipam/forms/bulk_import.py:437 ipam/forms/filtersets.py:153 -#: ipam/forms/filtersets.py:231 ipam/forms/filtersets.py:432 -#: ipam/forms/filtersets.py:496 ipam/forms/model_forms.py:203 -#: ipam/forms/model_forms.py:587 ipam/forms/model_forms.py:682 -#: ipam/tables/ip.py:244 ipam/tables/vlans.py:114 ipam/tables/vlans.py:216 -#: templates/circuits/inc/circuit_termination_fields.html:6 -#: templates/dcim/device.html:21 templates/dcim/inc/cable_termination.html:8 -#: templates/dcim/inc/cable_termination.html:33 -#: templates/dcim/location.html:37 templates/dcim/powerpanel.html:22 -#: templates/dcim/rack.html:22 templates/dcim/rackreservation.html:28 -#: templates/dcim/site.html:27 templates/ipam/prefix.html:56 -#: templates/ipam/vlan.html:23 templates/ipam/vlan_edit.html:40 -#: templates/virtualization/cluster.html:42 -#: templates/virtualization/virtualmachine.html:91 -#: virtualization/forms/bulk_edit.py:91 virtualization/forms/bulk_edit.py:109 -#: virtualization/forms/bulk_edit.py:124 -#: virtualization/forms/bulk_import.py:59 -#: virtualization/forms/bulk_import.py:85 -#: virtualization/forms/filtersets.py:79 -#: virtualization/forms/filtersets.py:148 -#: virtualization/forms/model_forms.py:71 -#: virtualization/forms/model_forms.py:104 -#: virtualization/forms/model_forms.py:171 -#: virtualization/tables/clusters.py:77 -#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:266 -#: wireless/forms/model_forms.py:76 wireless/forms/model_forms.py:118 +#: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186 +#: netbox/circuits/forms/bulk_edit.py:214 +#: netbox/circuits/forms/bulk_import.py:123 +#: netbox/circuits/forms/filtersets.py:49 +#: netbox/circuits/forms/filtersets.py:169 +#: netbox/circuits/forms/filtersets.py:207 +#: netbox/circuits/forms/model_forms.py:136 +#: netbox/circuits/forms/model_forms.py:152 +#: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167 +#: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575 +#: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130 +#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254 +#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250 +#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86 +#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266 +#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684 +#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952 +#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080 +#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512 +#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136 +#: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206 +#: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671 +#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150 +#: netbox/dcim/tables/power.py:26 netbox/dcim/tables/power.py:93 +#: netbox/dcim/tables/racks.py:62 netbox/dcim/tables/racks.py:138 +#: netbox/dcim/tables/sites.py:129 netbox/extras/filtersets.py:477 +#: netbox/ipam/forms/bulk_edit.py:216 netbox/ipam/forms/bulk_edit.py:270 +#: netbox/ipam/forms/bulk_edit.py:448 netbox/ipam/forms/bulk_edit.py:522 +#: netbox/ipam/forms/bulk_import.py:170 netbox/ipam/forms/bulk_import.py:437 +#: netbox/ipam/forms/filtersets.py:153 netbox/ipam/forms/filtersets.py:231 +#: netbox/ipam/forms/filtersets.py:432 netbox/ipam/forms/filtersets.py:496 +#: netbox/ipam/forms/model_forms.py:203 netbox/ipam/forms/model_forms.py:587 +#: netbox/ipam/forms/model_forms.py:682 netbox/ipam/tables/ip.py:244 +#: netbox/ipam/tables/vlans.py:114 netbox/ipam/tables/vlans.py:216 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:6 +#: netbox/templates/dcim/device.html:22 +#: netbox/templates/dcim/inc/cable_termination.html:8 +#: netbox/templates/dcim/inc/cable_termination.html:33 +#: netbox/templates/dcim/location.html:37 +#: netbox/templates/dcim/powerpanel.html:22 netbox/templates/dcim/rack.html:22 +#: netbox/templates/dcim/rackreservation.html:28 +#: netbox/templates/dcim/site.html:28 netbox/templates/ipam/prefix.html:56 +#: netbox/templates/ipam/vlan.html:23 netbox/templates/ipam/vlan_edit.html:40 +#: netbox/templates/virtualization/cluster.html:42 +#: netbox/templates/virtualization/virtualmachine.html:91 +#: netbox/virtualization/forms/bulk_edit.py:91 +#: netbox/virtualization/forms/bulk_edit.py:109 +#: netbox/virtualization/forms/bulk_edit.py:124 +#: netbox/virtualization/forms/bulk_import.py:59 +#: netbox/virtualization/forms/bulk_import.py:85 +#: netbox/virtualization/forms/filtersets.py:79 +#: netbox/virtualization/forms/filtersets.py:148 +#: netbox/virtualization/forms/model_forms.py:71 +#: netbox/virtualization/forms/model_forms.py:104 +#: netbox/virtualization/forms/model_forms.py:171 +#: netbox/virtualization/tables/clusters.py:77 +#: netbox/virtualization/tables/virtualmachines.py:62 +#: netbox/vpn/forms/filtersets.py:266 netbox/wireless/forms/model_forms.py:76 +#: netbox/wireless/forms/model_forms.py:118 msgid "Site" msgstr "站点" -#: circuits/filtersets.py:60 circuits/filtersets.py:227 -#: circuits/filtersets.py:272 dcim/filtersets.py:241 dcim/filtersets.py:327 -#: dcim/filtersets.py:400 extras/filtersets.py:483 ipam/filtersets.py:238 -#: ipam/filtersets.py:369 ipam/filtersets.py:975 -#: virtualization/filtersets.py:75 virtualization/filtersets.py:203 -#: vpn/filtersets.py:382 +#: netbox/circuits/filtersets.py:60 netbox/circuits/filtersets.py:227 +#: netbox/circuits/filtersets.py:272 netbox/dcim/filtersets.py:241 +#: netbox/dcim/filtersets.py:327 netbox/dcim/filtersets.py:400 +#: netbox/extras/filtersets.py:483 netbox/ipam/filtersets.py:238 +#: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:975 +#: netbox/virtualization/filtersets.py:75 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:382 msgid "Site (slug)" -msgstr "网站(slug)" +msgstr "站点(站点)" -#: circuits/filtersets.py:65 +#: netbox/circuits/filtersets.py:65 msgid "ASN (ID)" -msgstr "ASN (ID)" +msgstr "ASN(ID)" -#: circuits/filtersets.py:71 circuits/forms/filtersets.py:29 -#: ipam/forms/model_forms.py:157 ipam/models/asns.py:108 -#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20 +#: netbox/circuits/filtersets.py:71 netbox/circuits/forms/filtersets.py:29 +#: netbox/ipam/forms/model_forms.py:157 netbox/ipam/models/asns.py:108 +#: netbox/ipam/models/asns.py:125 netbox/ipam/tables/asn.py:41 +#: netbox/templates/ipam/asn.html:20 msgid "ASN" -msgstr "ASN" +msgstr "自治系统编号/AS编号" -#: circuits/filtersets.py:93 circuits/filtersets.py:120 -#: circuits/filtersets.py:154 circuits/filtersets.py:281 -#: ipam/filtersets.py:243 +#: netbox/circuits/filtersets.py:93 netbox/circuits/filtersets.py:120 +#: netbox/circuits/filtersets.py:154 netbox/circuits/filtersets.py:281 +#: netbox/ipam/filtersets.py:243 msgid "Provider (ID)" -msgstr "提供商 (ID)" +msgstr "运营商(ID)" -#: circuits/filtersets.py:99 circuits/filtersets.py:126 -#: circuits/filtersets.py:160 circuits/filtersets.py:287 -#: ipam/filtersets.py:249 +#: netbox/circuits/filtersets.py:99 netbox/circuits/filtersets.py:126 +#: netbox/circuits/filtersets.py:160 netbox/circuits/filtersets.py:287 +#: netbox/ipam/filtersets.py:249 msgid "Provider (slug)" -msgstr "提供商(slug)" +msgstr "运营商(缩写)" -#: circuits/filtersets.py:165 +#: netbox/circuits/filtersets.py:165 msgid "Provider account (ID)" -msgstr "提供商账户 (ID)" +msgstr "运营商帐户(ID)" -#: circuits/filtersets.py:171 +#: netbox/circuits/filtersets.py:171 msgid "Provider account (account)" -msgstr "提供商账户(账户)" +msgstr "供应商(账户)" -#: circuits/filtersets.py:176 +#: netbox/circuits/filtersets.py:176 msgid "Provider network (ID)" -msgstr "提供商网络 (ID)" +msgstr "运营商网络(ID)" -#: circuits/filtersets.py:180 +#: netbox/circuits/filtersets.py:180 msgid "Circuit type (ID)" -msgstr "电路类型 (ID)" +msgstr "线路类型 (ID)" -#: circuits/filtersets.py:186 +#: netbox/circuits/filtersets.py:186 msgid "Circuit type (slug)" -msgstr "电路类型(弹头)" +msgstr "线路类型(缩写)" -#: circuits/filtersets.py:221 circuits/filtersets.py:266 -#: dcim/filtersets.py:235 dcim/filtersets.py:321 dcim/filtersets.py:394 -#: dcim/filtersets.py:993 dcim/filtersets.py:1330 dcim/filtersets.py:1857 -#: dcim/filtersets.py:2099 dcim/filtersets.py:2158 ipam/filtersets.py:232 -#: ipam/filtersets.py:363 ipam/filtersets.py:969 -#: virtualization/filtersets.py:69 virtualization/filtersets.py:197 -#: vpn/filtersets.py:387 +#: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266 +#: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321 +#: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993 +#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868 +#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169 +#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 +#: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387 msgid "Site (ID)" -msgstr "网站 (ID)" +msgstr "站点(ID)" -#: circuits/filtersets.py:231 circuits/filtersets.py:235 +#: netbox/circuits/filtersets.py:231 netbox/circuits/filtersets.py:235 msgid "Termination A (ID)" -msgstr "终止 A (ID)" +msgstr "接入点A (ID)" -#: circuits/filtersets.py:258 core/filtersets.py:73 core/filtersets.py:132 -#: dcim/filtersets.py:693 dcim/filtersets.py:1299 dcim/filtersets.py:2206 -#: extras/filtersets.py:41 extras/filtersets.py:63 extras/filtersets.py:92 -#: extras/filtersets.py:127 extras/filtersets.py:176 extras/filtersets.py:204 -#: extras/filtersets.py:234 extras/filtersets.py:271 extras/filtersets.py:343 -#: extras/filtersets.py:390 extras/filtersets.py:450 extras/filtersets.py:613 -#: extras/filtersets.py:655 extras/filtersets.py:696 -#: ipam/forms/model_forms.py:447 netbox/filtersets.py:275 -#: netbox/forms/__init__.py:22 netbox/forms/base.py:165 -#: templates/htmx/object_selector.html:28 templates/inc/filter_list.html:45 -#: templates/ipam/ipaddress_assign.html:29 templates/search.html:7 -#: templates/search.html:26 tenancy/filtersets.py:100 users/filtersets.py:23 -#: users/filtersets.py:52 users/filtersets.py:92 users/filtersets.py:140 -#: utilities/forms/forms.py:104 +#: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73 +#: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693 +#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217 +#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63 +#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127 +#: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204 +#: netbox/extras/filtersets.py:234 netbox/extras/filtersets.py:271 +#: netbox/extras/filtersets.py:343 netbox/extras/filtersets.py:390 +#: netbox/extras/filtersets.py:450 netbox/extras/filtersets.py:613 +#: netbox/extras/filtersets.py:655 netbox/extras/filtersets.py:696 +#: netbox/ipam/forms/model_forms.py:447 netbox/netbox/filtersets.py:275 +#: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:165 +#: netbox/templates/htmx/object_selector.html:28 +#: netbox/templates/inc/filter_list.html:45 +#: netbox/templates/ipam/ipaddress_assign.html:29 +#: netbox/templates/search.html:7 netbox/templates/search.html:26 +#: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23 +#: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92 +#: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104 +#: netbox/utilities/templates/navigation/menu.html:16 msgid "Search" -msgstr "搜寻" +msgstr "搜索" -#: circuits/filtersets.py:262 circuits/forms/bulk_edit.py:170 -#: circuits/forms/bulk_import.py:117 circuits/forms/filtersets.py:196 -#: circuits/forms/filtersets.py:212 circuits/forms/model_forms.py:109 -#: circuits/forms/model_forms.py:131 circuits/tables/circuits.py:96 -#: dcim/forms/connections.py:71 templates/circuits/circuit.html:15 -#: templates/circuits/circuittermination.html:19 -#: templates/dcim/inc/cable_termination.html:55 -#: templates/dcim/trace/circuit.html:4 +#: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170 +#: netbox/circuits/forms/bulk_import.py:114 +#: netbox/circuits/forms/filtersets.py:196 +#: netbox/circuits/forms/filtersets.py:212 +#: netbox/circuits/forms/model_forms.py:109 +#: netbox/circuits/forms/model_forms.py:131 +#: netbox/circuits/tables/circuits.py:98 netbox/dcim/forms/connections.py:71 +#: netbox/templates/circuits/circuit.html:15 +#: netbox/templates/circuits/circuittermination.html:19 +#: netbox/templates/dcim/inc/cable_termination.html:55 +#: netbox/templates/dcim/trace/circuit.html:4 msgid "Circuit" -msgstr "电路" +msgstr "线路" -#: circuits/filtersets.py:276 +#: netbox/circuits/filtersets.py:276 msgid "ProviderNetwork (ID)" -msgstr "提供商网络 (ID)" +msgstr "运营商网络 (ID)" -#: circuits/forms/bulk_edit.py:28 circuits/forms/filtersets.py:54 -#: circuits/forms/model_forms.py:27 circuits/tables/providers.py:33 -#: dcim/forms/bulk_edit.py:127 dcim/forms/filtersets.py:188 -#: dcim/forms/model_forms.py:122 dcim/tables/sites.py:94 -#: ipam/models/asns.py:126 ipam/tables/asn.py:27 ipam/views.py:219 -#: netbox/navigation/menu.py:159 netbox/navigation/menu.py:162 -#: templates/circuits/provider.html:23 +#: netbox/circuits/forms/bulk_edit.py:28 +#: netbox/circuits/forms/filtersets.py:54 +#: netbox/circuits/forms/model_forms.py:27 +#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127 +#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122 +#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126 +#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213 +#: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162 +#: netbox/templates/circuits/provider.html:23 msgid "ASNs" -msgstr "ASN" +msgstr "自治系统编号/AS编号" -#: circuits/forms/bulk_edit.py:32 circuits/forms/bulk_edit.py:54 -#: circuits/forms/bulk_edit.py:81 circuits/forms/bulk_edit.py:102 -#: circuits/forms/bulk_edit.py:162 circuits/forms/bulk_edit.py:181 -#: core/forms/bulk_edit.py:28 core/tables/plugins.py:29 -#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:72 -#: dcim/forms/bulk_edit.py:91 dcim/forms/bulk_edit.py:150 -#: dcim/forms/bulk_edit.py:191 dcim/forms/bulk_edit.py:209 -#: dcim/forms/bulk_edit.py:337 dcim/forms/bulk_edit.py:373 -#: dcim/forms/bulk_edit.py:388 dcim/forms/bulk_edit.py:447 -#: dcim/forms/bulk_edit.py:486 dcim/forms/bulk_edit.py:516 -#: dcim/forms/bulk_edit.py:540 dcim/forms/bulk_edit.py:613 -#: dcim/forms/bulk_edit.py:665 dcim/forms/bulk_edit.py:717 -#: dcim/forms/bulk_edit.py:740 dcim/forms/bulk_edit.py:788 -#: dcim/forms/bulk_edit.py:858 dcim/forms/bulk_edit.py:911 -#: dcim/forms/bulk_edit.py:946 dcim/forms/bulk_edit.py:986 -#: dcim/forms/bulk_edit.py:1030 dcim/forms/bulk_edit.py:1075 -#: dcim/forms/bulk_edit.py:1102 dcim/forms/bulk_edit.py:1120 -#: dcim/forms/bulk_edit.py:1138 dcim/forms/bulk_edit.py:1156 -#: dcim/forms/bulk_edit.py:1575 extras/forms/bulk_edit.py:36 -#: extras/forms/bulk_edit.py:124 extras/forms/bulk_edit.py:153 -#: extras/forms/bulk_edit.py:183 extras/forms/bulk_edit.py:264 -#: extras/forms/bulk_edit.py:288 extras/forms/bulk_edit.py:302 -#: extras/tables/tables.py:58 ipam/forms/bulk_edit.py:51 -#: ipam/forms/bulk_edit.py:71 ipam/forms/bulk_edit.py:91 -#: ipam/forms/bulk_edit.py:115 ipam/forms/bulk_edit.py:144 -#: ipam/forms/bulk_edit.py:173 ipam/forms/bulk_edit.py:192 -#: ipam/forms/bulk_edit.py:261 ipam/forms/bulk_edit.py:305 -#: ipam/forms/bulk_edit.py:353 ipam/forms/bulk_edit.py:396 -#: ipam/forms/bulk_edit.py:424 ipam/forms/bulk_edit.py:554 -#: ipam/forms/bulk_edit.py:585 templates/account/token.html:35 -#: templates/circuits/circuit.html:59 templates/circuits/circuittype.html:26 -#: templates/circuits/inc/circuit_termination_fields.html:88 -#: templates/circuits/provider.html:33 -#: templates/circuits/providernetwork.html:32 -#: templates/core/datasource.html:54 templates/dcim/cable.html:36 -#: templates/dcim/consoleport.html:44 templates/dcim/consoleserverport.html:44 -#: templates/dcim/device.html:93 templates/dcim/devicebay.html:32 -#: templates/dcim/devicerole.html:30 templates/dcim/devicetype.html:33 -#: templates/dcim/frontport.html:58 templates/dcim/interface.html:69 -#: templates/dcim/inventoryitem.html:60 -#: templates/dcim/inventoryitemrole.html:22 templates/dcim/location.html:33 -#: templates/dcim/manufacturer.html:40 templates/dcim/module.html:70 -#: templates/dcim/modulebay.html:38 templates/dcim/moduletype.html:26 -#: templates/dcim/platform.html:33 templates/dcim/powerfeed.html:40 -#: templates/dcim/poweroutlet.html:40 templates/dcim/powerpanel.html:30 -#: templates/dcim/powerport.html:40 templates/dcim/rack.html:51 -#: templates/dcim/rackreservation.html:62 templates/dcim/rackrole.html:26 -#: templates/dcim/rearport.html:54 templates/dcim/region.html:33 -#: templates/dcim/site.html:59 templates/dcim/sitegroup.html:33 -#: templates/dcim/virtualchassis.html:31 -#: templates/extras/configcontext.html:21 -#: templates/extras/configtemplate.html:17 -#: templates/extras/customfield.html:34 -#: templates/extras/dashboard/widget_add.html:14 -#: templates/extras/eventrule.html:21 templates/extras/exporttemplate.html:19 -#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:47 -#: templates/extras/tag.html:20 templates/extras/webhook.html:17 -#: templates/generic/bulk_import.html:120 templates/ipam/aggregate.html:43 -#: templates/ipam/asn.html:42 templates/ipam/asnrange.html:38 -#: templates/ipam/fhrpgroup.html:34 templates/ipam/ipaddress.html:55 -#: templates/ipam/iprange.html:67 templates/ipam/prefix.html:81 -#: templates/ipam/rir.html:26 templates/ipam/role.html:26 -#: templates/ipam/routetarget.html:21 templates/ipam/service.html:50 -#: templates/ipam/servicetemplate.html:27 templates/ipam/vlan.html:62 -#: templates/ipam/vlangroup.html:34 templates/ipam/vrf.html:33 -#: templates/tenancy/contact.html:67 templates/tenancy/contactgroup.html:25 -#: templates/tenancy/contactrole.html:22 templates/tenancy/tenant.html:24 -#: templates/tenancy/tenantgroup.html:33 templates/users/group.html:21 -#: templates/users/objectpermission.html:21 templates/users/token.html:27 -#: templates/virtualization/cluster.html:25 -#: templates/virtualization/clustergroup.html:26 -#: templates/virtualization/clustertype.html:26 -#: templates/virtualization/virtualdisk.html:39 -#: templates/virtualization/virtualmachine.html:31 -#: templates/virtualization/vminterface.html:51 -#: templates/vpn/ikepolicy.html:17 templates/vpn/ikeproposal.html:17 -#: templates/vpn/ipsecpolicy.html:17 templates/vpn/ipsecprofile.html:17 -#: templates/vpn/ipsecprofile.html:40 templates/vpn/ipsecprofile.html:73 -#: templates/vpn/ipsecproposal.html:17 templates/vpn/l2vpn.html:26 -#: templates/vpn/tunnel.html:33 templates/vpn/tunnelgroup.html:30 -#: templates/wireless/wirelesslan.html:26 -#: templates/wireless/wirelesslangroup.html:33 -#: templates/wireless/wirelesslink.html:34 tenancy/forms/bulk_edit.py:32 -#: tenancy/forms/bulk_edit.py:80 tenancy/forms/bulk_edit.py:122 -#: users/forms/bulk_edit.py:64 users/forms/bulk_edit.py:82 -#: users/forms/bulk_edit.py:112 virtualization/forms/bulk_edit.py:32 -#: virtualization/forms/bulk_edit.py:46 virtualization/forms/bulk_edit.py:100 -#: virtualization/forms/bulk_edit.py:177 virtualization/forms/bulk_edit.py:228 -#: virtualization/forms/bulk_edit.py:337 vpn/forms/bulk_edit.py:28 -#: vpn/forms/bulk_edit.py:64 vpn/forms/bulk_edit.py:121 -#: vpn/forms/bulk_edit.py:155 vpn/forms/bulk_edit.py:190 -#: vpn/forms/bulk_edit.py:215 vpn/forms/bulk_edit.py:247 -#: vpn/forms/bulk_edit.py:274 wireless/forms/bulk_edit.py:29 -#: wireless/forms/bulk_edit.py:82 wireless/forms/bulk_edit.py:129 +#: netbox/circuits/forms/bulk_edit.py:32 netbox/circuits/forms/bulk_edit.py:54 +#: netbox/circuits/forms/bulk_edit.py:81 +#: netbox/circuits/forms/bulk_edit.py:102 +#: netbox/circuits/forms/bulk_edit.py:162 +#: netbox/circuits/forms/bulk_edit.py:181 netbox/core/forms/bulk_edit.py:28 +#: netbox/core/tables/plugins.py:29 netbox/dcim/forms/bulk_create.py:35 +#: netbox/dcim/forms/bulk_edit.py:72 netbox/dcim/forms/bulk_edit.py:91 +#: netbox/dcim/forms/bulk_edit.py:150 netbox/dcim/forms/bulk_edit.py:191 +#: netbox/dcim/forms/bulk_edit.py:209 netbox/dcim/forms/bulk_edit.py:337 +#: netbox/dcim/forms/bulk_edit.py:373 netbox/dcim/forms/bulk_edit.py:388 +#: netbox/dcim/forms/bulk_edit.py:447 netbox/dcim/forms/bulk_edit.py:486 +#: netbox/dcim/forms/bulk_edit.py:516 netbox/dcim/forms/bulk_edit.py:540 +#: netbox/dcim/forms/bulk_edit.py:613 netbox/dcim/forms/bulk_edit.py:665 +#: netbox/dcim/forms/bulk_edit.py:717 netbox/dcim/forms/bulk_edit.py:740 +#: netbox/dcim/forms/bulk_edit.py:788 netbox/dcim/forms/bulk_edit.py:858 +#: netbox/dcim/forms/bulk_edit.py:911 netbox/dcim/forms/bulk_edit.py:946 +#: netbox/dcim/forms/bulk_edit.py:986 netbox/dcim/forms/bulk_edit.py:1030 +#: netbox/dcim/forms/bulk_edit.py:1075 netbox/dcim/forms/bulk_edit.py:1102 +#: netbox/dcim/forms/bulk_edit.py:1120 netbox/dcim/forms/bulk_edit.py:1138 +#: netbox/dcim/forms/bulk_edit.py:1156 netbox/dcim/forms/bulk_edit.py:1575 +#: netbox/extras/forms/bulk_edit.py:36 netbox/extras/forms/bulk_edit.py:124 +#: netbox/extras/forms/bulk_edit.py:153 netbox/extras/forms/bulk_edit.py:183 +#: netbox/extras/forms/bulk_edit.py:264 netbox/extras/forms/bulk_edit.py:288 +#: netbox/extras/forms/bulk_edit.py:302 netbox/extras/tables/tables.py:59 +#: netbox/ipam/forms/bulk_edit.py:51 netbox/ipam/forms/bulk_edit.py:71 +#: netbox/ipam/forms/bulk_edit.py:91 netbox/ipam/forms/bulk_edit.py:115 +#: netbox/ipam/forms/bulk_edit.py:144 netbox/ipam/forms/bulk_edit.py:173 +#: netbox/ipam/forms/bulk_edit.py:192 netbox/ipam/forms/bulk_edit.py:261 +#: netbox/ipam/forms/bulk_edit.py:305 netbox/ipam/forms/bulk_edit.py:353 +#: netbox/ipam/forms/bulk_edit.py:396 netbox/ipam/forms/bulk_edit.py:424 +#: netbox/ipam/forms/bulk_edit.py:554 netbox/ipam/forms/bulk_edit.py:585 +#: netbox/templates/account/token.html:35 +#: netbox/templates/circuits/circuit.html:59 +#: netbox/templates/circuits/circuittype.html:26 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:88 +#: netbox/templates/circuits/provider.html:33 +#: netbox/templates/circuits/providernetwork.html:32 +#: netbox/templates/core/datasource.html:54 +#: netbox/templates/dcim/cable.html:36 +#: netbox/templates/dcim/consoleport.html:44 +#: netbox/templates/dcim/consoleserverport.html:44 +#: netbox/templates/dcim/device.html:94 +#: netbox/templates/dcim/devicebay.html:32 +#: netbox/templates/dcim/devicerole.html:30 +#: netbox/templates/dcim/devicetype.html:33 +#: netbox/templates/dcim/frontport.html:58 +#: netbox/templates/dcim/interface.html:69 +#: netbox/templates/dcim/inventoryitem.html:60 +#: netbox/templates/dcim/inventoryitemrole.html:22 +#: netbox/templates/dcim/location.html:33 +#: netbox/templates/dcim/manufacturer.html:40 +#: netbox/templates/dcim/module.html:70 +#: netbox/templates/dcim/modulebay.html:38 +#: netbox/templates/dcim/moduletype.html:26 +#: netbox/templates/dcim/platform.html:33 +#: netbox/templates/dcim/powerfeed.html:40 +#: netbox/templates/dcim/poweroutlet.html:40 +#: netbox/templates/dcim/powerpanel.html:30 +#: netbox/templates/dcim/powerport.html:40 netbox/templates/dcim/rack.html:51 +#: netbox/templates/dcim/rackreservation.html:62 +#: netbox/templates/dcim/rackrole.html:26 +#: netbox/templates/dcim/rearport.html:54 netbox/templates/dcim/region.html:33 +#: netbox/templates/dcim/site.html:60 netbox/templates/dcim/sitegroup.html:33 +#: netbox/templates/dcim/virtualchassis.html:31 +#: netbox/templates/extras/configcontext.html:21 +#: netbox/templates/extras/configtemplate.html:17 +#: netbox/templates/extras/customfield.html:34 +#: netbox/templates/extras/dashboard/widget_add.html:14 +#: netbox/templates/extras/eventrule.html:21 +#: netbox/templates/extras/exporttemplate.html:19 +#: netbox/templates/extras/savedfilter.html:17 +#: netbox/templates/extras/script_list.html:47 +#: netbox/templates/extras/tag.html:20 netbox/templates/extras/webhook.html:17 +#: netbox/templates/generic/bulk_import.html:120 +#: netbox/templates/ipam/aggregate.html:43 netbox/templates/ipam/asn.html:42 +#: netbox/templates/ipam/asnrange.html:38 +#: netbox/templates/ipam/fhrpgroup.html:34 +#: netbox/templates/ipam/ipaddress.html:55 +#: netbox/templates/ipam/iprange.html:67 netbox/templates/ipam/prefix.html:81 +#: netbox/templates/ipam/rir.html:26 netbox/templates/ipam/role.html:26 +#: netbox/templates/ipam/routetarget.html:21 +#: netbox/templates/ipam/service.html:50 +#: netbox/templates/ipam/servicetemplate.html:27 +#: netbox/templates/ipam/vlan.html:62 netbox/templates/ipam/vlangroup.html:34 +#: netbox/templates/ipam/vrf.html:33 netbox/templates/tenancy/contact.html:67 +#: netbox/templates/tenancy/contactgroup.html:25 +#: netbox/templates/tenancy/contactrole.html:22 +#: netbox/templates/tenancy/tenant.html:24 +#: netbox/templates/tenancy/tenantgroup.html:33 +#: netbox/templates/users/group.html:21 +#: netbox/templates/users/objectpermission.html:21 +#: netbox/templates/users/token.html:27 +#: netbox/templates/virtualization/cluster.html:25 +#: netbox/templates/virtualization/clustergroup.html:26 +#: netbox/templates/virtualization/clustertype.html:26 +#: netbox/templates/virtualization/virtualdisk.html:39 +#: netbox/templates/virtualization/virtualmachine.html:31 +#: netbox/templates/virtualization/vminterface.html:51 +#: netbox/templates/vpn/ikepolicy.html:17 +#: netbox/templates/vpn/ikeproposal.html:17 +#: netbox/templates/vpn/ipsecpolicy.html:17 +#: netbox/templates/vpn/ipsecprofile.html:17 +#: netbox/templates/vpn/ipsecprofile.html:40 +#: netbox/templates/vpn/ipsecprofile.html:73 +#: netbox/templates/vpn/ipsecproposal.html:17 +#: netbox/templates/vpn/l2vpn.html:26 netbox/templates/vpn/tunnel.html:33 +#: netbox/templates/vpn/tunnelgroup.html:30 +#: netbox/templates/wireless/wirelesslan.html:26 +#: netbox/templates/wireless/wirelesslangroup.html:33 +#: netbox/templates/wireless/wirelesslink.html:34 +#: netbox/tenancy/forms/bulk_edit.py:32 netbox/tenancy/forms/bulk_edit.py:80 +#: netbox/tenancy/forms/bulk_edit.py:122 netbox/users/forms/bulk_edit.py:64 +#: netbox/users/forms/bulk_edit.py:82 netbox/users/forms/bulk_edit.py:112 +#: netbox/virtualization/forms/bulk_edit.py:32 +#: netbox/virtualization/forms/bulk_edit.py:46 +#: netbox/virtualization/forms/bulk_edit.py:100 +#: netbox/virtualization/forms/bulk_edit.py:177 +#: netbox/virtualization/forms/bulk_edit.py:228 +#: netbox/virtualization/forms/bulk_edit.py:337 +#: netbox/vpn/forms/bulk_edit.py:28 netbox/vpn/forms/bulk_edit.py:64 +#: netbox/vpn/forms/bulk_edit.py:121 netbox/vpn/forms/bulk_edit.py:155 +#: netbox/vpn/forms/bulk_edit.py:190 netbox/vpn/forms/bulk_edit.py:215 +#: netbox/vpn/forms/bulk_edit.py:247 netbox/vpn/forms/bulk_edit.py:274 +#: netbox/wireless/forms/bulk_edit.py:29 netbox/wireless/forms/bulk_edit.py:82 +#: netbox/wireless/forms/bulk_edit.py:129 msgid "Description" msgstr "描述" -#: circuits/forms/bulk_edit.py:49 circuits/forms/bulk_edit.py:71 -#: circuits/forms/bulk_edit.py:121 circuits/forms/bulk_import.py:35 -#: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76 -#: circuits/forms/filtersets.py:68 circuits/forms/filtersets.py:86 -#: circuits/forms/filtersets.py:114 circuits/forms/filtersets.py:129 -#: circuits/forms/filtersets.py:197 circuits/forms/filtersets.py:230 -#: circuits/forms/model_forms.py:45 circuits/forms/model_forms.py:59 -#: circuits/forms/model_forms.py:91 circuits/tables/circuits.py:56 -#: circuits/tables/circuits.py:100 circuits/tables/providers.py:72 -#: circuits/tables/providers.py:103 templates/circuits/circuit.html:18 -#: templates/circuits/circuittermination.html:25 -#: templates/circuits/provider.html:20 -#: templates/circuits/provideraccount.html:20 -#: templates/circuits/providernetwork.html:20 -#: templates/dcim/inc/cable_termination.html:51 +#: netbox/circuits/forms/bulk_edit.py:49 netbox/circuits/forms/bulk_edit.py:71 +#: netbox/circuits/forms/bulk_edit.py:121 +#: netbox/circuits/forms/bulk_import.py:35 +#: netbox/circuits/forms/bulk_import.py:50 +#: netbox/circuits/forms/bulk_import.py:73 +#: netbox/circuits/forms/filtersets.py:68 +#: netbox/circuits/forms/filtersets.py:86 +#: netbox/circuits/forms/filtersets.py:114 +#: netbox/circuits/forms/filtersets.py:129 +#: netbox/circuits/forms/filtersets.py:197 +#: netbox/circuits/forms/filtersets.py:230 +#: netbox/circuits/forms/model_forms.py:45 +#: netbox/circuits/forms/model_forms.py:59 +#: netbox/circuits/forms/model_forms.py:91 +#: netbox/circuits/tables/circuits.py:56 +#: netbox/circuits/tables/circuits.py:102 +#: netbox/circuits/tables/providers.py:72 +#: netbox/circuits/tables/providers.py:103 +#: netbox/templates/circuits/circuit.html:18 +#: netbox/templates/circuits/circuittermination.html:25 +#: netbox/templates/circuits/provider.html:20 +#: netbox/templates/circuits/provideraccount.html:20 +#: netbox/templates/circuits/providernetwork.html:20 +#: netbox/templates/dcim/inc/cable_termination.html:51 msgid "Provider" -msgstr "提供商" +msgstr "运营商" -#: circuits/forms/bulk_edit.py:78 circuits/forms/filtersets.py:89 -#: templates/circuits/providernetwork.html:28 +#: netbox/circuits/forms/bulk_edit.py:78 +#: netbox/circuits/forms/filtersets.py:89 +#: netbox/templates/circuits/providernetwork.html:28 msgid "Service ID" -msgstr "服务 ID" +msgstr "服务ID" -#: circuits/forms/bulk_edit.py:98 circuits/forms/filtersets.py:105 -#: dcim/forms/bulk_edit.py:205 dcim/forms/bulk_edit.py:502 -#: dcim/forms/bulk_edit.py:702 dcim/forms/bulk_edit.py:1071 -#: dcim/forms/bulk_edit.py:1098 dcim/forms/bulk_edit.py:1571 -#: dcim/forms/filtersets.py:983 dcim/forms/filtersets.py:1359 -#: dcim/forms/filtersets.py:1380 dcim/tables/devices.py:699 -#: dcim/tables/devices.py:759 dcim/tables/devices.py:986 -#: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260 -#: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:260 -#: extras/tables/tables.py:333 templates/circuits/circuittype.html:30 -#: templates/dcim/cable.html:40 templates/dcim/devicerole.html:34 -#: templates/dcim/frontport.html:40 templates/dcim/inventoryitemrole.html:26 -#: templates/dcim/rackrole.html:30 templates/dcim/rearport.html:40 -#: templates/extras/tag.html:26 +#: netbox/circuits/forms/bulk_edit.py:98 +#: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205 +#: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702 +#: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098 +#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995 +#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392 +#: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744 +#: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245 +#: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32 +#: netbox/extras/forms/bulk_edit.py:260 netbox/extras/tables/tables.py:334 +#: netbox/templates/circuits/circuittype.html:30 +#: netbox/templates/dcim/cable.html:40 +#: netbox/templates/dcim/devicerole.html:34 +#: netbox/templates/dcim/frontport.html:40 +#: netbox/templates/dcim/inventoryitemrole.html:26 +#: netbox/templates/dcim/rackrole.html:30 +#: netbox/templates/dcim/rearport.html:40 netbox/templates/extras/tag.html:26 msgid "Color" msgstr "颜色" -#: circuits/forms/bulk_edit.py:116 circuits/forms/bulk_import.py:89 -#: circuits/forms/filtersets.py:124 core/forms/bulk_edit.py:18 -#: core/forms/filtersets.py:30 core/tables/data.py:20 core/tables/jobs.py:18 -#: dcim/forms/bulk_edit.py:282 dcim/forms/bulk_edit.py:680 -#: dcim/forms/bulk_edit.py:819 dcim/forms/bulk_edit.py:887 -#: dcim/forms/bulk_edit.py:906 dcim/forms/bulk_edit.py:929 -#: dcim/forms/bulk_edit.py:971 dcim/forms/bulk_edit.py:1015 -#: dcim/forms/bulk_edit.py:1066 dcim/forms/bulk_edit.py:1093 -#: dcim/forms/bulk_import.py:214 dcim/forms/bulk_import.py:653 -#: dcim/forms/bulk_import.py:679 dcim/forms/bulk_import.py:705 -#: dcim/forms/bulk_import.py:725 dcim/forms/bulk_import.py:808 -#: dcim/forms/bulk_import.py:902 dcim/forms/bulk_import.py:944 -#: dcim/forms/bulk_import.py:1161 dcim/forms/bulk_import.py:1327 -#: dcim/forms/filtersets.py:287 dcim/forms/filtersets.py:874 -#: dcim/forms/filtersets.py:973 dcim/forms/filtersets.py:1094 -#: dcim/forms/filtersets.py:1164 dcim/forms/filtersets.py:1186 -#: dcim/forms/filtersets.py:1208 dcim/forms/filtersets.py:1225 -#: dcim/forms/filtersets.py:1259 dcim/forms/filtersets.py:1354 -#: dcim/forms/filtersets.py:1375 dcim/forms/model_forms.py:643 -#: dcim/forms/model_forms.py:649 dcim/forms/object_import.py:84 -#: dcim/forms/object_import.py:113 dcim/forms/object_import.py:145 -#: dcim/tables/devices.py:183 dcim/tables/devices.py:815 -#: dcim/tables/power.py:77 extras/forms/bulk_import.py:39 -#: extras/tables/tables.py:283 extras/tables/tables.py:355 -#: extras/tables/tables.py:473 netbox/tables/tables.py:239 -#: templates/circuits/circuit.html:30 templates/core/datasource.html:38 -#: templates/dcim/cable.html:15 templates/dcim/consoleport.html:36 -#: templates/dcim/consoleserverport.html:36 templates/dcim/frontport.html:36 -#: templates/dcim/interface.html:46 templates/dcim/interface.html:169 -#: templates/dcim/interface.html:311 templates/dcim/powerfeed.html:32 -#: templates/dcim/poweroutlet.html:36 templates/dcim/powerport.html:36 -#: templates/dcim/rack.html:76 templates/dcim/rearport.html:36 -#: templates/extras/eventrule.html:80 templates/virtualization/cluster.html:17 -#: templates/vpn/l2vpn.html:22 -#: templates/wireless/inc/authentication_attrs.html:8 -#: templates/wireless/inc/wirelesslink_interface.html:14 -#: virtualization/forms/bulk_edit.py:60 virtualization/forms/bulk_import.py:41 -#: virtualization/forms/filtersets.py:54 -#: virtualization/forms/model_forms.py:62 virtualization/tables/clusters.py:66 -#: vpn/forms/bulk_edit.py:264 vpn/forms/bulk_import.py:264 -#: vpn/forms/filtersets.py:217 vpn/forms/model_forms.py:84 -#: vpn/forms/model_forms.py:119 vpn/forms/model_forms.py:231 +#: netbox/circuits/forms/bulk_edit.py:116 +#: netbox/circuits/forms/bulk_import.py:86 +#: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18 +#: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20 +#: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282 +#: netbox/dcim/forms/bulk_edit.py:680 netbox/dcim/forms/bulk_edit.py:819 +#: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906 +#: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971 +#: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066 +#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673 +#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719 +#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896 +#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152 +#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288 +#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985 +#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176 +#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220 +#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387 +#: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652 +#: netbox/dcim/forms/object_import.py:84 +#: netbox/dcim/forms/object_import.py:113 +#: netbox/dcim/forms/object_import.py:145 netbox/dcim/tables/devices.py:175 +#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/power.py:77 +#: netbox/extras/forms/bulk_import.py:39 netbox/extras/tables/tables.py:284 +#: netbox/extras/tables/tables.py:356 netbox/extras/tables/tables.py:474 +#: netbox/netbox/tables/tables.py:239 +#: netbox/templates/circuits/circuit.html:30 +#: netbox/templates/core/datasource.html:38 +#: netbox/templates/dcim/cable.html:15 +#: netbox/templates/dcim/consoleport.html:36 +#: netbox/templates/dcim/consoleserverport.html:36 +#: netbox/templates/dcim/frontport.html:36 +#: netbox/templates/dcim/interface.html:46 +#: netbox/templates/dcim/interface.html:169 +#: netbox/templates/dcim/interface.html:311 +#: netbox/templates/dcim/powerfeed.html:32 +#: netbox/templates/dcim/poweroutlet.html:36 +#: netbox/templates/dcim/powerport.html:36 netbox/templates/dcim/rack.html:76 +#: netbox/templates/dcim/rearport.html:36 +#: netbox/templates/extras/eventrule.html:80 +#: netbox/templates/virtualization/cluster.html:17 +#: netbox/templates/vpn/l2vpn.html:22 +#: netbox/templates/wireless/inc/authentication_attrs.html:8 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:14 +#: netbox/virtualization/forms/bulk_edit.py:60 +#: netbox/virtualization/forms/bulk_import.py:41 +#: netbox/virtualization/forms/filtersets.py:54 +#: netbox/virtualization/forms/model_forms.py:62 +#: netbox/virtualization/tables/clusters.py:66 +#: netbox/vpn/forms/bulk_edit.py:264 netbox/vpn/forms/bulk_import.py:264 +#: netbox/vpn/forms/filtersets.py:217 netbox/vpn/forms/model_forms.py:84 +#: netbox/vpn/forms/model_forms.py:119 netbox/vpn/forms/model_forms.py:231 msgid "Type" msgstr "类型" -#: circuits/forms/bulk_edit.py:126 circuits/forms/bulk_import.py:82 -#: circuits/forms/filtersets.py:137 circuits/forms/model_forms.py:96 +#: netbox/circuits/forms/bulk_edit.py:126 +#: netbox/circuits/forms/bulk_import.py:79 +#: netbox/circuits/forms/filtersets.py:137 +#: netbox/circuits/forms/model_forms.py:96 msgid "Provider account" -msgstr "提供商账户" +msgstr "运营商账户" -#: circuits/forms/bulk_edit.py:134 circuits/forms/bulk_import.py:95 -#: circuits/forms/filtersets.py:148 core/forms/filtersets.py:35 -#: core/forms/filtersets.py:76 core/tables/data.py:23 core/tables/jobs.py:26 -#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:105 -#: dcim/forms/bulk_edit.py:180 dcim/forms/bulk_edit.py:261 -#: dcim/forms/bulk_edit.py:598 dcim/forms/bulk_edit.py:654 -#: dcim/forms/bulk_edit.py:686 dcim/forms/bulk_edit.py:813 -#: dcim/forms/bulk_edit.py:1594 dcim/forms/bulk_import.py:87 -#: dcim/forms/bulk_import.py:146 dcim/forms/bulk_import.py:202 -#: dcim/forms/bulk_import.py:450 dcim/forms/bulk_import.py:604 -#: dcim/forms/bulk_import.py:1155 dcim/forms/bulk_import.py:1322 -#: dcim/forms/bulk_import.py:1386 dcim/forms/filtersets.py:171 -#: dcim/forms/filtersets.py:230 dcim/forms/filtersets.py:282 -#: dcim/forms/filtersets.py:728 dcim/forms/filtersets.py:843 -#: dcim/forms/filtersets.py:877 dcim/forms/filtersets.py:978 -#: dcim/forms/filtersets.py:1089 dcim/tables/devices.py:145 -#: dcim/tables/devices.py:818 dcim/tables/devices.py:1046 -#: dcim/tables/modules.py:69 dcim/tables/power.py:74 dcim/tables/racks.py:66 -#: dcim/tables/sites.py:82 dcim/tables/sites.py:133 -#: ipam/forms/bulk_edit.py:241 ipam/forms/bulk_edit.py:290 -#: ipam/forms/bulk_edit.py:338 ipam/forms/bulk_edit.py:544 -#: ipam/forms/bulk_import.py:191 ipam/forms/bulk_import.py:256 -#: ipam/forms/bulk_import.py:292 ipam/forms/bulk_import.py:458 -#: ipam/forms/filtersets.py:210 ipam/forms/filtersets.py:281 -#: ipam/forms/filtersets.py:355 ipam/forms/filtersets.py:508 -#: ipam/forms/model_forms.py:466 ipam/tables/ip.py:236 ipam/tables/ip.py:309 -#: ipam/tables/ip.py:359 ipam/tables/ip.py:421 ipam/tables/ip.py:448 -#: ipam/tables/vlans.py:122 ipam/tables/vlans.py:227 -#: templates/circuits/circuit.html:34 templates/core/datasource.html:46 -#: templates/core/job.html:30 templates/core/rq_task.html:81 -#: templates/core/system.html:18 templates/dcim/cable.html:19 -#: templates/dcim/device.html:175 templates/dcim/location.html:45 -#: templates/dcim/module.html:66 templates/dcim/powerfeed.html:36 -#: templates/dcim/rack.html:43 templates/dcim/site.html:42 -#: templates/extras/script_list.html:49 templates/ipam/ipaddress.html:37 -#: templates/ipam/iprange.html:54 templates/ipam/prefix.html:73 -#: templates/ipam/vlan.html:48 templates/virtualization/cluster.html:21 -#: templates/virtualization/virtualmachine.html:19 -#: templates/vpn/tunnel.html:25 templates/wireless/wirelesslan.html:22 -#: templates/wireless/wirelesslink.html:17 users/forms/filtersets.py:33 -#: users/forms/model_forms.py:195 virtualization/forms/bulk_edit.py:70 -#: virtualization/forms/bulk_edit.py:118 -#: virtualization/forms/bulk_import.py:54 -#: virtualization/forms/bulk_import.py:80 -#: virtualization/forms/filtersets.py:62 -#: virtualization/forms/filtersets.py:160 virtualization/tables/clusters.py:74 -#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:39 -#: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:47 -#: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:43 -#: wireless/forms/bulk_edit.py:105 wireless/forms/bulk_import.py:43 -#: wireless/forms/bulk_import.py:84 wireless/forms/filtersets.py:49 -#: wireless/forms/filtersets.py:83 wireless/tables/wirelesslan.py:52 -#: wireless/tables/wirelesslink.py:19 +#: netbox/circuits/forms/bulk_edit.py:134 +#: netbox/circuits/forms/bulk_import.py:92 +#: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35 +#: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23 +#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 +#: netbox/dcim/forms/bulk_edit.py:105 netbox/dcim/forms/bulk_edit.py:180 +#: netbox/dcim/forms/bulk_edit.py:261 netbox/dcim/forms/bulk_edit.py:598 +#: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686 +#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594 +#: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146 +#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444 +#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374 +#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231 +#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730 +#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889 +#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101 +#: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800 +#: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66 +#: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:133 +#: netbox/ipam/forms/bulk_edit.py:241 netbox/ipam/forms/bulk_edit.py:290 +#: netbox/ipam/forms/bulk_edit.py:338 netbox/ipam/forms/bulk_edit.py:544 +#: netbox/ipam/forms/bulk_import.py:191 netbox/ipam/forms/bulk_import.py:256 +#: netbox/ipam/forms/bulk_import.py:292 netbox/ipam/forms/bulk_import.py:458 +#: netbox/ipam/forms/filtersets.py:210 netbox/ipam/forms/filtersets.py:281 +#: netbox/ipam/forms/filtersets.py:355 netbox/ipam/forms/filtersets.py:508 +#: netbox/ipam/forms/model_forms.py:466 netbox/ipam/tables/ip.py:236 +#: netbox/ipam/tables/ip.py:309 netbox/ipam/tables/ip.py:359 +#: netbox/ipam/tables/ip.py:421 netbox/ipam/tables/ip.py:448 +#: netbox/ipam/tables/vlans.py:122 netbox/ipam/tables/vlans.py:227 +#: netbox/templates/circuits/circuit.html:34 +#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30 +#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18 +#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178 +#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66 +#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43 +#: netbox/templates/dcim/site.html:43 +#: netbox/templates/extras/script_list.html:49 +#: netbox/templates/ipam/ipaddress.html:37 +#: netbox/templates/ipam/iprange.html:54 netbox/templates/ipam/prefix.html:73 +#: netbox/templates/ipam/vlan.html:48 +#: netbox/templates/virtualization/cluster.html:21 +#: netbox/templates/virtualization/virtualmachine.html:19 +#: netbox/templates/vpn/tunnel.html:25 +#: netbox/templates/wireless/wirelesslan.html:22 +#: netbox/templates/wireless/wirelesslink.html:17 +#: netbox/users/forms/filtersets.py:33 netbox/users/forms/model_forms.py:195 +#: netbox/virtualization/forms/bulk_edit.py:70 +#: netbox/virtualization/forms/bulk_edit.py:118 +#: netbox/virtualization/forms/bulk_import.py:54 +#: netbox/virtualization/forms/bulk_import.py:80 +#: netbox/virtualization/forms/filtersets.py:62 +#: netbox/virtualization/forms/filtersets.py:160 +#: netbox/virtualization/tables/clusters.py:74 +#: netbox/virtualization/tables/virtualmachines.py:59 +#: netbox/vpn/forms/bulk_edit.py:39 netbox/vpn/forms/bulk_import.py:37 +#: netbox/vpn/forms/filtersets.py:47 netbox/vpn/tables/tunnels.py:48 +#: netbox/wireless/forms/bulk_edit.py:43 +#: netbox/wireless/forms/bulk_edit.py:105 +#: netbox/wireless/forms/bulk_import.py:43 +#: netbox/wireless/forms/bulk_import.py:84 +#: netbox/wireless/forms/filtersets.py:49 +#: netbox/wireless/forms/filtersets.py:83 +#: netbox/wireless/tables/wirelesslan.py:52 +#: netbox/wireless/tables/wirelesslink.py:19 msgid "Status" msgstr "状态" -#: circuits/forms/bulk_edit.py:140 circuits/forms/bulk_import.py:100 -#: circuits/forms/filtersets.py:117 dcim/forms/bulk_edit.py:121 -#: dcim/forms/bulk_edit.py:186 dcim/forms/bulk_edit.py:256 -#: dcim/forms/bulk_edit.py:368 dcim/forms/bulk_edit.py:588 -#: dcim/forms/bulk_edit.py:692 dcim/forms/bulk_edit.py:1599 -#: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151 -#: dcim/forms/bulk_import.py:195 dcim/forms/bulk_import.py:282 -#: dcim/forms/bulk_import.py:424 dcim/forms/bulk_import.py:1167 -#: dcim/forms/bulk_import.py:1379 dcim/forms/filtersets.py:166 -#: dcim/forms/filtersets.py:198 dcim/forms/filtersets.py:249 -#: dcim/forms/filtersets.py:334 dcim/forms/filtersets.py:355 -#: dcim/forms/filtersets.py:652 dcim/forms/filtersets.py:835 -#: dcim/forms/filtersets.py:897 dcim/forms/filtersets.py:927 -#: dcim/forms/filtersets.py:1049 dcim/tables/power.py:88 -#: extras/filtersets.py:564 extras/forms/filtersets.py:332 -#: extras/forms/filtersets.py:405 ipam/forms/bulk_edit.py:41 -#: ipam/forms/bulk_edit.py:66 ipam/forms/bulk_edit.py:110 -#: ipam/forms/bulk_edit.py:139 ipam/forms/bulk_edit.py:164 -#: ipam/forms/bulk_edit.py:236 ipam/forms/bulk_edit.py:285 -#: ipam/forms/bulk_edit.py:333 ipam/forms/bulk_edit.py:539 -#: ipam/forms/bulk_import.py:37 ipam/forms/bulk_import.py:66 -#: ipam/forms/bulk_import.py:94 ipam/forms/bulk_import.py:114 -#: ipam/forms/bulk_import.py:134 ipam/forms/bulk_import.py:163 -#: ipam/forms/bulk_import.py:249 ipam/forms/bulk_import.py:285 -#: ipam/forms/bulk_import.py:451 ipam/forms/filtersets.py:48 -#: ipam/forms/filtersets.py:68 ipam/forms/filtersets.py:100 -#: ipam/forms/filtersets.py:120 ipam/forms/filtersets.py:143 -#: ipam/forms/filtersets.py:174 ipam/forms/filtersets.py:267 -#: ipam/forms/filtersets.py:310 ipam/forms/filtersets.py:476 -#: ipam/tables/ip.py:451 ipam/tables/vlans.py:224 -#: templates/circuits/circuit.html:38 templates/dcim/cable.html:23 -#: templates/dcim/device.html:78 templates/dcim/location.html:49 -#: templates/dcim/powerfeed.html:44 templates/dcim/rack.html:34 -#: templates/dcim/rackreservation.html:49 templates/dcim/site.html:46 -#: templates/dcim/virtualdevicecontext.html:52 -#: templates/ipam/aggregate.html:30 templates/ipam/asn.html:33 -#: templates/ipam/asnrange.html:29 templates/ipam/ipaddress.html:28 -#: templates/ipam/iprange.html:58 templates/ipam/prefix.html:29 -#: templates/ipam/routetarget.html:17 templates/ipam/vlan.html:39 -#: templates/ipam/vrf.html:20 templates/tenancy/tenant.html:17 -#: templates/virtualization/cluster.html:33 -#: templates/virtualization/virtualmachine.html:35 templates/vpn/l2vpn.html:30 -#: templates/vpn/tunnel.html:49 templates/wireless/wirelesslan.html:34 -#: templates/wireless/wirelesslink.html:25 tenancy/forms/forms.py:25 -#: tenancy/forms/forms.py:48 tenancy/forms/model_forms.py:52 -#: tenancy/tables/columns.py:64 virtualization/forms/bulk_edit.py:76 -#: virtualization/forms/bulk_edit.py:155 -#: virtualization/forms/bulk_import.py:66 -#: virtualization/forms/bulk_import.py:115 -#: virtualization/forms/filtersets.py:47 -#: virtualization/forms/filtersets.py:105 vpn/forms/bulk_edit.py:59 -#: vpn/forms/bulk_edit.py:269 vpn/forms/bulk_import.py:59 -#: vpn/forms/bulk_import.py:258 vpn/forms/filtersets.py:214 -#: wireless/forms/bulk_edit.py:63 wireless/forms/bulk_edit.py:110 -#: wireless/forms/bulk_import.py:55 wireless/forms/bulk_import.py:97 -#: wireless/forms/filtersets.py:35 wireless/forms/filtersets.py:75 +#: netbox/circuits/forms/bulk_edit.py:140 +#: netbox/circuits/forms/bulk_import.py:97 +#: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121 +#: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256 +#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588 +#: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599 +#: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151 +#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158 +#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167 +#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250 +#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356 +#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847 +#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939 +#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88 +#: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332 +#: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41 +#: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110 +#: netbox/ipam/forms/bulk_edit.py:139 netbox/ipam/forms/bulk_edit.py:164 +#: netbox/ipam/forms/bulk_edit.py:236 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/ipam/forms/bulk_edit.py:333 netbox/ipam/forms/bulk_edit.py:539 +#: netbox/ipam/forms/bulk_import.py:37 netbox/ipam/forms/bulk_import.py:66 +#: netbox/ipam/forms/bulk_import.py:94 netbox/ipam/forms/bulk_import.py:114 +#: netbox/ipam/forms/bulk_import.py:134 netbox/ipam/forms/bulk_import.py:163 +#: netbox/ipam/forms/bulk_import.py:249 netbox/ipam/forms/bulk_import.py:285 +#: netbox/ipam/forms/bulk_import.py:451 netbox/ipam/forms/filtersets.py:48 +#: netbox/ipam/forms/filtersets.py:68 netbox/ipam/forms/filtersets.py:100 +#: netbox/ipam/forms/filtersets.py:120 netbox/ipam/forms/filtersets.py:143 +#: netbox/ipam/forms/filtersets.py:174 netbox/ipam/forms/filtersets.py:267 +#: netbox/ipam/forms/filtersets.py:310 netbox/ipam/forms/filtersets.py:476 +#: netbox/ipam/tables/ip.py:451 netbox/ipam/tables/vlans.py:224 +#: netbox/templates/circuits/circuit.html:38 +#: netbox/templates/dcim/cable.html:23 netbox/templates/dcim/device.html:79 +#: netbox/templates/dcim/location.html:49 +#: netbox/templates/dcim/powerfeed.html:44 netbox/templates/dcim/rack.html:34 +#: netbox/templates/dcim/rackreservation.html:49 +#: netbox/templates/dcim/site.html:47 +#: netbox/templates/dcim/virtualdevicecontext.html:52 +#: netbox/templates/ipam/aggregate.html:30 netbox/templates/ipam/asn.html:33 +#: netbox/templates/ipam/asnrange.html:29 +#: netbox/templates/ipam/ipaddress.html:28 +#: netbox/templates/ipam/iprange.html:58 netbox/templates/ipam/prefix.html:29 +#: netbox/templates/ipam/routetarget.html:17 +#: netbox/templates/ipam/vlan.html:39 netbox/templates/ipam/vrf.html:20 +#: netbox/templates/tenancy/tenant.html:17 +#: netbox/templates/virtualization/cluster.html:33 +#: netbox/templates/virtualization/virtualmachine.html:35 +#: netbox/templates/vpn/l2vpn.html:30 netbox/templates/vpn/tunnel.html:49 +#: netbox/templates/wireless/wirelesslan.html:34 +#: netbox/templates/wireless/wirelesslink.html:25 +#: netbox/tenancy/forms/forms.py:25 netbox/tenancy/forms/forms.py:48 +#: netbox/tenancy/forms/model_forms.py:52 netbox/tenancy/tables/columns.py:64 +#: netbox/virtualization/forms/bulk_edit.py:76 +#: netbox/virtualization/forms/bulk_edit.py:155 +#: netbox/virtualization/forms/bulk_import.py:66 +#: netbox/virtualization/forms/bulk_import.py:115 +#: netbox/virtualization/forms/filtersets.py:47 +#: netbox/virtualization/forms/filtersets.py:105 +#: netbox/vpn/forms/bulk_edit.py:59 netbox/vpn/forms/bulk_edit.py:269 +#: netbox/vpn/forms/bulk_import.py:59 netbox/vpn/forms/bulk_import.py:258 +#: netbox/vpn/forms/filtersets.py:214 netbox/wireless/forms/bulk_edit.py:63 +#: netbox/wireless/forms/bulk_edit.py:110 +#: netbox/wireless/forms/bulk_import.py:55 +#: netbox/wireless/forms/bulk_import.py:97 +#: netbox/wireless/forms/filtersets.py:35 +#: netbox/wireless/forms/filtersets.py:75 msgid "Tenant" msgstr "租户" -#: circuits/forms/bulk_edit.py:145 circuits/forms/filtersets.py:172 +#: netbox/circuits/forms/bulk_edit.py:145 +#: netbox/circuits/forms/filtersets.py:172 msgid "Install date" msgstr "安装日期" -#: circuits/forms/bulk_edit.py:150 circuits/forms/filtersets.py:177 +#: netbox/circuits/forms/bulk_edit.py:150 +#: netbox/circuits/forms/filtersets.py:177 msgid "Termination date" msgstr "终止日期" -#: circuits/forms/bulk_edit.py:156 circuits/forms/filtersets.py:184 +#: netbox/circuits/forms/bulk_edit.py:156 +#: netbox/circuits/forms/filtersets.py:184 msgid "Commit rate (Kbps)" -msgstr "提交速率 (Kbps)" +msgstr "承诺速率(Kbps)" -#: circuits/forms/bulk_edit.py:171 circuits/forms/model_forms.py:110 +#: netbox/circuits/forms/bulk_edit.py:171 +#: netbox/circuits/forms/model_forms.py:110 msgid "Service Parameters" msgstr "服务参数" -#: circuits/forms/bulk_edit.py:172 circuits/forms/model_forms.py:111 -#: dcim/forms/model_forms.py:138 dcim/forms/model_forms.py:180 -#: dcim/forms/model_forms.py:228 dcim/forms/model_forms.py:267 -#: dcim/forms/model_forms.py:713 dcim/forms/model_forms.py:1636 -#: ipam/forms/model_forms.py:62 ipam/forms/model_forms.py:79 -#: ipam/forms/model_forms.py:113 ipam/forms/model_forms.py:134 -#: ipam/forms/model_forms.py:158 ipam/forms/model_forms.py:230 -#: ipam/forms/model_forms.py:259 ipam/forms/model_forms.py:314 -#: netbox/navigation/menu.py:37 templates/dcim/device_edit.html:85 -#: templates/dcim/htmx/cable_edit.html:72 -#: templates/ipam/ipaddress_bulk_add.html:27 templates/ipam/vlan_edit.html:22 -#: virtualization/forms/model_forms.py:80 -#: virtualization/forms/model_forms.py:222 vpn/forms/bulk_edit.py:78 -#: vpn/forms/filtersets.py:44 vpn/forms/model_forms.py:62 -#: vpn/forms/model_forms.py:147 vpn/forms/model_forms.py:411 -#: wireless/forms/model_forms.py:54 wireless/forms/model_forms.py:163 +#: netbox/circuits/forms/bulk_edit.py:172 +#: netbox/circuits/forms/model_forms.py:111 +#: netbox/dcim/forms/model_forms.py:138 netbox/dcim/forms/model_forms.py:180 +#: netbox/dcim/forms/model_forms.py:228 netbox/dcim/forms/model_forms.py:267 +#: netbox/dcim/forms/model_forms.py:716 netbox/dcim/forms/model_forms.py:1639 +#: netbox/ipam/forms/model_forms.py:62 netbox/ipam/forms/model_forms.py:79 +#: netbox/ipam/forms/model_forms.py:113 netbox/ipam/forms/model_forms.py:134 +#: netbox/ipam/forms/model_forms.py:158 netbox/ipam/forms/model_forms.py:230 +#: netbox/ipam/forms/model_forms.py:259 netbox/ipam/forms/model_forms.py:314 +#: netbox/netbox/navigation/menu.py:37 +#: netbox/templates/dcim/device_edit.html:85 +#: netbox/templates/dcim/htmx/cable_edit.html:72 +#: netbox/templates/ipam/ipaddress_bulk_add.html:27 +#: netbox/templates/ipam/vlan_edit.html:22 +#: netbox/virtualization/forms/model_forms.py:80 +#: netbox/virtualization/forms/model_forms.py:222 +#: netbox/vpn/forms/bulk_edit.py:78 netbox/vpn/forms/filtersets.py:44 +#: netbox/vpn/forms/model_forms.py:62 netbox/vpn/forms/model_forms.py:147 +#: netbox/vpn/forms/model_forms.py:411 netbox/wireless/forms/model_forms.py:54 +#: netbox/wireless/forms/model_forms.py:163 msgid "Tenancy" -msgstr "租赁" +msgstr "租户" -#: circuits/forms/bulk_edit.py:191 circuits/forms/bulk_edit.py:215 -#: circuits/forms/model_forms.py:153 circuits/tables/circuits.py:109 -#: templates/circuits/inc/circuit_termination_fields.html:62 -#: templates/circuits/providernetwork.html:17 +#: netbox/circuits/forms/bulk_edit.py:191 +#: netbox/circuits/forms/bulk_edit.py:215 +#: netbox/circuits/forms/model_forms.py:153 +#: netbox/circuits/tables/circuits.py:111 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:62 +#: netbox/templates/circuits/providernetwork.html:17 msgid "Provider Network" -msgstr "提供商网络" +msgstr "运营商网络" -#: circuits/forms/bulk_edit.py:197 +#: netbox/circuits/forms/bulk_edit.py:197 msgid "Port speed (Kbps)" msgstr "端口速度 (Kbps)" -#: circuits/forms/bulk_edit.py:201 +#: netbox/circuits/forms/bulk_edit.py:201 msgid "Upstream speed (Kbps)" msgstr "上行速度 (Kbps)" -#: circuits/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:849 -#: dcim/forms/bulk_edit.py:1208 dcim/forms/bulk_edit.py:1225 -#: dcim/forms/bulk_edit.py:1242 dcim/forms/bulk_edit.py:1260 -#: dcim/forms/bulk_edit.py:1348 dcim/forms/bulk_edit.py:1487 -#: dcim/forms/bulk_edit.py:1504 +#: netbox/circuits/forms/bulk_edit.py:204 netbox/dcim/forms/bulk_edit.py:849 +#: netbox/dcim/forms/bulk_edit.py:1208 netbox/dcim/forms/bulk_edit.py:1225 +#: netbox/dcim/forms/bulk_edit.py:1242 netbox/dcim/forms/bulk_edit.py:1260 +#: netbox/dcim/forms/bulk_edit.py:1348 netbox/dcim/forms/bulk_edit.py:1487 +#: netbox/dcim/forms/bulk_edit.py:1504 msgid "Mark connected" msgstr "标记已连接" -#: circuits/forms/bulk_edit.py:217 circuits/forms/model_forms.py:155 -#: templates/circuits/inc/circuit_termination_fields.html:54 -#: templates/dcim/frontport.html:121 templates/dcim/interface.html:193 -#: templates/dcim/rearport.html:111 +#: netbox/circuits/forms/bulk_edit.py:217 +#: netbox/circuits/forms/model_forms.py:155 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:54 +#: netbox/templates/dcim/frontport.html:121 +#: netbox/templates/dcim/interface.html:193 +#: netbox/templates/dcim/rearport.html:111 msgid "Circuit Termination" -msgstr "电路终止" +msgstr "线路终端" -#: circuits/forms/bulk_edit.py:219 circuits/forms/model_forms.py:157 +#: netbox/circuits/forms/bulk_edit.py:219 +#: netbox/circuits/forms/model_forms.py:157 msgid "Termination Details" -msgstr "终止详情" +msgstr "终端详情" -#: circuits/forms/bulk_import.py:38 circuits/forms/bulk_import.py:53 -#: circuits/forms/bulk_import.py:79 +#: netbox/circuits/forms/bulk_import.py:38 +#: netbox/circuits/forms/bulk_import.py:53 +#: netbox/circuits/forms/bulk_import.py:76 msgid "Assigned provider" -msgstr "指定的提供商" +msgstr "指定的运营商" -#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178 -#: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108 -#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:232 -msgid "RGB color in hexadecimal. Example:" -msgstr "十六进制的 RGB 颜色。示例:" - -#: circuits/forms/bulk_import.py:85 +#: netbox/circuits/forms/bulk_import.py:82 msgid "Assigned provider account" -msgstr "分配的提供商账户" +msgstr "指定的运营商账户" -#: circuits/forms/bulk_import.py:92 +#: netbox/circuits/forms/bulk_import.py:89 msgid "Type of circuit" -msgstr "电路类型" +msgstr "线路类型" -#: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89 -#: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:204 -#: dcim/forms/bulk_import.py:452 dcim/forms/bulk_import.py:606 -#: dcim/forms/bulk_import.py:1324 ipam/forms/bulk_import.py:193 -#: ipam/forms/bulk_import.py:258 ipam/forms/bulk_import.py:294 -#: ipam/forms/bulk_import.py:460 virtualization/forms/bulk_import.py:56 -#: virtualization/forms/bulk_import.py:82 vpn/forms/bulk_import.py:39 -#: wireless/forms/bulk_import.py:45 +#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201 +#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600 +#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193 +#: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294 +#: netbox/ipam/forms/bulk_import.py:460 +#: netbox/virtualization/forms/bulk_import.py:56 +#: netbox/virtualization/forms/bulk_import.py:82 +#: netbox/vpn/forms/bulk_import.py:39 netbox/wireless/forms/bulk_import.py:45 msgid "Operational status" msgstr "运行状态" -#: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110 -#: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:286 -#: dcim/forms/bulk_import.py:428 dcim/forms/bulk_import.py:1171 -#: dcim/forms/bulk_import.py:1319 dcim/forms/bulk_import.py:1383 -#: ipam/forms/bulk_import.py:41 ipam/forms/bulk_import.py:70 -#: ipam/forms/bulk_import.py:98 ipam/forms/bulk_import.py:118 -#: ipam/forms/bulk_import.py:138 ipam/forms/bulk_import.py:167 -#: ipam/forms/bulk_import.py:253 ipam/forms/bulk_import.py:289 -#: ipam/forms/bulk_import.py:455 virtualization/forms/bulk_import.py:70 -#: virtualization/forms/bulk_import.py:119 vpn/forms/bulk_import.py:63 -#: wireless/forms/bulk_import.py:59 wireless/forms/bulk_import.py:101 +#: netbox/circuits/forms/bulk_import.py:101 +#: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155 +#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422 +#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307 +#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41 +#: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98 +#: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138 +#: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253 +#: netbox/ipam/forms/bulk_import.py:289 netbox/ipam/forms/bulk_import.py:455 +#: netbox/virtualization/forms/bulk_import.py:70 +#: netbox/virtualization/forms/bulk_import.py:119 +#: netbox/vpn/forms/bulk_import.py:63 netbox/wireless/forms/bulk_import.py:59 +#: netbox/wireless/forms/bulk_import.py:101 msgid "Assigned tenant" -msgstr "分配的租户" +msgstr "已分配租户" -#: circuits/forms/bulk_import.py:122 -#: templates/circuits/inc/circuit_termination.html:6 -#: templates/circuits/inc/circuit_termination_fields.html:15 -#: templates/dcim/cable.html:68 templates/dcim/cable.html:72 -#: vpn/forms/bulk_import.py:100 vpn/forms/filtersets.py:77 +#: netbox/circuits/forms/bulk_import.py:119 +#: netbox/templates/circuits/inc/circuit_termination.html:6 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:15 +#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72 +#: netbox/vpn/forms/bulk_import.py:100 netbox/vpn/forms/filtersets.py:77 msgid "Termination" -msgstr "终止" +msgstr "终端" -#: circuits/forms/bulk_import.py:132 circuits/forms/filtersets.py:145 -#: circuits/forms/filtersets.py:225 circuits/forms/model_forms.py:142 +#: netbox/circuits/forms/bulk_import.py:129 +#: netbox/circuits/forms/filtersets.py:145 +#: netbox/circuits/forms/filtersets.py:225 +#: netbox/circuits/forms/model_forms.py:142 msgid "Provider network" -msgstr "提供商网络" +msgstr "运营商网络" -#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116 -#: circuits/forms/filtersets.py:198 dcim/forms/bulk_edit.py:248 -#: dcim/forms/bulk_edit.py:346 dcim/forms/bulk_edit.py:580 -#: dcim/forms/bulk_edit.py:627 dcim/forms/bulk_edit.py:780 -#: dcim/forms/bulk_import.py:189 dcim/forms/bulk_import.py:263 -#: dcim/forms/bulk_import.py:491 dcim/forms/bulk_import.py:1268 -#: dcim/forms/bulk_import.py:1302 dcim/forms/filtersets.py:93 -#: dcim/forms/filtersets.py:246 dcim/forms/filtersets.py:279 -#: dcim/forms/filtersets.py:331 dcim/forms/filtersets.py:382 -#: dcim/forms/filtersets.py:649 dcim/forms/filtersets.py:691 -#: dcim/forms/filtersets.py:896 dcim/forms/filtersets.py:925 -#: dcim/forms/filtersets.py:945 dcim/forms/filtersets.py:1009 -#: dcim/forms/filtersets.py:1039 dcim/forms/filtersets.py:1048 -#: dcim/forms/filtersets.py:1159 dcim/forms/filtersets.py:1181 -#: dcim/forms/filtersets.py:1203 dcim/forms/filtersets.py:1220 -#: dcim/forms/filtersets.py:1240 dcim/forms/filtersets.py:1348 -#: dcim/forms/filtersets.py:1370 dcim/forms/filtersets.py:1391 -#: dcim/forms/filtersets.py:1406 dcim/forms/filtersets.py:1420 -#: dcim/forms/model_forms.py:179 dcim/forms/model_forms.py:211 -#: dcim/forms/model_forms.py:411 dcim/forms/model_forms.py:673 -#: dcim/tables/devices.py:162 dcim/tables/power.py:30 dcim/tables/racks.py:58 -#: dcim/tables/racks.py:143 extras/filtersets.py:488 -#: extras/forms/filtersets.py:329 ipam/forms/bulk_edit.py:457 -#: ipam/forms/filtersets.py:173 ipam/forms/filtersets.py:414 -#: ipam/forms/filtersets.py:437 ipam/forms/filtersets.py:474 -#: ipam/forms/model_forms.py:599 templates/dcim/device.html:25 -#: templates/dcim/device_edit.html:30 -#: templates/dcim/inc/cable_termination.html:12 -#: templates/dcim/location.html:26 templates/dcim/powerpanel.html:26 -#: templates/dcim/rack.html:26 templates/dcim/rackreservation.html:32 -#: virtualization/forms/filtersets.py:46 -#: virtualization/forms/filtersets.py:100 wireless/forms/model_forms.py:87 -#: wireless/forms/model_forms.py:129 +#: netbox/circuits/forms/filtersets.py:28 +#: netbox/circuits/forms/filtersets.py:116 +#: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248 +#: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580 +#: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780 +#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256 +#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94 +#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280 +#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693 +#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937 +#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021 +#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060 +#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193 +#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232 +#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360 +#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403 +#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432 +#: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211 +#: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676 +#: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30 +#: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:143 +#: netbox/extras/filtersets.py:488 netbox/extras/forms/filtersets.py:329 +#: netbox/ipam/forms/bulk_edit.py:457 netbox/ipam/forms/filtersets.py:173 +#: netbox/ipam/forms/filtersets.py:414 netbox/ipam/forms/filtersets.py:437 +#: netbox/ipam/forms/filtersets.py:474 netbox/ipam/forms/model_forms.py:599 +#: netbox/templates/dcim/device.html:26 +#: netbox/templates/dcim/device_edit.html:30 +#: netbox/templates/dcim/inc/cable_termination.html:12 +#: netbox/templates/dcim/location.html:26 +#: netbox/templates/dcim/powerpanel.html:26 netbox/templates/dcim/rack.html:26 +#: netbox/templates/dcim/rackreservation.html:32 +#: netbox/virtualization/forms/filtersets.py:46 +#: netbox/virtualization/forms/filtersets.py:100 +#: netbox/wireless/forms/model_forms.py:87 +#: netbox/wireless/forms/model_forms.py:129 msgid "Location" -msgstr "地点" +msgstr "位置" -#: circuits/forms/filtersets.py:30 circuits/forms/filtersets.py:118 -#: dcim/forms/filtersets.py:137 dcim/forms/filtersets.py:151 -#: dcim/forms/filtersets.py:167 dcim/forms/filtersets.py:199 -#: dcim/forms/filtersets.py:250 dcim/forms/filtersets.py:335 -#: dcim/forms/filtersets.py:406 dcim/forms/filtersets.py:653 -#: dcim/forms/filtersets.py:1010 netbox/navigation/menu.py:44 -#: netbox/navigation/menu.py:46 tenancy/forms/filtersets.py:42 -#: tenancy/tables/columns.py:70 tenancy/tables/contacts.py:25 -#: tenancy/views.py:19 virtualization/forms/filtersets.py:37 -#: virtualization/forms/filtersets.py:48 -#: virtualization/forms/filtersets.py:106 +#: netbox/circuits/forms/filtersets.py:30 +#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138 +#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168 +#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251 +#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407 +#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022 +#: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46 +#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70 +#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19 +#: netbox/virtualization/forms/filtersets.py:37 +#: netbox/virtualization/forms/filtersets.py:48 +#: netbox/virtualization/forms/filtersets.py:106 msgid "Contacts" -msgstr "联系人" +msgstr "联系" -#: circuits/forms/filtersets.py:35 circuits/forms/filtersets.py:155 -#: dcim/forms/bulk_edit.py:111 dcim/forms/bulk_edit.py:223 -#: dcim/forms/bulk_edit.py:755 dcim/forms/bulk_import.py:92 -#: dcim/forms/filtersets.py:71 dcim/forms/filtersets.py:178 -#: dcim/forms/filtersets.py:204 dcim/forms/filtersets.py:257 -#: dcim/forms/filtersets.py:360 dcim/forms/filtersets.py:668 -#: dcim/forms/filtersets.py:902 dcim/forms/filtersets.py:932 -#: dcim/forms/filtersets.py:1016 dcim/forms/filtersets.py:1055 -#: dcim/forms/filtersets.py:1468 dcim/forms/filtersets.py:1492 -#: dcim/forms/filtersets.py:1516 dcim/forms/model_forms.py:111 -#: dcim/forms/object_create.py:375 dcim/tables/devices.py:148 -#: dcim/tables/sites.py:85 extras/filtersets.py:455 -#: ipam/forms/bulk_edit.py:206 ipam/forms/bulk_edit.py:438 -#: ipam/forms/bulk_edit.py:512 ipam/forms/filtersets.py:217 -#: ipam/forms/filtersets.py:422 ipam/forms/filtersets.py:482 -#: ipam/forms/model_forms.py:571 templates/dcim/device.html:17 -#: templates/dcim/rack.html:16 templates/dcim/rackreservation.html:22 -#: templates/dcim/region.html:26 templates/dcim/site.html:30 -#: templates/ipam/prefix.html:49 templates/ipam/vlan.html:16 -#: virtualization/forms/bulk_edit.py:81 virtualization/forms/filtersets.py:59 -#: virtualization/forms/filtersets.py:133 -#: virtualization/forms/model_forms.py:92 vpn/forms/filtersets.py:257 +#: netbox/circuits/forms/filtersets.py:35 +#: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111 +#: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755 +#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72 +#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205 +#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361 +#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914 +#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028 +#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480 +#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528 +#: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85 +#: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206 +#: netbox/ipam/forms/bulk_edit.py:438 netbox/ipam/forms/bulk_edit.py:512 +#: netbox/ipam/forms/filtersets.py:217 netbox/ipam/forms/filtersets.py:422 +#: netbox/ipam/forms/filtersets.py:482 netbox/ipam/forms/model_forms.py:571 +#: netbox/templates/dcim/device.html:18 netbox/templates/dcim/rack.html:16 +#: netbox/templates/dcim/rackreservation.html:22 +#: netbox/templates/dcim/region.html:26 netbox/templates/dcim/site.html:31 +#: netbox/templates/ipam/prefix.html:49 netbox/templates/ipam/vlan.html:16 +#: netbox/virtualization/forms/bulk_edit.py:81 +#: netbox/virtualization/forms/filtersets.py:59 +#: netbox/virtualization/forms/filtersets.py:133 +#: netbox/virtualization/forms/model_forms.py:92 +#: netbox/vpn/forms/filtersets.py:257 msgid "Region" -msgstr "区域" +msgstr "地区" -#: circuits/forms/filtersets.py:40 circuits/forms/filtersets.py:160 -#: dcim/forms/bulk_edit.py:231 dcim/forms/bulk_edit.py:763 -#: dcim/forms/filtersets.py:76 dcim/forms/filtersets.py:183 -#: dcim/forms/filtersets.py:209 dcim/forms/filtersets.py:270 -#: dcim/forms/filtersets.py:365 dcim/forms/filtersets.py:673 -#: dcim/forms/filtersets.py:907 dcim/forms/filtersets.py:1021 -#: dcim/forms/filtersets.py:1060 dcim/forms/object_create.py:383 -#: extras/filtersets.py:472 ipam/forms/bulk_edit.py:211 -#: ipam/forms/bulk_edit.py:445 ipam/forms/bulk_edit.py:517 -#: ipam/forms/filtersets.py:222 ipam/forms/filtersets.py:427 -#: ipam/forms/filtersets.py:487 ipam/forms/model_forms.py:584 -#: virtualization/forms/bulk_edit.py:86 virtualization/forms/filtersets.py:69 -#: virtualization/forms/filtersets.py:138 -#: virtualization/forms/model_forms.py:98 +#: netbox/circuits/forms/filtersets.py:40 +#: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231 +#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77 +#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210 +#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366 +#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919 +#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072 +#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472 +#: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445 +#: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222 +#: netbox/ipam/forms/filtersets.py:427 netbox/ipam/forms/filtersets.py:487 +#: netbox/ipam/forms/model_forms.py:584 +#: netbox/virtualization/forms/bulk_edit.py:86 +#: netbox/virtualization/forms/filtersets.py:69 +#: netbox/virtualization/forms/filtersets.py:138 +#: netbox/virtualization/forms/model_forms.py:98 msgid "Site group" msgstr "站点组" -#: circuits/forms/filtersets.py:63 circuits/forms/filtersets.py:81 -#: circuits/forms/filtersets.py:100 circuits/forms/filtersets.py:115 -#: core/forms/filtersets.py:64 dcim/forms/bulk_edit.py:726 -#: dcim/forms/filtersets.py:165 dcim/forms/filtersets.py:197 -#: dcim/forms/filtersets.py:834 dcim/forms/filtersets.py:926 -#: dcim/forms/filtersets.py:1050 dcim/forms/filtersets.py:1158 -#: dcim/forms/filtersets.py:1180 dcim/forms/filtersets.py:1202 -#: dcim/forms/filtersets.py:1219 dcim/forms/filtersets.py:1236 -#: dcim/forms/filtersets.py:1347 dcim/forms/filtersets.py:1369 -#: dcim/forms/filtersets.py:1390 dcim/forms/filtersets.py:1405 -#: dcim/forms/filtersets.py:1418 extras/forms/filtersets.py:43 -#: extras/forms/filtersets.py:112 extras/forms/filtersets.py:143 -#: extras/forms/filtersets.py:183 extras/forms/filtersets.py:199 -#: extras/forms/filtersets.py:230 extras/forms/filtersets.py:254 -#: extras/forms/filtersets.py:450 extras/forms/filtersets.py:488 -#: ipam/forms/filtersets.py:99 ipam/forms/filtersets.py:266 -#: ipam/forms/filtersets.py:307 ipam/forms/filtersets.py:382 -#: ipam/forms/filtersets.py:475 ipam/forms/filtersets.py:534 -#: ipam/forms/filtersets.py:552 netbox/tables/tables.py:255 -#: virtualization/forms/filtersets.py:45 -#: virtualization/forms/filtersets.py:103 -#: virtualization/forms/filtersets.py:194 -#: virtualization/forms/filtersets.py:239 vpn/forms/filtersets.py:213 -#: wireless/forms/filtersets.py:34 wireless/forms/filtersets.py:74 +#: netbox/circuits/forms/filtersets.py:63 +#: netbox/circuits/forms/filtersets.py:81 +#: netbox/circuits/forms/filtersets.py:100 +#: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64 +#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166 +#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846 +#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062 +#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192 +#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231 +#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359 +#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402 +#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430 +#: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112 +#: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183 +#: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230 +#: netbox/extras/forms/filtersets.py:254 netbox/extras/forms/filtersets.py:450 +#: netbox/extras/forms/filtersets.py:485 netbox/ipam/forms/filtersets.py:99 +#: netbox/ipam/forms/filtersets.py:266 netbox/ipam/forms/filtersets.py:307 +#: netbox/ipam/forms/filtersets.py:382 netbox/ipam/forms/filtersets.py:475 +#: netbox/ipam/forms/filtersets.py:534 netbox/ipam/forms/filtersets.py:552 +#: netbox/netbox/tables/tables.py:255 +#: netbox/virtualization/forms/filtersets.py:45 +#: netbox/virtualization/forms/filtersets.py:103 +#: netbox/virtualization/forms/filtersets.py:194 +#: netbox/virtualization/forms/filtersets.py:239 +#: netbox/vpn/forms/filtersets.py:213 netbox/wireless/forms/filtersets.py:34 +#: netbox/wireless/forms/filtersets.py:74 msgid "Attributes" msgstr "属性" -#: circuits/forms/filtersets.py:71 circuits/tables/circuits.py:61 -#: circuits/tables/providers.py:66 templates/circuits/circuit.html:22 -#: templates/circuits/provideraccount.html:24 +#: netbox/circuits/forms/filtersets.py:71 +#: netbox/circuits/tables/circuits.py:61 +#: netbox/circuits/tables/providers.py:66 +#: netbox/templates/circuits/circuit.html:22 +#: netbox/templates/circuits/provideraccount.html:24 msgid "Account" msgstr "账户" -#: circuits/forms/filtersets.py:215 +#: netbox/circuits/forms/filtersets.py:215 msgid "Term Side" -msgstr "学期方面" +msgstr "线路终端侧" -#: circuits/models/circuits.py:25 dcim/models/cables.py:67 -#: dcim/models/device_component_templates.py:491 -#: dcim/models/device_component_templates.py:591 -#: dcim/models/device_components.py:976 dcim/models/device_components.py:1050 -#: dcim/models/device_components.py:1166 dcim/models/devices.py:469 -#: dcim/models/racks.py:44 extras/models/tags.py:28 +#: netbox/circuits/models/circuits.py:25 netbox/dcim/models/cables.py:67 +#: netbox/dcim/models/device_component_templates.py:491 +#: netbox/dcim/models/device_component_templates.py:591 +#: netbox/dcim/models/device_components.py:976 +#: netbox/dcim/models/device_components.py:1050 +#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/devices.py:469 netbox/dcim/models/racks.py:44 +#: netbox/extras/models/tags.py:28 msgid "color" msgstr "颜色" -#: circuits/models/circuits.py:34 +#: netbox/circuits/models/circuits.py:34 msgid "circuit type" -msgstr "电路类型" +msgstr "线路类型" -#: circuits/models/circuits.py:35 +#: netbox/circuits/models/circuits.py:35 msgid "circuit types" -msgstr "电路类型" +msgstr "线路类型" -#: circuits/models/circuits.py:46 +#: netbox/circuits/models/circuits.py:46 msgid "circuit ID" -msgstr "电路 ID" +msgstr "线路ID" -#: circuits/models/circuits.py:47 +#: netbox/circuits/models/circuits.py:47 msgid "Unique circuit ID" -msgstr "唯一的电路 ID" +msgstr "唯一线路 ID" -#: circuits/models/circuits.py:67 core/models/data.py:55 -#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643 -#: dcim/models/devices.py:1155 dcim/models/devices.py:1364 -#: dcim/models/power.py:96 dcim/models/racks.py:98 dcim/models/sites.py:154 -#: dcim/models/sites.py:266 ipam/models/ip.py:253 ipam/models/ip.py:522 -#: ipam/models/ip.py:730 ipam/models/vlans.py:175 -#: virtualization/models/clusters.py:74 -#: virtualization/models/virtualmachines.py:84 vpn/models/tunnels.py:40 -#: wireless/models.py:94 wireless/models.py:158 +#: netbox/circuits/models/circuits.py:67 netbox/core/models/data.py:55 +#: netbox/core/models/jobs.py:85 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:643 netbox/dcim/models/devices.py:1155 +#: netbox/dcim/models/devices.py:1364 netbox/dcim/models/power.py:96 +#: netbox/dcim/models/racks.py:98 netbox/dcim/models/sites.py:154 +#: netbox/dcim/models/sites.py:266 netbox/ipam/models/ip.py:253 +#: netbox/ipam/models/ip.py:522 netbox/ipam/models/ip.py:730 +#: netbox/ipam/models/vlans.py:175 netbox/virtualization/models/clusters.py:74 +#: netbox/virtualization/models/virtualmachines.py:84 +#: netbox/vpn/models/tunnels.py:40 netbox/wireless/models.py:94 +#: netbox/wireless/models.py:158 msgid "status" msgstr "状态" -#: circuits/models/circuits.py:82 +#: netbox/circuits/models/circuits.py:82 msgid "installed" -msgstr "已安装" +msgstr "安装时间" -#: circuits/models/circuits.py:87 +#: netbox/circuits/models/circuits.py:87 msgid "terminates" -msgstr "终止" +msgstr "结束时间" -#: circuits/models/circuits.py:92 +#: netbox/circuits/models/circuits.py:92 msgid "commit rate (Kbps)" -msgstr "提交速率 (Kbps)" +msgstr "承诺速率(Kbps)" -#: circuits/models/circuits.py:93 +#: netbox/circuits/models/circuits.py:93 msgid "Committed rate" -msgstr "承诺费率" +msgstr "承诺速率" -#: circuits/models/circuits.py:135 +#: netbox/circuits/models/circuits.py:135 msgid "circuit" -msgstr "电路" +msgstr "线路" -#: circuits/models/circuits.py:136 +#: netbox/circuits/models/circuits.py:136 msgid "circuits" -msgstr "电路" +msgstr "广域网线路" -#: circuits/models/circuits.py:169 +#: netbox/circuits/models/circuits.py:169 msgid "termination" -msgstr "终止" +msgstr "接入终端" -#: circuits/models/circuits.py:186 +#: netbox/circuits/models/circuits.py:186 msgid "port speed (Kbps)" -msgstr "端口速度 (Kbps)" +msgstr "接口速率(Kpbs)" -#: circuits/models/circuits.py:189 +#: netbox/circuits/models/circuits.py:189 msgid "Physical circuit speed" -msgstr "物理电路速度" +msgstr "物理线路速率" -#: circuits/models/circuits.py:194 +#: netbox/circuits/models/circuits.py:194 msgid "upstream speed (Kbps)" -msgstr "上行速度 (Kbps)" +msgstr "上行速率(Kbps)" -#: circuits/models/circuits.py:195 +#: netbox/circuits/models/circuits.py:195 msgid "Upstream speed, if different from port speed" msgstr "上行速度(如果与端口速度不同)" -#: circuits/models/circuits.py:200 +#: netbox/circuits/models/circuits.py:200 msgid "cross-connect ID" -msgstr "交叉连接 ID" +msgstr "交叉连接ID" -#: circuits/models/circuits.py:201 +#: netbox/circuits/models/circuits.py:201 msgid "ID of the local cross-connect" -msgstr "本地交叉连接的 ID" +msgstr "本地交叉连接ID" -#: circuits/models/circuits.py:206 +#: netbox/circuits/models/circuits.py:206 msgid "patch panel/port(s)" msgstr "配线架/端口" -#: circuits/models/circuits.py:207 +#: netbox/circuits/models/circuits.py:207 msgid "Patch panel ID and port number(s)" msgstr "配线架 ID 和端口号" -#: circuits/models/circuits.py:210 -#: dcim/models/device_component_templates.py:61 -#: dcim/models/device_components.py:69 dcim/models/racks.py:538 -#: extras/models/configs.py:45 extras/models/configs.py:219 -#: extras/models/customfields.py:123 extras/models/models.py:60 -#: extras/models/models.py:186 extras/models/models.py:424 -#: extras/models/models.py:539 extras/models/staging.py:31 -#: extras/models/tags.py:32 netbox/models/__init__.py:109 -#: netbox/models/__init__.py:144 netbox/models/__init__.py:190 -#: users/models/permissions.py:24 users/models/tokens.py:58 -#: users/models/users.py:33 virtualization/models/virtualmachines.py:284 +#: netbox/circuits/models/circuits.py:210 +#: netbox/dcim/models/device_component_templates.py:61 +#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538 +#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 +#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60 +#: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424 +#: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32 +#: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109 +#: netbox/netbox/models/__init__.py:144 netbox/netbox/models/__init__.py:190 +#: netbox/users/models/permissions.py:24 netbox/users/models/tokens.py:58 +#: netbox/users/models/users.py:33 +#: netbox/virtualization/models/virtualmachines.py:284 msgid "description" msgstr "描述" -#: circuits/models/circuits.py:223 +#: netbox/circuits/models/circuits.py:223 msgid "circuit termination" -msgstr "电路终止" +msgstr "线路接入" -#: circuits/models/circuits.py:224 +#: netbox/circuits/models/circuits.py:224 msgid "circuit terminations" -msgstr "电路终端" +msgstr "线路接入" -#: circuits/models/circuits.py:237 +#: netbox/circuits/models/circuits.py:237 msgid "" "A circuit termination must attach to either a site or a provider network." -msgstr "电路终端必须连接到站点或提供商网络。" +msgstr "线路终结必须连接到站点或运营商网络。" -#: circuits/models/circuits.py:239 +#: netbox/circuits/models/circuits.py:239 msgid "" "A circuit termination cannot attach to both a site and a provider network." -msgstr "电路终端不能同时连接到站点和提供商网络。" +msgstr "线路终结不能同时连接到站点和运营商网络。" -#: circuits/models/providers.py:22 circuits/models/providers.py:66 -#: circuits/models/providers.py:104 core/models/data.py:42 -#: core/models/jobs.py:46 dcim/models/device_component_templates.py:43 -#: dcim/models/device_components.py:54 dcim/models/devices.py:583 -#: dcim/models/devices.py:1295 dcim/models/devices.py:1360 -#: dcim/models/power.py:39 dcim/models/power.py:92 dcim/models/racks.py:63 -#: dcim/models/sites.py:138 extras/models/configs.py:36 -#: extras/models/configs.py:215 extras/models/customfields.py:90 -#: extras/models/models.py:55 extras/models/models.py:181 -#: extras/models/models.py:324 extras/models/models.py:420 -#: extras/models/models.py:529 extras/models/models.py:624 -#: extras/models/scripts.py:30 extras/models/staging.py:26 -#: ipam/models/asns.py:18 ipam/models/fhrp.py:25 ipam/models/services.py:51 -#: ipam/models/services.py:87 ipam/models/vlans.py:26 ipam/models/vlans.py:164 -#: ipam/models/vrfs.py:22 ipam/models/vrfs.py:79 netbox/models/__init__.py:136 -#: netbox/models/__init__.py:180 tenancy/models/contacts.py:64 -#: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45 -#: users/models/permissions.py:20 users/models/users.py:28 -#: virtualization/models/clusters.py:57 -#: virtualization/models/virtualmachines.py:72 -#: virtualization/models/virtualmachines.py:274 vpn/models/crypto.py:24 -#: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183 -#: vpn/models/crypto.py:221 vpn/models/l2vpn.py:22 vpn/models/tunnels.py:35 -#: wireless/models.py:50 +#: netbox/circuits/models/providers.py:22 +#: netbox/circuits/models/providers.py:66 +#: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:42 +#: netbox/core/models/jobs.py:46 +#: netbox/dcim/models/device_component_templates.py:43 +#: netbox/dcim/models/device_components.py:54 +#: netbox/dcim/models/devices.py:583 netbox/dcim/models/devices.py:1295 +#: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63 +#: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 +#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91 +#: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181 +#: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420 +#: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624 +#: netbox/extras/models/scripts.py:30 netbox/extras/models/staging.py:27 +#: netbox/ipam/models/asns.py:18 netbox/ipam/models/fhrp.py:25 +#: netbox/ipam/models/services.py:52 netbox/ipam/models/services.py:88 +#: netbox/ipam/models/vlans.py:26 netbox/ipam/models/vlans.py:164 +#: netbox/ipam/models/vrfs.py:22 netbox/ipam/models/vrfs.py:79 +#: netbox/netbox/models/__init__.py:136 netbox/netbox/models/__init__.py:180 +#: netbox/tenancy/models/contacts.py:64 netbox/tenancy/models/tenants.py:20 +#: netbox/tenancy/models/tenants.py:45 netbox/users/models/permissions.py:20 +#: netbox/users/models/users.py:28 netbox/virtualization/models/clusters.py:57 +#: netbox/virtualization/models/virtualmachines.py:72 +#: netbox/virtualization/models/virtualmachines.py:274 +#: netbox/vpn/models/crypto.py:24 netbox/vpn/models/crypto.py:71 +#: netbox/vpn/models/crypto.py:131 netbox/vpn/models/crypto.py:183 +#: netbox/vpn/models/crypto.py:221 netbox/vpn/models/l2vpn.py:22 +#: netbox/vpn/models/tunnels.py:35 netbox/wireless/models.py:50 msgid "name" msgstr "名称" -#: circuits/models/providers.py:25 +#: netbox/circuits/models/providers.py:25 msgid "Full name of the provider" -msgstr "提供商的全名" +msgstr "运营商全称" -#: circuits/models/providers.py:28 dcim/models/devices.py:86 -#: dcim/models/sites.py:149 extras/models/models.py:534 ipam/models/asns.py:23 -#: ipam/models/vlans.py:30 netbox/models/__init__.py:140 -#: netbox/models/__init__.py:185 tenancy/models/tenants.py:25 -#: tenancy/models/tenants.py:49 vpn/models/l2vpn.py:27 wireless/models.py:55 +#: netbox/circuits/models/providers.py:28 netbox/dcim/models/devices.py:86 +#: netbox/dcim/models/sites.py:149 netbox/extras/models/models.py:534 +#: netbox/ipam/models/asns.py:23 netbox/ipam/models/vlans.py:30 +#: netbox/netbox/models/__init__.py:140 netbox/netbox/models/__init__.py:185 +#: netbox/tenancy/models/tenants.py:25 netbox/tenancy/models/tenants.py:49 +#: netbox/vpn/models/l2vpn.py:27 netbox/wireless/models.py:55 msgid "slug" -msgstr "蛞蝓" +msgstr "缩写" -#: circuits/models/providers.py:42 +#: netbox/circuits/models/providers.py:42 msgid "provider" -msgstr "提供商" +msgstr "运营商" -#: circuits/models/providers.py:43 +#: netbox/circuits/models/providers.py:43 msgid "providers" -msgstr "供应商" +msgstr "运营商" -#: circuits/models/providers.py:63 +#: netbox/circuits/models/providers.py:63 msgid "account ID" -msgstr "账户 ID" +msgstr "账户ID" -#: circuits/models/providers.py:86 +#: netbox/circuits/models/providers.py:86 msgid "provider account" -msgstr "提供商账户" +msgstr "运营商账号" -#: circuits/models/providers.py:87 +#: netbox/circuits/models/providers.py:87 msgid "provider accounts" -msgstr "提供商账户" +msgstr "运营商账户" -#: circuits/models/providers.py:115 +#: netbox/circuits/models/providers.py:115 msgid "service ID" -msgstr "服务 ID" +msgstr "服务ID" -#: circuits/models/providers.py:126 +#: netbox/circuits/models/providers.py:126 msgid "provider network" -msgstr "提供商网络" +msgstr "运营商网络" -#: circuits/models/providers.py:127 +#: netbox/circuits/models/providers.py:127 msgid "provider networks" -msgstr "提供商网络" +msgstr "运营商网络" -#: circuits/tables/circuits.py:30 circuits/tables/providers.py:18 -#: circuits/tables/providers.py:69 circuits/tables/providers.py:99 -#: core/tables/data.py:16 core/tables/jobs.py:14 core/tables/plugins.py:13 -#: core/tables/tasks.py:11 core/tables/tasks.py:115 -#: dcim/forms/filtersets.py:61 dcim/forms/object_create.py:43 -#: dcim/tables/devices.py:60 dcim/tables/devices.py:97 -#: dcim/tables/devices.py:139 dcim/tables/devices.py:294 -#: dcim/tables/devices.py:380 dcim/tables/devices.py:424 -#: dcim/tables/devices.py:476 dcim/tables/devices.py:528 -#: dcim/tables/devices.py:644 dcim/tables/devices.py:726 -#: dcim/tables/devices.py:776 dcim/tables/devices.py:842 -#: dcim/tables/devices.py:957 dcim/tables/devices.py:977 -#: dcim/tables/devices.py:1006 dcim/tables/devices.py:1036 -#: dcim/tables/devicetypes.py:32 dcim/tables/power.py:22 -#: dcim/tables/power.py:62 dcim/tables/racks.py:23 dcim/tables/racks.py:53 -#: dcim/tables/sites.py:24 dcim/tables/sites.py:51 dcim/tables/sites.py:78 -#: dcim/tables/sites.py:125 extras/forms/filtersets.py:191 -#: extras/tables/tables.py:42 extras/tables/tables.py:88 -#: extras/tables/tables.py:120 extras/tables/tables.py:144 -#: extras/tables/tables.py:209 extras/tables/tables.py:256 -#: extras/tables/tables.py:279 extras/tables/tables.py:329 -#: extras/tables/tables.py:381 extras/tables/tables.py:404 -#: ipam/forms/bulk_edit.py:391 ipam/forms/filtersets.py:386 -#: ipam/tables/asn.py:16 ipam/tables/ip.py:85 ipam/tables/ip.py:159 -#: ipam/tables/services.py:15 ipam/tables/services.py:40 -#: ipam/tables/vlans.py:64 ipam/tables/vlans.py:110 ipam/tables/vrfs.py:26 -#: ipam/tables/vrfs.py:67 templates/circuits/circuittype.html:22 -#: templates/circuits/provideraccount.html:28 -#: templates/circuits/providernetwork.html:24 -#: templates/core/datasource.html:34 templates/core/job.html:26 -#: templates/core/rq_worker.html:43 templates/dcim/consoleport.html:28 -#: templates/dcim/consoleserverport.html:28 templates/dcim/devicebay.html:24 -#: templates/dcim/devicerole.html:26 templates/dcim/frontport.html:28 -#: templates/dcim/inc/interface_vlans_table.html:5 -#: templates/dcim/inc/panels/inventory_items.html:18 -#: templates/dcim/interface.html:38 templates/dcim/interface.html:165 -#: templates/dcim/inventoryitem.html:28 -#: templates/dcim/inventoryitemrole.html:18 templates/dcim/location.html:29 -#: templates/dcim/manufacturer.html:36 templates/dcim/modulebay.html:26 -#: templates/dcim/platform.html:29 templates/dcim/poweroutlet.html:28 -#: templates/dcim/powerport.html:28 templates/dcim/rackrole.html:22 -#: templates/dcim/rearport.html:28 templates/dcim/region.html:29 -#: templates/dcim/sitegroup.html:29 -#: templates/dcim/virtualdevicecontext.html:18 -#: templates/extras/configcontext.html:13 -#: templates/extras/configtemplate.html:13 -#: templates/extras/customfield.html:13 templates/extras/customlink.html:13 -#: templates/extras/eventrule.html:13 templates/extras/exporttemplate.html:15 -#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:46 -#: templates/extras/tag.html:14 templates/extras/webhook.html:13 -#: templates/ipam/asnrange.html:15 templates/ipam/fhrpgroup.html:30 -#: templates/ipam/rir.html:22 templates/ipam/role.html:22 -#: templates/ipam/routetarget.html:13 templates/ipam/service.html:24 -#: templates/ipam/servicetemplate.html:15 templates/ipam/vlan.html:35 -#: templates/ipam/vlangroup.html:30 templates/tenancy/contact.html:25 -#: templates/tenancy/contactgroup.html:21 -#: templates/tenancy/contactrole.html:18 templates/tenancy/tenantgroup.html:29 -#: templates/users/group.html:17 templates/users/objectpermission.html:17 -#: templates/virtualization/cluster.html:13 -#: templates/virtualization/clustergroup.html:22 -#: templates/virtualization/clustertype.html:22 -#: templates/virtualization/virtualdisk.html:25 -#: templates/virtualization/virtualmachine.html:15 -#: templates/virtualization/vminterface.html:25 -#: templates/vpn/ikepolicy.html:13 templates/vpn/ikeproposal.html:13 -#: templates/vpn/ipsecpolicy.html:13 templates/vpn/ipsecprofile.html:13 -#: templates/vpn/ipsecprofile.html:36 templates/vpn/ipsecprofile.html:69 -#: templates/vpn/ipsecproposal.html:13 templates/vpn/l2vpn.html:14 -#: templates/vpn/tunnel.html:21 templates/vpn/tunnelgroup.html:26 -#: templates/wireless/wirelesslangroup.html:29 tenancy/tables/contacts.py:19 -#: tenancy/tables/contacts.py:41 tenancy/tables/contacts.py:56 -#: tenancy/tables/tenants.py:16 tenancy/tables/tenants.py:38 -#: users/tables.py:62 users/tables.py:76 -#: virtualization/forms/bulk_create.py:20 -#: virtualization/forms/object_create.py:13 -#: virtualization/forms/object_create.py:23 -#: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39 -#: virtualization/tables/clusters.py:62 -#: virtualization/tables/virtualmachines.py:54 -#: virtualization/tables/virtualmachines.py:132 -#: virtualization/tables/virtualmachines.py:185 vpn/tables/crypto.py:18 -#: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129 -#: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18 -#: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18 -#: wireless/tables/wirelesslan.py:79 +#: netbox/circuits/tables/circuits.py:30 +#: netbox/circuits/tables/providers.py:18 +#: netbox/circuits/tables/providers.py:69 +#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16 +#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13 +#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115 +#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43 +#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89 +#: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286 +#: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421 +#: netbox/dcim/tables/devices.py:470 netbox/dcim/tables/devices.py:519 +#: netbox/dcim/tables/devices.py:632 netbox/dcim/tables/devices.py:714 +#: netbox/dcim/tables/devices.py:761 netbox/dcim/tables/devices.py:824 +#: netbox/dcim/tables/devices.py:939 netbox/dcim/tables/devices.py:959 +#: netbox/dcim/tables/devices.py:988 netbox/dcim/tables/devices.py:1018 +#: netbox/dcim/tables/devicetypes.py:32 netbox/dcim/tables/power.py:22 +#: netbox/dcim/tables/power.py:62 netbox/dcim/tables/racks.py:23 +#: netbox/dcim/tables/racks.py:53 netbox/dcim/tables/sites.py:24 +#: netbox/dcim/tables/sites.py:51 netbox/dcim/tables/sites.py:78 +#: netbox/dcim/tables/sites.py:125 netbox/extras/forms/filtersets.py:191 +#: netbox/extras/tables/tables.py:43 netbox/extras/tables/tables.py:89 +#: netbox/extras/tables/tables.py:121 netbox/extras/tables/tables.py:145 +#: netbox/extras/tables/tables.py:210 netbox/extras/tables/tables.py:257 +#: netbox/extras/tables/tables.py:280 netbox/extras/tables/tables.py:330 +#: netbox/extras/tables/tables.py:382 netbox/extras/tables/tables.py:405 +#: netbox/ipam/forms/bulk_edit.py:391 netbox/ipam/forms/filtersets.py:386 +#: netbox/ipam/tables/asn.py:16 netbox/ipam/tables/ip.py:85 +#: netbox/ipam/tables/ip.py:159 netbox/ipam/tables/services.py:15 +#: netbox/ipam/tables/services.py:40 netbox/ipam/tables/vlans.py:64 +#: netbox/ipam/tables/vlans.py:110 netbox/ipam/tables/vrfs.py:26 +#: netbox/ipam/tables/vrfs.py:67 netbox/templates/circuits/circuittype.html:22 +#: netbox/templates/circuits/provideraccount.html:28 +#: netbox/templates/circuits/providernetwork.html:24 +#: netbox/templates/core/datasource.html:34 netbox/templates/core/job.html:26 +#: netbox/templates/core/rq_worker.html:43 +#: netbox/templates/dcim/consoleport.html:28 +#: netbox/templates/dcim/consoleserverport.html:28 +#: netbox/templates/dcim/devicebay.html:24 +#: netbox/templates/dcim/devicerole.html:26 +#: netbox/templates/dcim/frontport.html:28 +#: netbox/templates/dcim/inc/interface_vlans_table.html:5 +#: netbox/templates/dcim/inc/panels/inventory_items.html:18 +#: netbox/templates/dcim/interface.html:38 +#: netbox/templates/dcim/interface.html:165 +#: netbox/templates/dcim/inventoryitem.html:28 +#: netbox/templates/dcim/inventoryitemrole.html:18 +#: netbox/templates/dcim/location.html:29 +#: netbox/templates/dcim/manufacturer.html:36 +#: netbox/templates/dcim/modulebay.html:26 +#: netbox/templates/dcim/platform.html:29 +#: netbox/templates/dcim/poweroutlet.html:28 +#: netbox/templates/dcim/powerport.html:28 +#: netbox/templates/dcim/rackrole.html:22 +#: netbox/templates/dcim/rearport.html:28 netbox/templates/dcim/region.html:29 +#: netbox/templates/dcim/sitegroup.html:29 +#: netbox/templates/dcim/virtualdevicecontext.html:18 +#: netbox/templates/extras/configcontext.html:13 +#: netbox/templates/extras/configtemplate.html:13 +#: netbox/templates/extras/customfield.html:13 +#: netbox/templates/extras/customlink.html:13 +#: netbox/templates/extras/eventrule.html:13 +#: netbox/templates/extras/exporttemplate.html:15 +#: netbox/templates/extras/savedfilter.html:13 +#: netbox/templates/extras/script_list.html:46 +#: netbox/templates/extras/tag.html:14 netbox/templates/extras/webhook.html:13 +#: netbox/templates/ipam/asnrange.html:15 +#: netbox/templates/ipam/fhrpgroup.html:30 netbox/templates/ipam/rir.html:22 +#: netbox/templates/ipam/role.html:22 +#: netbox/templates/ipam/routetarget.html:13 +#: netbox/templates/ipam/service.html:24 +#: netbox/templates/ipam/servicetemplate.html:15 +#: netbox/templates/ipam/vlan.html:35 netbox/templates/ipam/vlangroup.html:30 +#: netbox/templates/tenancy/contact.html:25 +#: netbox/templates/tenancy/contactgroup.html:21 +#: netbox/templates/tenancy/contactrole.html:18 +#: netbox/templates/tenancy/tenantgroup.html:29 +#: netbox/templates/users/group.html:17 +#: netbox/templates/users/objectpermission.html:17 +#: netbox/templates/virtualization/cluster.html:13 +#: netbox/templates/virtualization/clustergroup.html:22 +#: netbox/templates/virtualization/clustertype.html:22 +#: netbox/templates/virtualization/virtualdisk.html:25 +#: netbox/templates/virtualization/virtualmachine.html:15 +#: netbox/templates/virtualization/vminterface.html:25 +#: netbox/templates/vpn/ikepolicy.html:13 +#: netbox/templates/vpn/ikeproposal.html:13 +#: netbox/templates/vpn/ipsecpolicy.html:13 +#: netbox/templates/vpn/ipsecprofile.html:13 +#: netbox/templates/vpn/ipsecprofile.html:36 +#: netbox/templates/vpn/ipsecprofile.html:69 +#: netbox/templates/vpn/ipsecproposal.html:13 +#: netbox/templates/vpn/l2vpn.html:14 netbox/templates/vpn/tunnel.html:21 +#: netbox/templates/vpn/tunnelgroup.html:26 +#: netbox/templates/wireless/wirelesslangroup.html:29 +#: netbox/tenancy/tables/contacts.py:19 netbox/tenancy/tables/contacts.py:41 +#: netbox/tenancy/tables/contacts.py:56 netbox/tenancy/tables/tenants.py:16 +#: netbox/tenancy/tables/tenants.py:38 netbox/users/tables.py:62 +#: netbox/users/tables.py:76 netbox/virtualization/forms/bulk_create.py:20 +#: netbox/virtualization/forms/object_create.py:13 +#: netbox/virtualization/forms/object_create.py:23 +#: netbox/virtualization/tables/clusters.py:17 +#: netbox/virtualization/tables/clusters.py:39 +#: netbox/virtualization/tables/clusters.py:62 +#: netbox/virtualization/tables/virtualmachines.py:54 +#: netbox/virtualization/tables/virtualmachines.py:132 +#: netbox/virtualization/tables/virtualmachines.py:187 +#: netbox/vpn/tables/crypto.py:18 netbox/vpn/tables/crypto.py:57 +#: netbox/vpn/tables/crypto.py:93 netbox/vpn/tables/crypto.py:129 +#: netbox/vpn/tables/crypto.py:158 netbox/vpn/tables/l2vpn.py:23 +#: netbox/vpn/tables/tunnels.py:18 netbox/vpn/tables/tunnels.py:40 +#: netbox/wireless/tables/wirelesslan.py:18 +#: netbox/wireless/tables/wirelesslan.py:79 msgid "Name" -msgstr "姓名" +msgstr "名称" -#: circuits/tables/circuits.py:39 circuits/tables/providers.py:45 -#: circuits/tables/providers.py:79 netbox/navigation/menu.py:253 -#: netbox/navigation/menu.py:257 netbox/navigation/menu.py:259 -#: templates/circuits/provider.html:57 -#: templates/circuits/provideraccount.html:44 -#: templates/circuits/providernetwork.html:50 +#: netbox/circuits/tables/circuits.py:39 +#: netbox/circuits/tables/providers.py:45 +#: netbox/circuits/tables/providers.py:79 netbox/netbox/navigation/menu.py:253 +#: netbox/netbox/navigation/menu.py:257 netbox/netbox/navigation/menu.py:259 +#: netbox/templates/circuits/provider.html:57 +#: netbox/templates/circuits/provideraccount.html:44 +#: netbox/templates/circuits/providernetwork.html:50 msgid "Circuits" -msgstr "电路" +msgstr "广域网线路" -#: circuits/tables/circuits.py:53 templates/circuits/circuit.html:26 +#: netbox/circuits/tables/circuits.py:53 +#: netbox/templates/circuits/circuit.html:26 msgid "Circuit ID" -msgstr "电路编号" +msgstr "线路ID" -#: circuits/tables/circuits.py:66 wireless/forms/model_forms.py:160 +#: netbox/circuits/tables/circuits.py:67 +#: netbox/wireless/forms/model_forms.py:160 msgid "Side A" -msgstr "A 面" +msgstr "A端" -#: circuits/tables/circuits.py:70 +#: netbox/circuits/tables/circuits.py:72 msgid "Side Z" -msgstr "Z 面" +msgstr "Z端" -#: circuits/tables/circuits.py:73 templates/circuits/circuit.html:55 +#: netbox/circuits/tables/circuits.py:75 +#: netbox/templates/circuits/circuit.html:55 msgid "Commit Rate" -msgstr "承诺率" +msgstr "承诺速率" -#: circuits/tables/circuits.py:76 circuits/tables/providers.py:48 -#: circuits/tables/providers.py:82 circuits/tables/providers.py:107 -#: dcim/tables/devices.py:1019 dcim/tables/devicetypes.py:92 -#: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39 -#: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156 -#: dcim/tables/sites.py:103 extras/tables/tables.py:515 ipam/tables/asn.py:69 -#: ipam/tables/fhrp.py:34 ipam/tables/ip.py:135 ipam/tables/ip.py:272 -#: ipam/tables/ip.py:325 ipam/tables/ip.py:392 ipam/tables/services.py:24 -#: ipam/tables/services.py:54 ipam/tables/vlans.py:141 ipam/tables/vrfs.py:46 -#: ipam/tables/vrfs.py:71 templates/dcim/htmx/cable_edit.html:89 -#: templates/generic/bulk_edit.html:86 templates/inc/panels/comments.html:6 -#: tenancy/tables/contacts.py:68 tenancy/tables/tenants.py:46 -#: utilities/forms/fields/fields.py:29 virtualization/tables/clusters.py:91 -#: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37 -#: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140 -#: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61 -#: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58 +#: netbox/circuits/tables/circuits.py:78 +#: netbox/circuits/tables/providers.py:48 +#: netbox/circuits/tables/providers.py:82 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1001 +#: netbox/dcim/tables/devicetypes.py:92 netbox/dcim/tables/modules.py:29 +#: netbox/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 +#: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:76 +#: netbox/dcim/tables/racks.py:156 netbox/dcim/tables/sites.py:103 +#: netbox/extras/tables/tables.py:516 netbox/ipam/tables/asn.py:69 +#: netbox/ipam/tables/fhrp.py:34 netbox/ipam/tables/ip.py:135 +#: netbox/ipam/tables/ip.py:272 netbox/ipam/tables/ip.py:325 +#: netbox/ipam/tables/ip.py:392 netbox/ipam/tables/services.py:24 +#: netbox/ipam/tables/services.py:54 netbox/ipam/tables/vlans.py:141 +#: netbox/ipam/tables/vrfs.py:46 netbox/ipam/tables/vrfs.py:71 +#: netbox/templates/dcim/htmx/cable_edit.html:89 +#: netbox/templates/generic/bulk_edit.html:86 +#: netbox/templates/inc/panels/comments.html:6 +#: netbox/tenancy/tables/contacts.py:68 netbox/tenancy/tables/tenants.py:46 +#: netbox/utilities/forms/fields/fields.py:29 +#: netbox/virtualization/tables/clusters.py:91 +#: netbox/virtualization/tables/virtualmachines.py:81 +#: netbox/vpn/tables/crypto.py:37 netbox/vpn/tables/crypto.py:74 +#: netbox/vpn/tables/crypto.py:109 netbox/vpn/tables/crypto.py:140 +#: netbox/vpn/tables/crypto.py:173 netbox/vpn/tables/l2vpn.py:37 +#: netbox/vpn/tables/tunnels.py:61 netbox/wireless/tables/wirelesslan.py:27 +#: netbox/wireless/tables/wirelesslan.py:58 msgid "Comments" -msgstr "评论意见" +msgstr "评论" -#: circuits/tables/providers.py:23 +#: netbox/circuits/tables/providers.py:23 msgid "Accounts" msgstr "账户" -#: circuits/tables/providers.py:29 +#: netbox/circuits/tables/providers.py:29 msgid "Account Count" -msgstr "账户数量" +msgstr "账户统计" -#: circuits/tables/providers.py:39 dcim/tables/sites.py:100 +#: netbox/circuits/tables/providers.py:39 netbox/dcim/tables/sites.py:100 msgid "ASN Count" -msgstr "ASN 数量" +msgstr "ASN统计" -#: core/api/views.py:36 +#: netbox/core/api/views.py:36 msgid "This user does not have permission to synchronize this data source." -msgstr "此用户没有权限同步此数据源。" +msgstr "该用户无权同步该数据源。" -#: core/choices.py:18 +#: netbox/core/choices.py:18 msgid "New" -msgstr "全新" +msgstr "新创建" -#: core/choices.py:19 core/constants.py:18 core/tables/tasks.py:15 -#: templates/core/rq_task.html:77 +#: netbox/core/choices.py:19 netbox/core/constants.py:18 +#: netbox/core/tables/tasks.py:15 netbox/templates/core/rq_task.html:77 msgid "Queued" -msgstr "已排队" +msgstr "排队等候" -#: core/choices.py:20 +#: netbox/core/choices.py:20 msgid "Syncing" msgstr "正在同步" -#: core/choices.py:21 core/choices.py:57 core/tables/jobs.py:41 -#: extras/choices.py:224 templates/core/job.html:68 +#: netbox/core/choices.py:21 netbox/core/choices.py:57 +#: netbox/core/tables/jobs.py:41 netbox/extras/choices.py:228 +#: netbox/templates/core/job.html:68 msgid "Completed" -msgstr "已完成" +msgstr "完成" -#: core/choices.py:22 core/choices.py:59 core/constants.py:20 -#: core/tables/tasks.py:34 dcim/choices.py:176 dcim/choices.py:222 -#: dcim/choices.py:1534 extras/choices.py:226 virtualization/choices.py:47 +#: netbox/core/choices.py:22 netbox/core/choices.py:59 +#: netbox/core/constants.py:20 netbox/core/tables/tasks.py:34 +#: netbox/dcim/choices.py:176 netbox/dcim/choices.py:222 +#: netbox/dcim/choices.py:1536 netbox/extras/choices.py:230 +#: netbox/virtualization/choices.py:47 msgid "Failed" -msgstr "失败" +msgstr "故障" -#: core/choices.py:35 netbox/navigation/menu.py:320 -#: netbox/navigation/menu.py:324 templates/extras/script/base.html:14 -#: templates/extras/script_list.html:7 templates/extras/script_list.html:12 -#: templates/extras/script_result.html:17 +#: netbox/core/choices.py:35 netbox/netbox/navigation/menu.py:320 +#: netbox/netbox/navigation/menu.py:324 +#: netbox/templates/extras/script/base.html:14 +#: netbox/templates/extras/script_list.html:7 +#: netbox/templates/extras/script_list.html:12 +#: netbox/templates/extras/script_result.html:17 msgid "Scripts" msgstr "脚本" -#: core/choices.py:36 templates/extras/report/base.html:13 +#: netbox/core/choices.py:36 netbox/templates/extras/report/base.html:13 msgid "Reports" msgstr "报告" -#: core/choices.py:54 extras/choices.py:221 +#: netbox/core/choices.py:54 netbox/extras/choices.py:225 msgid "Pending" -msgstr "待处理" +msgstr "正在挂起" -#: core/choices.py:55 core/constants.py:23 core/tables/jobs.py:32 -#: core/tables/tasks.py:38 extras/choices.py:222 templates/core/job.html:55 +#: netbox/core/choices.py:55 netbox/core/constants.py:23 +#: netbox/core/tables/jobs.py:32 netbox/core/tables/tasks.py:38 +#: netbox/extras/choices.py:226 netbox/templates/core/job.html:55 msgid "Scheduled" -msgstr "已排定" +msgstr "计划" -#: core/choices.py:56 extras/choices.py:223 +#: netbox/core/choices.py:56 netbox/extras/choices.py:227 msgid "Running" -msgstr "跑步" +msgstr "运行中" -#: core/choices.py:58 extras/choices.py:225 +#: netbox/core/choices.py:58 netbox/extras/choices.py:229 msgid "Errored" -msgstr "出错了" +msgstr "错误" -#: core/constants.py:19 core/tables/tasks.py:30 +#: netbox/core/constants.py:19 netbox/core/tables/tasks.py:30 msgid "Finished" msgstr "已完成" -#: core/constants.py:21 core/tables/jobs.py:38 templates/core/job.html:64 -#: templates/extras/htmx/script_result.html:8 +#: netbox/core/constants.py:21 netbox/core/tables/jobs.py:38 +#: netbox/templates/core/job.html:64 +#: netbox/templates/extras/htmx/script_result.html:8 msgid "Started" -msgstr "已开始" +msgstr "开始于" -#: core/constants.py:22 core/tables/tasks.py:26 +#: netbox/core/constants.py:22 netbox/core/tables/tasks.py:26 msgid "Deferred" -msgstr "已推迟" +msgstr "延期" -#: core/constants.py:24 +#: netbox/core/constants.py:24 msgid "Stopped" msgstr "已停止" -#: core/constants.py:25 +#: netbox/core/constants.py:25 msgid "Cancelled" msgstr "已取消" -#: core/data_backends.py:29 templates/dcim/interface.html:216 +#: netbox/core/data_backends.py:29 netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "本地" -#: core/data_backends.py:47 extras/tables/tables.py:461 -#: templates/account/profile.html:15 templates/users/user.html:17 -#: users/tables.py:31 +#: netbox/core/data_backends.py:47 netbox/extras/tables/tables.py:462 +#: netbox/templates/account/profile.html:15 +#: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "用户名" -#: core/data_backends.py:49 core/data_backends.py:55 +#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 msgid "Only used for cloning with HTTP(S)" -msgstr "仅用于使用 HTTP (S) 进行克隆" +msgstr "仅用于通过 HTTP(S) 进行克隆" -#: core/data_backends.py:53 templates/account/base.html:17 -#: templates/account/password.html:11 users/forms/model_forms.py:171 +#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:17 +#: netbox/templates/account/password.html:11 +#: netbox/users/forms/model_forms.py:171 msgid "Password" msgstr "密码" -#: core/data_backends.py:59 +#: netbox/core/data_backends.py:59 msgid "Branch" msgstr "分支" -#: core/data_backends.py:105 +#: netbox/core/data_backends.py:105 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" -msgstr "获取远程数据失败 ({name}): {error}" +msgstr "获取远程数据失败({name}): {error}" -#: core/data_backends.py:118 +#: netbox/core/data_backends.py:118 msgid "AWS access key ID" -msgstr "AWS 访问密钥 ID" +msgstr "AWS access key ID" -#: core/data_backends.py:122 +#: netbox/core/data_backends.py:122 msgid "AWS secret access key" -msgstr "AWS 私有访问密钥" +msgstr "AWS secret access key" -#: core/filtersets.py:49 extras/filtersets.py:245 extras/filtersets.py:585 -#: extras/filtersets.py:617 +#: netbox/core/filtersets.py:49 netbox/extras/filtersets.py:245 +#: netbox/extras/filtersets.py:585 netbox/extras/filtersets.py:617 msgid "Data source (ID)" msgstr "数据源 (ID)" -#: core/filtersets.py:55 +#: netbox/core/filtersets.py:55 msgid "Data source (name)" -msgstr "数据源(名称)" +msgstr "数据源 (name)" -#: core/forms/bulk_edit.py:25 core/forms/filtersets.py:40 -#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1020 -#: dcim/forms/bulk_edit.py:1293 dcim/forms/filtersets.py:1276 -#: dcim/tables/devices.py:553 dcim/tables/devicetypes.py:221 -#: extras/forms/bulk_edit.py:98 extras/forms/bulk_edit.py:162 -#: extras/forms/bulk_edit.py:221 extras/forms/filtersets.py:120 -#: extras/forms/filtersets.py:207 extras/forms/filtersets.py:268 -#: extras/tables/tables.py:127 extras/tables/tables.py:216 -#: extras/tables/tables.py:293 netbox/preferences.py:22 -#: templates/core/datasource.html:42 templates/dcim/interface.html:61 -#: templates/extras/customlink.html:17 templates/extras/eventrule.html:17 -#: templates/extras/savedfilter.html:25 -#: templates/users/objectpermission.html:25 -#: templates/virtualization/vminterface.html:29 users/forms/bulk_edit.py:89 -#: users/forms/filtersets.py:71 users/tables.py:83 -#: virtualization/forms/bulk_edit.py:217 -#: virtualization/forms/filtersets.py:211 +#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40 +#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020 +#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288 +#: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221 +#: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162 +#: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120 +#: netbox/extras/forms/filtersets.py:207 netbox/extras/forms/filtersets.py:268 +#: netbox/extras/tables/tables.py:128 netbox/extras/tables/tables.py:217 +#: netbox/extras/tables/tables.py:294 netbox/netbox/preferences.py:22 +#: netbox/templates/core/datasource.html:42 +#: netbox/templates/dcim/interface.html:61 +#: netbox/templates/extras/customlink.html:17 +#: netbox/templates/extras/eventrule.html:17 +#: netbox/templates/extras/savedfilter.html:25 +#: netbox/templates/users/objectpermission.html:25 +#: netbox/templates/virtualization/vminterface.html:29 +#: netbox/users/forms/bulk_edit.py:89 netbox/users/forms/filtersets.py:71 +#: netbox/users/tables.py:83 netbox/virtualization/forms/bulk_edit.py:217 +#: netbox/virtualization/forms/filtersets.py:211 msgid "Enabled" msgstr "已启用" -#: core/forms/bulk_edit.py:34 extras/forms/model_forms.py:211 -#: templates/extras/savedfilter.html:53 vpn/forms/filtersets.py:97 -#: vpn/forms/filtersets.py:127 vpn/forms/filtersets.py:151 -#: vpn/forms/filtersets.py:170 vpn/forms/model_forms.py:301 -#: vpn/forms/model_forms.py:321 vpn/forms/model_forms.py:337 -#: vpn/forms/model_forms.py:357 vpn/forms/model_forms.py:380 +#: netbox/core/forms/bulk_edit.py:34 netbox/extras/forms/model_forms.py:211 +#: netbox/templates/extras/savedfilter.html:53 +#: netbox/vpn/forms/filtersets.py:97 netbox/vpn/forms/filtersets.py:127 +#: netbox/vpn/forms/filtersets.py:151 netbox/vpn/forms/filtersets.py:170 +#: netbox/vpn/forms/model_forms.py:301 netbox/vpn/forms/model_forms.py:321 +#: netbox/vpn/forms/model_forms.py:337 netbox/vpn/forms/model_forms.py:357 +#: netbox/vpn/forms/model_forms.py:380 msgid "Parameters" msgstr "参数" -#: core/forms/bulk_edit.py:38 templates/core/datasource.html:68 +#: netbox/core/forms/bulk_edit.py:38 netbox/templates/core/datasource.html:68 msgid "Ignore rules" msgstr "忽略规则" -#: core/forms/filtersets.py:27 core/forms/model_forms.py:97 -#: extras/forms/model_forms.py:174 extras/forms/model_forms.py:454 -#: extras/forms/model_forms.py:508 extras/tables/tables.py:154 -#: extras/tables/tables.py:373 extras/tables/tables.py:408 -#: templates/core/datasource.html:31 -#: templates/dcim/device/render_config.html:18 -#: templates/extras/configcontext.html:29 -#: templates/extras/configtemplate.html:21 -#: templates/extras/exporttemplate.html:35 -#: templates/virtualization/virtualmachine/render_config.html:18 +#: netbox/core/forms/filtersets.py:27 netbox/core/forms/model_forms.py:97 +#: netbox/extras/forms/model_forms.py:174 +#: netbox/extras/forms/model_forms.py:454 +#: netbox/extras/forms/model_forms.py:508 netbox/extras/tables/tables.py:155 +#: netbox/extras/tables/tables.py:374 netbox/extras/tables/tables.py:409 +#: netbox/templates/core/datasource.html:31 +#: netbox/templates/dcim/device/render_config.html:18 +#: netbox/templates/extras/configcontext.html:29 +#: netbox/templates/extras/configtemplate.html:21 +#: netbox/templates/extras/exporttemplate.html:35 +#: netbox/templates/virtualization/virtualmachine/render_config.html:18 msgid "Data Source" msgstr "数据源" -#: core/forms/filtersets.py:52 core/forms/mixins.py:21 +#: netbox/core/forms/filtersets.py:52 netbox/core/forms/mixins.py:21 msgid "File" msgstr "文件" -#: core/forms/filtersets.py:57 core/forms/mixins.py:16 -#: extras/forms/filtersets.py:148 extras/forms/filtersets.py:337 -#: extras/forms/filtersets.py:422 +#: netbox/core/forms/filtersets.py:57 netbox/core/forms/mixins.py:16 +#: netbox/extras/forms/filtersets.py:148 netbox/extras/forms/filtersets.py:337 +#: netbox/extras/forms/filtersets.py:422 msgid "Data source" msgstr "数据源" -#: core/forms/filtersets.py:67 extras/forms/filtersets.py:449 +#: netbox/core/forms/filtersets.py:67 netbox/extras/forms/filtersets.py:449 msgid "Creation" -msgstr "创作" +msgstr "创建" -#: core/forms/filtersets.py:71 extras/forms/filtersets.py:470 -#: extras/forms/filtersets.py:513 extras/tables/tables.py:183 -#: extras/tables/tables.py:504 templates/core/job.html:20 -#: templates/extras/objectchange.html:51 tenancy/tables/contacts.py:90 -#: vpn/tables/l2vpn.py:59 +#: netbox/core/forms/filtersets.py:71 netbox/extras/forms/filtersets.py:470 +#: netbox/extras/forms/filtersets.py:510 netbox/extras/tables/tables.py:184 +#: netbox/extras/tables/tables.py:505 netbox/templates/core/job.html:20 +#: netbox/templates/extras/objectchange.html:52 +#: netbox/tenancy/tables/contacts.py:90 netbox/vpn/tables/l2vpn.py:59 msgid "Object Type" -msgstr "物体类型" +msgstr "目标类型" -#: core/forms/filtersets.py:81 +#: netbox/core/forms/filtersets.py:81 msgid "Created after" msgstr "之后创建" -#: core/forms/filtersets.py:86 +#: netbox/core/forms/filtersets.py:86 msgid "Created before" msgstr "之前创建" -#: core/forms/filtersets.py:91 +#: netbox/core/forms/filtersets.py:91 msgid "Scheduled after" -msgstr "预定在之后" +msgstr "计划在之后" -#: core/forms/filtersets.py:96 +#: netbox/core/forms/filtersets.py:96 msgid "Scheduled before" -msgstr "之前预定的" +msgstr "计划在之前" -#: core/forms/filtersets.py:101 +#: netbox/core/forms/filtersets.py:101 msgid "Started after" msgstr "之后开始" -#: core/forms/filtersets.py:106 +#: netbox/core/forms/filtersets.py:106 msgid "Started before" -msgstr "之前开始的" +msgstr "之前开始" -#: core/forms/filtersets.py:111 +#: netbox/core/forms/filtersets.py:111 msgid "Completed after" -msgstr "之后完成" +msgstr "完成后" -#: core/forms/filtersets.py:116 +#: netbox/core/forms/filtersets.py:116 msgid "Completed before" -msgstr "之前完成" +msgstr "完成后" -#: core/forms/filtersets.py:123 dcim/forms/bulk_edit.py:361 -#: dcim/forms/filtersets.py:353 dcim/forms/filtersets.py:397 -#: dcim/forms/model_forms.py:258 extras/forms/filtersets.py:465 -#: extras/forms/filtersets.py:508 templates/dcim/rackreservation.html:58 -#: templates/extras/objectchange.html:35 templates/extras/savedfilter.html:21 -#: templates/inc/user_menu.html:15 templates/users/token.html:21 -#: templates/users/user.html:6 templates/users/user.html:14 -#: users/filtersets.py:97 users/filtersets.py:164 users/forms/filtersets.py:85 -#: users/forms/filtersets.py:126 users/forms/model_forms.py:156 -#: users/forms/model_forms.py:193 users/tables.py:19 +#: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361 +#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398 +#: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465 +#: netbox/extras/forms/filtersets.py:505 +#: netbox/templates/dcim/rackreservation.html:58 +#: netbox/templates/extras/objectchange.html:36 +#: netbox/templates/extras/savedfilter.html:21 +#: netbox/templates/inc/user_menu.html:15 netbox/templates/users/token.html:21 +#: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 +#: netbox/users/filtersets.py:97 netbox/users/filtersets.py:164 +#: netbox/users/forms/filtersets.py:85 netbox/users/forms/filtersets.py:126 +#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/tables.py:19 msgid "User" msgstr "用户" -#: core/forms/model_forms.py:54 core/tables/data.py:46 -#: templates/core/datafile.html:27 templates/extras/report/base.html:33 -#: templates/extras/script/base.html:32 +#: netbox/core/forms/model_forms.py:54 netbox/core/tables/data.py:46 +#: netbox/templates/core/datafile.html:27 +#: netbox/templates/extras/report/base.html:33 +#: netbox/templates/extras/script/base.html:32 msgid "Source" -msgstr "来源" +msgstr "源" -#: core/forms/model_forms.py:58 +#: netbox/core/forms/model_forms.py:58 msgid "Backend Parameters" -msgstr "后端参数" +msgstr "后台参数" -#: core/forms/model_forms.py:96 +#: netbox/core/forms/model_forms.py:96 msgid "File Upload" msgstr "文件上传" -#: core/forms/model_forms.py:108 +#: netbox/core/forms/model_forms.py:108 msgid "Cannot upload a file and sync from an existing file" -msgstr "无法上传文件并从现有文件进行同步" +msgstr "无法上传文件,也不能从已经存在的文件进行同步" -#: core/forms/model_forms.py:110 +#: netbox/core/forms/model_forms.py:110 msgid "Must upload a file or select a data file to sync" -msgstr "必须上传文件或选择要同步的数据文件" +msgstr "必须上传文件或选择数据文件进行同步" -#: core/forms/model_forms.py:153 templates/dcim/rack_elevation_list.html:6 +#: netbox/core/forms/model_forms.py:153 +#: netbox/templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" -msgstr "机架高度" +msgstr "机柜立面图" -#: core/forms/model_forms.py:157 dcim/choices.py:1445 -#: dcim/forms/bulk_edit.py:867 dcim/forms/bulk_edit.py:1250 -#: dcim/forms/bulk_edit.py:1268 dcim/tables/racks.py:89 -#: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1447 +#: netbox/dcim/forms/bulk_edit.py:867 netbox/dcim/forms/bulk_edit.py:1250 +#: netbox/dcim/forms/bulk_edit.py:1268 netbox/dcim/tables/racks.py:89 +#: netbox/netbox/navigation/menu.py:276 netbox/netbox/navigation/menu.py:280 msgid "Power" -msgstr "权力" +msgstr "电源" -#: core/forms/model_forms.py:159 netbox/navigation/menu.py:141 -#: templates/core/inc/config_data.html:37 +#: netbox/core/forms/model_forms.py:159 netbox/netbox/navigation/menu.py:141 +#: netbox/templates/core/inc/config_data.html:37 msgid "IPAM" -msgstr "IPAM" +msgstr "IP地址管理" -#: core/forms/model_forms.py:160 netbox/navigation/menu.py:217 -#: templates/core/inc/config_data.html:50 vpn/forms/bulk_edit.py:77 -#: vpn/forms/filtersets.py:43 vpn/forms/model_forms.py:61 -#: vpn/forms/model_forms.py:146 +#: netbox/core/forms/model_forms.py:160 netbox/netbox/navigation/menu.py:217 +#: netbox/templates/core/inc/config_data.html:50 +#: netbox/vpn/forms/bulk_edit.py:77 netbox/vpn/forms/filtersets.py:43 +#: netbox/vpn/forms/model_forms.py:61 netbox/vpn/forms/model_forms.py:146 msgid "Security" msgstr "安全" -#: core/forms/model_forms.py:161 templates/core/inc/config_data.html:59 +#: netbox/core/forms/model_forms.py:161 +#: netbox/templates/core/inc/config_data.html:59 msgid "Banners" msgstr "横幅" -#: core/forms/model_forms.py:162 templates/core/inc/config_data.html:80 +#: netbox/core/forms/model_forms.py:162 +#: netbox/templates/core/inc/config_data.html:80 msgid "Pagination" msgstr "分页" -#: core/forms/model_forms.py:163 extras/forms/model_forms.py:67 -#: templates/core/inc/config_data.html:93 +#: netbox/core/forms/model_forms.py:163 netbox/extras/forms/model_forms.py:67 +#: netbox/templates/core/inc/config_data.html:93 msgid "Validation" msgstr "验证" -#: core/forms/model_forms.py:164 templates/account/preferences.html:6 +#: netbox/core/forms/model_forms.py:164 +#: netbox/templates/account/preferences.html:6 msgid "User Preferences" -msgstr "用户偏好" +msgstr "用户首选项" -#: core/forms/model_forms.py:167 dcim/forms/filtersets.py:661 -#: templates/core/inc/config_data.html:127 users/forms/model_forms.py:65 +#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663 +#: netbox/templates/core/inc/config_data.html:127 +#: netbox/users/forms/model_forms.py:65 msgid "Miscellaneous" msgstr "杂项" -#: core/forms/model_forms.py:169 +#: netbox/core/forms/model_forms.py:169 msgid "Config Revision" -msgstr "配置修订版" +msgstr "配置修订" -#: core/forms/model_forms.py:208 +#: netbox/core/forms/model_forms.py:208 msgid "This parameter has been defined statically and cannot be modified." -msgstr "此参数是静态定义的,无法修改。" +msgstr "该参数已被静态定义,无法修改。" -#: core/forms/model_forms.py:216 +#: netbox/core/forms/model_forms.py:216 #, python-brace-format msgid "Current value: {value}" -msgstr "当前值: {value}" +msgstr "当前变量: {value}" -#: core/forms/model_forms.py:218 +#: netbox/core/forms/model_forms.py:218 msgid " (default)" -msgstr " (默认)" +msgstr "(默认)" -#: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27 -#: core/models/jobs.py:50 extras/models/models.py:758 -#: netbox/models/features.py:51 users/models/tokens.py:33 +#: netbox/core/models/config.py:18 netbox/core/models/data.py:282 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:50 +#: netbox/extras/models/models.py:758 netbox/netbox/models/features.py:51 +#: netbox/users/models/tokens.py:33 msgid "created" -msgstr "创造" +msgstr "已创建" -#: core/models/config.py:22 +#: netbox/core/models/config.py:22 msgid "comment" -msgstr "评论" +msgstr "评论/注释" -#: core/models/config.py:29 +#: netbox/core/models/config.py:29 msgid "configuration data" msgstr "配置数据" -#: core/models/config.py:36 +#: netbox/core/models/config.py:36 msgid "config revision" -msgstr "配置修订版" +msgstr "配置修订" -#: core/models/config.py:37 +#: netbox/core/models/config.py:37 msgid "config revisions" msgstr "配置修订" -#: core/models/config.py:41 +#: netbox/core/models/config.py:41 msgid "Default configuration" msgstr "默认配置" -#: core/models/config.py:43 +#: netbox/core/models/config.py:43 msgid "Current configuration" msgstr "当前配置" -#: core/models/config.py:44 +#: netbox/core/models/config.py:44 #, python-brace-format msgid "Config revision #{id}" -msgstr "配置修订版 #{id}" +msgstr "配置修订#{id}" -#: core/models/data.py:47 dcim/models/cables.py:43 -#: dcim/models/device_component_templates.py:177 -#: dcim/models/device_component_templates.py:211 -#: dcim/models/device_component_templates.py:246 -#: dcim/models/device_component_templates.py:308 -#: dcim/models/device_component_templates.py:387 -#: dcim/models/device_component_templates.py:486 -#: dcim/models/device_component_templates.py:586 -#: dcim/models/device_components.py:284 dcim/models/device_components.py:313 -#: dcim/models/device_components.py:346 dcim/models/device_components.py:464 -#: dcim/models/device_components.py:606 dcim/models/device_components.py:971 -#: dcim/models/device_components.py:1045 dcim/models/power.py:102 -#: dcim/models/racks.py:128 extras/models/customfields.py:76 -#: extras/models/search.py:41 virtualization/models/clusters.py:61 -#: vpn/models/l2vpn.py:32 +#: netbox/core/models/data.py:47 netbox/dcim/models/cables.py:43 +#: netbox/dcim/models/device_component_templates.py:177 +#: netbox/dcim/models/device_component_templates.py:211 +#: netbox/dcim/models/device_component_templates.py:246 +#: netbox/dcim/models/device_component_templates.py:308 +#: netbox/dcim/models/device_component_templates.py:387 +#: netbox/dcim/models/device_component_templates.py:486 +#: netbox/dcim/models/device_component_templates.py:586 +#: netbox/dcim/models/device_components.py:284 +#: netbox/dcim/models/device_components.py:313 +#: netbox/dcim/models/device_components.py:346 +#: netbox/dcim/models/device_components.py:464 +#: netbox/dcim/models/device_components.py:606 +#: netbox/dcim/models/device_components.py:971 +#: netbox/dcim/models/device_components.py:1045 +#: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128 +#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41 +#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 msgid "type" msgstr "类型" -#: core/models/data.py:52 extras/choices.py:37 extras/models/models.py:192 -#: extras/tables/tables.py:577 templates/core/datasource.html:58 +#: netbox/core/models/data.py:52 netbox/extras/choices.py:37 +#: netbox/extras/models/models.py:192 netbox/extras/tables/tables.py:590 +#: netbox/templates/core/datasource.html:58 msgid "URL" -msgstr "网址" +msgstr "URL" -#: core/models/data.py:62 dcim/models/device_component_templates.py:392 -#: dcim/models/device_components.py:513 extras/models/models.py:90 -#: extras/models/models.py:329 extras/models/models.py:554 -#: users/models/permissions.py:29 +#: netbox/core/models/data.py:62 +#: netbox/dcim/models/device_component_templates.py:392 +#: netbox/dcim/models/device_components.py:513 +#: netbox/extras/models/models.py:90 netbox/extras/models/models.py:329 +#: netbox/extras/models/models.py:554 netbox/users/models/permissions.py:29 msgid "enabled" -msgstr "已启用" +msgstr "开启" -#: core/models/data.py:66 +#: netbox/core/models/data.py:66 msgid "ignore rules" msgstr "忽略规则" -#: core/models/data.py:68 +#: netbox/core/models/data.py:68 msgid "Patterns (one per line) matching files to ignore when syncing" -msgstr "同步时要忽略的匹配文件的模式(每行一个)" +msgstr "模式(每行一个)匹配同步时要忽略的文件" -#: core/models/data.py:71 extras/models/models.py:562 +#: netbox/core/models/data.py:71 netbox/extras/models/models.py:562 msgid "parameters" msgstr "参数" -#: core/models/data.py:76 +#: netbox/core/models/data.py:76 msgid "last synced" -msgstr "上次同步" +msgstr "最后同步" -#: core/models/data.py:84 +#: netbox/core/models/data.py:84 msgid "data source" msgstr "数据源" -#: core/models/data.py:85 +#: netbox/core/models/data.py:85 msgid "data sources" msgstr "数据源" -#: core/models/data.py:125 +#: netbox/core/models/data.py:125 #, python-brace-format msgid "Unknown backend type: {type}" -msgstr "未知的后端类型: {type}" +msgstr "未知后端类型: {type}" -#: core/models/data.py:180 +#: netbox/core/models/data.py:180 msgid "Cannot initiate sync; syncing already in progress." -msgstr "无法启动同步;同步已在进行中。" +msgstr "无法启动同步; 同步已在进行中。" -#: core/models/data.py:193 +#: netbox/core/models/data.py:193 msgid "" "There was an error initializing the backend. A dependency needs to be " "installed: " -msgstr "初始化后端时出错。需要安装依赖项: " +msgstr "初始化后端时出错。 需要安装依赖:" -#: core/models/data.py:286 core/models/files.py:31 -#: netbox/models/features.py:57 +#: netbox/core/models/data.py:286 netbox/core/models/files.py:31 +#: netbox/netbox/models/features.py:57 msgid "last updated" -msgstr "上次更新" +msgstr "最后更新" -#: core/models/data.py:296 dcim/models/cables.py:442 +#: netbox/core/models/data.py:296 netbox/dcim/models/cables.py:442 msgid "path" msgstr "路径" -#: core/models/data.py:299 +#: netbox/core/models/data.py:299 msgid "File path relative to the data source's root" msgstr "相对于数据源根目录的文件路径" -#: core/models/data.py:303 ipam/models/ip.py:503 +#: netbox/core/models/data.py:303 netbox/ipam/models/ip.py:503 msgid "size" -msgstr "尺寸" +msgstr "大小" -#: core/models/data.py:306 +#: netbox/core/models/data.py:306 msgid "hash" -msgstr "切碎" +msgstr "哈希值" -#: core/models/data.py:310 +#: netbox/core/models/data.py:310 msgid "Length must be 64 hexadecimal characters." msgstr "长度必须为 64 个十六进制字符。" -#: core/models/data.py:312 +#: netbox/core/models/data.py:312 msgid "SHA256 hash of the file data" msgstr "文件数据的 SHA256 哈希值" -#: core/models/data.py:329 +#: netbox/core/models/data.py:329 msgid "data file" msgstr "数据文件" -#: core/models/data.py:330 +#: netbox/core/models/data.py:330 msgid "data files" msgstr "数据文件" -#: core/models/data.py:417 +#: netbox/core/models/data.py:417 msgid "auto sync record" msgstr "自动同步记录" -#: core/models/data.py:418 +#: netbox/core/models/data.py:418 msgid "auto sync records" msgstr "自动同步记录" -#: core/models/files.py:37 +#: netbox/core/models/files.py:37 msgid "file root" -msgstr "文件根" +msgstr "根目录" -#: core/models/files.py:42 +#: netbox/core/models/files.py:42 msgid "file path" msgstr "文件路径" -#: core/models/files.py:44 +#: netbox/core/models/files.py:44 msgid "File path relative to the designated root path" msgstr "相对于指定根路径的文件路径" -#: core/models/files.py:61 +#: netbox/core/models/files.py:61 msgid "managed file" msgstr "托管文件" -#: core/models/files.py:62 +#: netbox/core/models/files.py:62 msgid "managed files" msgstr "托管文件" -#: core/models/jobs.py:54 +#: netbox/core/models/jobs.py:54 msgid "scheduled" -msgstr "计划的" +msgstr "计划" -#: core/models/jobs.py:59 +#: netbox/core/models/jobs.py:59 msgid "interval" msgstr "间隔" -#: core/models/jobs.py:65 +#: netbox/core/models/jobs.py:65 msgid "Recurrence interval (in minutes)" msgstr "重复间隔(以分钟为单位)" -#: core/models/jobs.py:68 +#: netbox/core/models/jobs.py:68 msgid "started" -msgstr "已开始" +msgstr "已经开始" -#: core/models/jobs.py:73 +#: netbox/core/models/jobs.py:73 msgid "completed" -msgstr "已完成" +msgstr "已经完成" -#: core/models/jobs.py:91 extras/models/models.py:121 -#: extras/models/staging.py:87 +#: netbox/core/models/jobs.py:91 netbox/extras/models/models.py:121 +#: netbox/extras/models/staging.py:88 msgid "data" msgstr "数据" -#: core/models/jobs.py:96 +#: netbox/core/models/jobs.py:96 msgid "error" msgstr "错误" -#: core/models/jobs.py:101 +#: netbox/core/models/jobs.py:101 msgid "job ID" -msgstr "作业 ID" +msgstr "任务ID" -#: core/models/jobs.py:112 +#: netbox/core/models/jobs.py:112 msgid "job" -msgstr "工作" +msgstr "任务" -#: core/models/jobs.py:113 +#: netbox/core/models/jobs.py:113 msgid "jobs" -msgstr "工作" +msgstr "任务" -#: core/models/jobs.py:135 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." -msgstr "无法将作业分配给此对象类型 ({type})。" +msgstr "任务不能分配给此对象类型 ({type})" -#: core/models/jobs.py:185 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" -msgstr "任务终止的状态无效。选项有: {choices}" +msgstr "作业终止状态无效。选项有:{choices}" -#: core/tables/config.py:21 users/forms/filtersets.py:45 users/tables.py:39 +#: netbox/core/tables/config.py:21 netbox/users/forms/filtersets.py:45 +#: netbox/users/tables.py:39 msgid "Is Active" -msgstr "处于活动状态" +msgstr "激活的" -#: core/tables/data.py:50 templates/core/datafile.html:31 +#: netbox/core/tables/data.py:50 netbox/templates/core/datafile.html:31 msgid "Path" msgstr "路径" -#: core/tables/data.py:54 templates/extras/inc/result_pending.html:7 +#: netbox/core/tables/data.py:54 +#: netbox/templates/extras/inc/result_pending.html:7 msgid "Last updated" -msgstr "上次更新时间" +msgstr "最后更新日期" -#: core/tables/jobs.py:10 core/tables/tasks.py:76 -#: dcim/tables/devicetypes.py:161 extras/tables/tables.py:179 -#: extras/tables/tables.py:350 netbox/tables/tables.py:188 -#: templates/dcim/virtualchassis_edit.html:52 utilities/forms/forms.py:73 -#: wireless/tables/wirelesslink.py:16 +#: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 +#: netbox/dcim/tables/devicetypes.py:161 netbox/extras/tables/tables.py:180 +#: netbox/extras/tables/tables.py:351 netbox/netbox/tables/tables.py:188 +#: netbox/templates/dcim/virtualchassis_edit.html:52 +#: netbox/utilities/forms/forms.py:73 +#: netbox/wireless/tables/wirelesslink.py:16 msgid "ID" -msgstr "身份证" +msgstr "ID" -#: core/tables/jobs.py:21 extras/choices.py:41 extras/tables/tables.py:241 -#: extras/tables/tables.py:287 extras/tables/tables.py:360 -#: extras/tables/tables.py:478 extras/tables/tables.py:509 -#: extras/tables/tables.py:574 netbox/tables/tables.py:243 -#: templates/extras/eventrule.html:84 templates/extras/journalentry.html:18 -#: templates/extras/objectchange.html:57 tenancy/tables/contacts.py:93 -#: vpn/tables/l2vpn.py:64 +#: netbox/core/tables/jobs.py:21 netbox/extras/choices.py:41 +#: netbox/extras/tables/tables.py:242 netbox/extras/tables/tables.py:288 +#: netbox/extras/tables/tables.py:361 netbox/extras/tables/tables.py:479 +#: netbox/extras/tables/tables.py:510 netbox/extras/tables/tables.py:550 +#: netbox/extras/tables/tables.py:587 netbox/netbox/tables/tables.py:243 +#: netbox/templates/extras/eventrule.html:84 +#: netbox/templates/extras/journalentry.html:18 +#: netbox/templates/extras/objectchange.html:58 +#: netbox/tenancy/tables/contacts.py:93 netbox/vpn/tables/l2vpn.py:64 msgid "Object" -msgstr "物体" +msgstr "对象" -#: core/tables/jobs.py:35 +#: netbox/core/tables/jobs.py:35 msgid "Interval" msgstr "间隔" -#: core/tables/plugins.py:16 templates/vpn/ipsecprofile.html:44 -#: vpn/forms/bulk_edit.py:141 vpn/forms/bulk_import.py:172 -#: vpn/tables/crypto.py:61 +#: netbox/core/tables/plugins.py:16 netbox/templates/vpn/ipsecprofile.html:44 +#: netbox/vpn/forms/bulk_edit.py:141 netbox/vpn/forms/bulk_import.py:172 +#: netbox/vpn/tables/crypto.py:61 msgid "Version" msgstr "版本" -#: core/tables/plugins.py:20 +#: netbox/core/tables/plugins.py:20 msgid "Package" -msgstr "包裹" +msgstr "软件包" -#: core/tables/plugins.py:23 +#: netbox/core/tables/plugins.py:23 msgid "Author" msgstr "作者" -#: core/tables/plugins.py:26 +#: netbox/core/tables/plugins.py:26 msgid "Author Email" -msgstr "作者电子邮件" +msgstr "作者电子邮箱" -#: core/tables/plugins.py:33 +#: netbox/core/tables/plugins.py:33 msgid "No plugins found" -msgstr "未找到任何插件" +msgstr "没有找到插件" -#: core/tables/tasks.py:18 +#: netbox/core/tables/tasks.py:18 msgid "Oldest Task" -msgstr "最古老的任务" +msgstr "最早的任务" -#: core/tables/tasks.py:42 templates/core/rq_worker_list.html:34 +#: netbox/core/tables/tasks.py:42 netbox/templates/core/rq_worker_list.html:34 msgid "Workers" -msgstr "工人" +msgstr "Workers" -#: core/tables/tasks.py:46 vpn/tables/tunnels.py:88 +#: netbox/core/tables/tasks.py:46 netbox/vpn/tables/tunnels.py:88 msgid "Host" -msgstr "主持人" +msgstr "主机" -#: core/tables/tasks.py:50 ipam/forms/filtersets.py:542 +#: netbox/core/tables/tasks.py:50 netbox/ipam/forms/filtersets.py:542 msgid "Port" msgstr "端口" -#: core/tables/tasks.py:54 +#: netbox/core/tables/tasks.py:54 msgid "DB" -msgstr "DB" +msgstr "数据库" -#: core/tables/tasks.py:58 +#: netbox/core/tables/tasks.py:58 msgid "Scheduler PID" -msgstr "调度器 PID" +msgstr "定时任务进程 PID" -#: core/tables/tasks.py:62 +#: netbox/core/tables/tasks.py:62 msgid "No queues found" msgstr "未找到队列" -#: core/tables/tasks.py:82 +#: netbox/core/tables/tasks.py:82 msgid "Enqueued" -msgstr "已入队" +msgstr "已加入队列" -#: core/tables/tasks.py:85 +#: netbox/core/tables/tasks.py:85 msgid "Ended" -msgstr "已结束" +msgstr "已完结" -#: core/tables/tasks.py:93 templates/core/rq_task.html:85 +#: netbox/core/tables/tasks.py:93 netbox/templates/core/rq_task.html:85 msgid "Callable" msgstr "可调用" -#: core/tables/tasks.py:97 +#: netbox/core/tables/tasks.py:97 msgid "No tasks found" -msgstr "未找到任务" +msgstr "没有找到任务" -#: core/tables/tasks.py:118 templates/core/rq_worker.html:47 +#: netbox/core/tables/tasks.py:118 netbox/templates/core/rq_worker.html:47 msgid "State" -msgstr "州" +msgstr "状态" -#: core/tables/tasks.py:121 templates/core/rq_worker.html:51 +#: netbox/core/tables/tasks.py:121 netbox/templates/core/rq_worker.html:51 msgid "Birth" -msgstr "出生" +msgstr "生成日期" -#: core/tables/tasks.py:124 templates/core/rq_worker.html:59 +#: netbox/core/tables/tasks.py:124 netbox/templates/core/rq_worker.html:59 msgid "PID" msgstr "PID" -#: core/tables/tasks.py:128 +#: netbox/core/tables/tasks.py:128 msgid "No workers found" -msgstr "未找到工作人员" +msgstr "没有找到workers" -#: core/views.py:335 core/views.py:378 core/views.py:401 core/views.py:419 -#: core/views.py:454 +#: netbox/core/views.py:331 netbox/core/views.py:374 netbox/core/views.py:397 +#: netbox/core/views.py:415 netbox/core/views.py:450 #, python-brace-format msgid "Job {job_id} not found" -msgstr "工作 {job_id} 未找到" +msgstr "任务{job_id} 未发现" -#: dcim/api/serializers_/devices.py:50 dcim/api/serializers_/devicetypes.py:26 +#: netbox/dcim/api/serializers_/devices.py:50 +#: netbox/dcim/api/serializers_/devicetypes.py:26 msgid "Position (U)" -msgstr "位置 (U)" +msgstr "具体U位" -#: dcim/api/serializers_/racks.py:45 templates/dcim/rack.html:30 +#: netbox/dcim/api/serializers_/racks.py:45 netbox/templates/dcim/rack.html:30 msgid "Facility ID" -msgstr "设施编号" +msgstr "标识符ID" -#: dcim/choices.py:21 virtualization/choices.py:21 +#: netbox/dcim/choices.py:21 netbox/virtualization/choices.py:21 msgid "Staging" -msgstr "舞台" +msgstr "暂存" -#: dcim/choices.py:23 dcim/choices.py:178 dcim/choices.py:223 -#: dcim/choices.py:1458 virtualization/choices.py:23 -#: virtualization/choices.py:48 +#: netbox/dcim/choices.py:23 netbox/dcim/choices.py:178 +#: netbox/dcim/choices.py:223 netbox/dcim/choices.py:1460 +#: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" -msgstr "退役" +msgstr "报废" -#: dcim/choices.py:24 +#: netbox/dcim/choices.py:24 msgid "Retired" -msgstr "已退休" +msgstr "下架" -#: dcim/choices.py:65 +#: netbox/dcim/choices.py:65 msgid "2-post frame" -msgstr "2 柱相框" +msgstr "双立柱机架" -#: dcim/choices.py:66 +#: netbox/dcim/choices.py:66 msgid "4-post frame" -msgstr "4 柱框架" +msgstr "4立柱机架" -#: dcim/choices.py:67 +#: netbox/dcim/choices.py:67 msgid "4-post cabinet" -msgstr "4 柱式机柜" +msgstr "4立柱机柜" -#: dcim/choices.py:68 +#: netbox/dcim/choices.py:68 msgid "Wall-mounted frame" -msgstr "壁挂式框架" +msgstr "壁挂式机架" -#: dcim/choices.py:69 +#: netbox/dcim/choices.py:69 msgid "Wall-mounted frame (vertical)" -msgstr "壁挂式框架(垂直)" +msgstr "壁挂式机架(竖式)" -#: dcim/choices.py:70 +#: netbox/dcim/choices.py:70 msgid "Wall-mounted cabinet" msgstr "壁挂式机柜" -#: dcim/choices.py:71 +#: netbox/dcim/choices.py:71 msgid "Wall-mounted cabinet (vertical)" -msgstr "壁挂式机柜(垂直)" +msgstr "壁挂式机柜(立式)" -#: dcim/choices.py:83 dcim/choices.py:84 dcim/choices.py:85 dcim/choices.py:86 +#: netbox/dcim/choices.py:83 netbox/dcim/choices.py:84 +#: netbox/dcim/choices.py:85 netbox/dcim/choices.py:86 #, python-brace-format msgid "{n} inches" msgstr "{n} 英寸" -#: dcim/choices.py:100 ipam/choices.py:32 ipam/choices.py:50 -#: ipam/choices.py:70 ipam/choices.py:155 wireless/choices.py:26 +#: netbox/dcim/choices.py:100 netbox/ipam/choices.py:32 +#: netbox/ipam/choices.py:50 netbox/ipam/choices.py:70 +#: netbox/ipam/choices.py:155 netbox/wireless/choices.py:26 msgid "Reserved" -msgstr "已保留" +msgstr "预留" -#: dcim/choices.py:101 templates/dcim/device.html:251 +#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259 msgid "Available" msgstr "可用" -#: dcim/choices.py:104 ipam/choices.py:33 ipam/choices.py:51 -#: ipam/choices.py:71 ipam/choices.py:156 wireless/choices.py:28 +#: netbox/dcim/choices.py:104 netbox/ipam/choices.py:33 +#: netbox/ipam/choices.py:51 netbox/ipam/choices.py:71 +#: netbox/ipam/choices.py:156 netbox/wireless/choices.py:28 msgid "Deprecated" msgstr "已弃用" -#: dcim/choices.py:114 templates/dcim/rack.html:123 +#: netbox/dcim/choices.py:114 netbox/templates/dcim/rack.html:123 msgid "Millimeters" msgstr "毫米" -#: dcim/choices.py:115 dcim/choices.py:1480 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1482 msgid "Inches" msgstr "英寸" -#: dcim/choices.py:140 dcim/forms/bulk_edit.py:67 dcim/forms/bulk_edit.py:86 -#: dcim/forms/bulk_edit.py:172 dcim/forms/bulk_edit.py:1298 -#: dcim/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73 -#: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:511 -#: dcim/forms/bulk_import.py:778 dcim/forms/bulk_import.py:1033 -#: dcim/forms/filtersets.py:227 dcim/forms/model_forms.py:73 -#: dcim/forms/model_forms.py:92 dcim/forms/model_forms.py:169 -#: dcim/forms/model_forms.py:1007 dcim/forms/model_forms.py:1446 -#: dcim/forms/object_import.py:176 dcim/tables/devices.py:652 -#: dcim/tables/devices.py:937 extras/tables/tables.py:186 -#: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44 -#: templates/dcim/interface.html:102 templates/dcim/interface.html:309 -#: templates/dcim/location.html:41 templates/dcim/region.html:37 -#: templates/dcim/sitegroup.html:37 templates/ipam/service.html:28 -#: templates/tenancy/contactgroup.html:29 -#: templates/tenancy/tenantgroup.html:37 -#: templates/virtualization/vminterface.html:39 -#: templates/wireless/wirelesslangroup.html:37 tenancy/forms/bulk_edit.py:27 -#: tenancy/forms/bulk_edit.py:61 tenancy/forms/bulk_import.py:24 -#: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:25 -#: tenancy/forms/model_forms.py:68 virtualization/forms/bulk_edit.py:207 -#: virtualization/forms/bulk_import.py:151 -#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:24 -#: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:21 +#: netbox/dcim/choices.py:140 netbox/dcim/forms/bulk_edit.py:67 +#: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172 +#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59 +#: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136 +#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772 +#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228 +#: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92 +#: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010 +#: netbox/dcim/forms/model_forms.py:1449 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:640 +#: netbox/dcim/tables/devices.py:919 netbox/extras/tables/tables.py:187 +#: netbox/ipam/tables/fhrp.py:59 netbox/ipam/tables/ip.py:374 +#: netbox/ipam/tables/services.py:44 netbox/templates/dcim/interface.html:102 +#: netbox/templates/dcim/interface.html:309 +#: netbox/templates/dcim/location.html:41 netbox/templates/dcim/region.html:37 +#: netbox/templates/dcim/sitegroup.html:37 +#: netbox/templates/ipam/service.html:28 +#: netbox/templates/tenancy/contactgroup.html:29 +#: netbox/templates/tenancy/tenantgroup.html:37 +#: netbox/templates/virtualization/vminterface.html:39 +#: netbox/templates/wireless/wirelesslangroup.html:37 +#: netbox/tenancy/forms/bulk_edit.py:27 netbox/tenancy/forms/bulk_edit.py:61 +#: netbox/tenancy/forms/bulk_import.py:24 +#: netbox/tenancy/forms/bulk_import.py:58 +#: netbox/tenancy/forms/model_forms.py:25 +#: netbox/tenancy/forms/model_forms.py:68 +#: netbox/virtualization/forms/bulk_edit.py:207 +#: netbox/virtualization/forms/bulk_import.py:151 +#: netbox/virtualization/tables/virtualmachines.py:155 +#: netbox/wireless/forms/bulk_edit.py:24 +#: netbox/wireless/forms/bulk_import.py:21 +#: netbox/wireless/forms/model_forms.py:21 msgid "Parent" -msgstr "家长" +msgstr "上级" -#: dcim/choices.py:141 +#: netbox/dcim/choices.py:141 msgid "Child" -msgstr "孩子" +msgstr "子类" -#: dcim/choices.py:155 templates/dcim/device.html:331 -#: templates/dcim/rack.html:175 templates/dcim/rack_elevation_list.html:20 -#: templates/dcim/rackreservation.html:76 +#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339 +#: netbox/templates/dcim/rack.html:175 +#: netbox/templates/dcim/rack_elevation_list.html:20 +#: netbox/templates/dcim/rackreservation.html:76 msgid "Front" -msgstr "正面" +msgstr "前" -#: dcim/choices.py:156 templates/dcim/device.html:337 -#: templates/dcim/rack.html:181 templates/dcim/rack_elevation_list.html:21 -#: templates/dcim/rackreservation.html:82 +#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345 +#: netbox/templates/dcim/rack.html:181 +#: netbox/templates/dcim/rack_elevation_list.html:21 +#: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" -msgstr "后方" +msgstr "后" -#: dcim/choices.py:175 dcim/choices.py:221 virtualization/choices.py:46 +#: netbox/dcim/choices.py:175 netbox/dcim/choices.py:221 +#: netbox/virtualization/choices.py:46 msgid "Staged" -msgstr "已上演" +msgstr "已暂存" -#: dcim/choices.py:177 +#: netbox/dcim/choices.py:177 msgid "Inventory" -msgstr "库存" +msgstr "库存中" -#: dcim/choices.py:193 +#: netbox/dcim/choices.py:193 msgid "Front to rear" -msgstr "从前到后" +msgstr "从前向后" -#: dcim/choices.py:194 +#: netbox/dcim/choices.py:194 msgid "Rear to front" -msgstr "从后到前" +msgstr "从后向前" -#: dcim/choices.py:195 +#: netbox/dcim/choices.py:195 msgid "Left to right" -msgstr "从左到右" +msgstr "从左向右" -#: dcim/choices.py:196 +#: netbox/dcim/choices.py:196 msgid "Right to left" -msgstr "从右到左" +msgstr "从右向左" -#: dcim/choices.py:197 +#: netbox/dcim/choices.py:197 msgid "Side to rear" -msgstr "从一边到另一边" +msgstr "侧进风后出风" -#: dcim/choices.py:198 dcim/choices.py:1253 +#: netbox/dcim/choices.py:198 netbox/dcim/choices.py:1255 msgid "Passive" msgstr "被动" -#: dcim/choices.py:199 +#: netbox/dcim/choices.py:199 msgid "Mixed" -msgstr "混合" +msgstr "混合风道" -#: dcim/choices.py:447 dcim/choices.py:693 +#: netbox/dcim/choices.py:447 netbox/dcim/choices.py:693 msgid "NEMA (Non-locking)" msgstr "NEMA(非锁定)" -#: dcim/choices.py:469 dcim/choices.py:715 +#: netbox/dcim/choices.py:469 netbox/dcim/choices.py:715 msgid "NEMA (Locking)" msgstr "NEMA(锁定)" -#: dcim/choices.py:492 dcim/choices.py:738 +#: netbox/dcim/choices.py:492 netbox/dcim/choices.py:738 msgid "California Style" -msgstr "加州风格" +msgstr "美标" -#: dcim/choices.py:500 +#: netbox/dcim/choices.py:500 msgid "International/ITA" -msgstr "国际/意大利" +msgstr "国际通用标准/ITA" -#: dcim/choices.py:535 dcim/choices.py:773 +#: netbox/dcim/choices.py:535 netbox/dcim/choices.py:773 msgid "Proprietary" -msgstr "专有的" +msgstr "专用规格" -#: dcim/choices.py:543 dcim/choices.py:782 dcim/choices.py:1169 -#: dcim/choices.py:1171 dcim/choices.py:1376 dcim/choices.py:1378 -#: netbox/navigation/menu.py:187 +#: netbox/dcim/choices.py:543 netbox/dcim/choices.py:782 +#: netbox/dcim/choices.py:1171 netbox/dcim/choices.py:1173 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1380 +#: netbox/netbox/navigation/menu.py:187 msgid "Other" msgstr "其他" -#: dcim/choices.py:746 +#: netbox/dcim/choices.py:746 msgid "ITA/International" -msgstr "ITA/国际" +msgstr "ITA/国际通用标准" -#: dcim/choices.py:812 +#: netbox/dcim/choices.py:812 msgid "Physical" -msgstr "身体的" +msgstr "物理" -#: dcim/choices.py:813 dcim/choices.py:977 +#: netbox/dcim/choices.py:813 netbox/dcim/choices.py:978 msgid "Virtual" msgstr "虚拟" -#: dcim/choices.py:814 dcim/choices.py:1049 dcim/forms/bulk_edit.py:1408 -#: dcim/forms/filtersets.py:1239 dcim/forms/model_forms.py:933 -#: dcim/forms/model_forms.py:1341 netbox/navigation/menu.py:127 -#: netbox/navigation/menu.py:131 templates/dcim/interface.html:210 +#: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051 +#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251 +#: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344 +#: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131 +#: netbox/templates/dcim/interface.html:210 msgid "Wireless" msgstr "无线" -#: dcim/choices.py:975 +#: netbox/dcim/choices.py:976 msgid "Virtual interfaces" msgstr "虚拟接口" -#: dcim/choices.py:978 dcim/forms/bulk_edit.py:1303 -#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:919 -#: dcim/tables/devices.py:656 templates/dcim/interface.html:106 -#: templates/virtualization/vminterface.html:43 -#: virtualization/forms/bulk_edit.py:212 -#: virtualization/forms/bulk_import.py:158 -#: virtualization/tables/virtualmachines.py:159 +#: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303 +#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922 +#: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106 +#: netbox/templates/virtualization/vminterface.html:43 +#: netbox/virtualization/forms/bulk_edit.py:212 +#: netbox/virtualization/forms/bulk_import.py:158 +#: netbox/virtualization/tables/virtualmachines.py:159 msgid "Bridge" -msgstr "桥" +msgstr "桥接" -#: dcim/choices.py:979 +#: netbox/dcim/choices.py:980 msgid "Link Aggregation Group (LAG)" -msgstr "链路聚合组 (LAG)" +msgstr "链路聚合组(LAG)" -#: dcim/choices.py:983 +#: netbox/dcim/choices.py:984 msgid "Ethernet (fixed)" -msgstr "以太网(固定)" +msgstr "以太网(固定类型)" -#: dcim/choices.py:997 +#: netbox/dcim/choices.py:999 msgid "Ethernet (modular)" -msgstr "以太网(模块化)" +msgstr "以太网(模块)" -#: dcim/choices.py:1033 +#: netbox/dcim/choices.py:1035 msgid "Ethernet (backplane)" -msgstr "以太网(背板)" +msgstr "以太网(背板)" -#: dcim/choices.py:1063 +#: netbox/dcim/choices.py:1065 msgid "Cellular" msgstr "蜂窝网络" -#: dcim/choices.py:1115 dcim/forms/filtersets.py:303 -#: dcim/forms/filtersets.py:738 dcim/forms/filtersets.py:882 -#: dcim/forms/filtersets.py:1434 templates/dcim/inventoryitem.html:52 -#: templates/dcim/virtualchassis_edit.html:54 +#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304 +#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894 +#: netbox/dcim/forms/filtersets.py:1446 +#: netbox/templates/dcim/inventoryitem.html:52 +#: netbox/templates/dcim/virtualchassis_edit.html:54 msgid "Serial" -msgstr "序列号" +msgstr "串口" -#: dcim/choices.py:1130 +#: netbox/dcim/choices.py:1132 msgid "Coaxial" -msgstr "同轴" +msgstr "同轴电缆接口" -#: dcim/choices.py:1150 +#: netbox/dcim/choices.py:1152 msgid "Stacking" msgstr "堆叠" -#: dcim/choices.py:1200 +#: netbox/dcim/choices.py:1202 msgid "Half" -msgstr "一半" +msgstr "半双工" -#: dcim/choices.py:1201 +#: netbox/dcim/choices.py:1203 msgid "Full" -msgstr "已满" +msgstr "全双工" -#: dcim/choices.py:1202 netbox/preferences.py:31 wireless/choices.py:480 +#: netbox/dcim/choices.py:1204 netbox/netbox/preferences.py:31 +#: netbox/wireless/choices.py:480 msgid "Auto" -msgstr "汽车" +msgstr "自动" -#: dcim/choices.py:1213 +#: netbox/dcim/choices.py:1215 msgid "Access" -msgstr "访问" +msgstr "接入" -#: dcim/choices.py:1214 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213 -#: templates/dcim/inc/interface_vlans_table.html:7 +#: netbox/dcim/choices.py:1216 netbox/ipam/tables/vlans.py:168 +#: netbox/ipam/tables/vlans.py:213 +#: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" -msgstr "已标记" +msgstr "Trunk口" -#: dcim/choices.py:1215 +#: netbox/dcim/choices.py:1217 msgid "Tagged (All)" -msgstr "已标记 (全部)" +msgstr "Trunk口(允许所有VLAN)" -#: dcim/choices.py:1244 +#: netbox/dcim/choices.py:1246 msgid "IEEE Standard" -msgstr "IEEE 标准" +msgstr "IEEE标准" -#: dcim/choices.py:1255 +#: netbox/dcim/choices.py:1257 msgid "Passive 24V (2-pair)" -msgstr "被动 24V(2 对)" +msgstr "24V(2对供电)" -#: dcim/choices.py:1256 +#: netbox/dcim/choices.py:1258 msgid "Passive 24V (4-pair)" -msgstr "被动式 24V(4 对)" +msgstr "24V(4对供电)" -#: dcim/choices.py:1257 +#: netbox/dcim/choices.py:1259 msgid "Passive 48V (2-pair)" -msgstr "被动式 48V(2 对)" +msgstr "48V(2对供电)" -#: dcim/choices.py:1258 +#: netbox/dcim/choices.py:1260 msgid "Passive 48V (4-pair)" -msgstr "被动式 48V(4 对)" +msgstr "48V(4对供电)" -#: dcim/choices.py:1320 dcim/choices.py:1416 +#: netbox/dcim/choices.py:1322 netbox/dcim/choices.py:1418 msgid "Copper" -msgstr "铜" +msgstr "铜缆" -#: dcim/choices.py:1343 +#: netbox/dcim/choices.py:1345 msgid "Fiber Optic" msgstr "光纤" -#: dcim/choices.py:1432 +#: netbox/dcim/choices.py:1434 msgid "Fiber" -msgstr "纤维" +msgstr "光纤" -#: dcim/choices.py:1456 dcim/forms/filtersets.py:1146 +#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158 msgid "Connected" msgstr "已连接" -#: dcim/choices.py:1475 +#: netbox/dcim/choices.py:1477 msgid "Kilometers" -msgstr "千米" +msgstr "公里" -#: dcim/choices.py:1476 templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1478 netbox/templates/dcim/cable_trace.html:65 msgid "Meters" msgstr "米" -#: dcim/choices.py:1477 +#: netbox/dcim/choices.py:1479 msgid "Centimeters" msgstr "厘米" -#: dcim/choices.py:1478 +#: netbox/dcim/choices.py:1480 msgid "Miles" msgstr "英里" -#: dcim/choices.py:1479 templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1481 netbox/templates/dcim/cable_trace.html:66 msgid "Feet" msgstr "英尺" -#: dcim/choices.py:1495 templates/dcim/device.html:319 -#: templates/dcim/rack.html:152 +#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:152 msgid "Kilograms" msgstr "千克" -#: dcim/choices.py:1496 +#: netbox/dcim/choices.py:1498 msgid "Grams" msgstr "克" -#: dcim/choices.py:1497 templates/dcim/rack.html:153 +#: netbox/dcim/choices.py:1499 netbox/templates/dcim/rack.html:153 msgid "Pounds" -msgstr "英镑" +msgstr "磅" -#: dcim/choices.py:1498 +#: netbox/dcim/choices.py:1500 msgid "Ounces" msgstr "盎司" -#: dcim/choices.py:1544 tenancy/choices.py:17 +#: netbox/dcim/choices.py:1546 netbox/tenancy/choices.py:17 msgid "Primary" -msgstr "小学" +msgstr "主要联系人" -#: dcim/choices.py:1545 +#: netbox/dcim/choices.py:1547 msgid "Redundant" msgstr "冗余" -#: dcim/choices.py:1566 +#: netbox/dcim/choices.py:1568 msgid "Single phase" -msgstr "单相" +msgstr "单相电" -#: dcim/choices.py:1567 +#: netbox/dcim/choices.py:1569 msgid "Three-phase" msgstr "三相" -#: dcim/fields.py:45 +#: netbox/dcim/fields.py:45 #, python-brace-format msgid "Invalid MAC address format: {value}" -msgstr "MAC 地址格式无效: {value}" +msgstr "MAC地址格式无效:{value}" -#: dcim/fields.py:71 +#: netbox/dcim/fields.py:71 #, python-brace-format msgid "Invalid WWN format: {value}" -msgstr "WWN 格式无效: {value}" +msgstr "WWN格式无效:{value}" -#: dcim/filtersets.py:85 +#: netbox/dcim/filtersets.py:85 msgid "Parent region (ID)" -msgstr "父区域 (ID)" +msgstr "上一级地区(ID)" -#: dcim/filtersets.py:91 +#: netbox/dcim/filtersets.py:91 msgid "Parent region (slug)" -msgstr "父区域(slug)" +msgstr "上一级地区(缩写)" -#: dcim/filtersets.py:115 +#: netbox/dcim/filtersets.py:115 msgid "Parent site group (ID)" -msgstr "父站点组 (ID)" +msgstr "上一级站点组(ID)" -#: dcim/filtersets.py:121 +#: netbox/dcim/filtersets.py:121 msgid "Parent site group (slug)" -msgstr "父站点组(slug)" +msgstr "上一级站点组(缩写)" -#: dcim/filtersets.py:163 ipam/filtersets.py:841 ipam/filtersets.py:979 +#: netbox/dcim/filtersets.py:163 netbox/ipam/filtersets.py:841 +#: netbox/ipam/filtersets.py:979 msgid "Group (ID)" -msgstr "群组 (ID)" +msgstr "组(ID)" -#: dcim/filtersets.py:169 +#: netbox/dcim/filtersets.py:169 msgid "Group (slug)" -msgstr "群组(slug)" +msgstr "组(缩写)" -#: dcim/filtersets.py:175 dcim/filtersets.py:180 +#: netbox/dcim/filtersets.py:175 netbox/dcim/filtersets.py:180 msgid "AS (ID)" -msgstr "作为(ID)" +msgstr "AS (ID)" -#: dcim/filtersets.py:245 +#: netbox/dcim/filtersets.py:245 msgid "Parent location (ID)" -msgstr "家长所在地 (ID)" +msgstr "父级位置(ID)" -#: dcim/filtersets.py:251 +#: netbox/dcim/filtersets.py:251 msgid "Parent location (slug)" -msgstr "家长所在地(slug)" +msgstr "父级位置(缩写)" -#: dcim/filtersets.py:257 dcim/filtersets.py:333 dcim/filtersets.py:432 -#: dcim/filtersets.py:1005 dcim/filtersets.py:1341 dcim/filtersets.py:2111 +#: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333 +#: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005 +#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122 msgid "Location (ID)" -msgstr "地点 (ID)" +msgstr "位置(ID)" -#: dcim/filtersets.py:264 dcim/filtersets.py:340 dcim/filtersets.py:439 -#: dcim/filtersets.py:1347 extras/filtersets.py:494 +#: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340 +#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358 +#: netbox/extras/filtersets.py:494 msgid "Location (slug)" -msgstr "位置(slug)" +msgstr "位置(缩写)" -#: dcim/filtersets.py:354 dcim/filtersets.py:840 dcim/filtersets.py:942 -#: dcim/filtersets.py:1779 ipam/filtersets.py:381 ipam/filtersets.py:493 -#: ipam/filtersets.py:989 virtualization/filtersets.py:210 +#: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840 +#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790 +#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 +#: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" -msgstr "角色 (ID)" +msgstr "角色(ID)" -#: dcim/filtersets.py:360 dcim/filtersets.py:846 dcim/filtersets.py:948 -#: dcim/filtersets.py:1785 extras/filtersets.py:510 ipam/filtersets.py:387 -#: ipam/filtersets.py:499 ipam/filtersets.py:995 -#: virtualization/filtersets.py:216 +#: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846 +#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796 +#: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387 +#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995 +#: netbox/virtualization/filtersets.py:216 msgid "Role (slug)" -msgstr "角色(slug)" +msgstr "角色 (缩写)" -#: dcim/filtersets.py:389 dcim/filtersets.py:1010 dcim/filtersets.py:1352 -#: dcim/filtersets.py:2173 +#: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010 +#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184 msgid "Rack (ID)" -msgstr "机架 (ID)" +msgstr "机柜(ID)" -#: dcim/filtersets.py:443 extras/filtersets.py:282 extras/filtersets.py:326 -#: extras/filtersets.py:365 extras/filtersets.py:664 users/filtersets.py:28 +#: netbox/dcim/filtersets.py:443 netbox/extras/filtersets.py:282 +#: netbox/extras/filtersets.py:326 netbox/extras/filtersets.py:365 +#: netbox/extras/filtersets.py:664 netbox/users/filtersets.py:28 msgid "User (ID)" -msgstr "用户 (ID)" +msgstr "用户(ID)" -#: dcim/filtersets.py:449 extras/filtersets.py:288 extras/filtersets.py:332 -#: extras/filtersets.py:371 users/filtersets.py:103 users/filtersets.py:170 +#: netbox/dcim/filtersets.py:449 netbox/extras/filtersets.py:288 +#: netbox/extras/filtersets.py:332 netbox/extras/filtersets.py:371 +#: netbox/users/filtersets.py:103 netbox/users/filtersets.py:170 msgid "User (name)" -msgstr "用户(姓名)" +msgstr "用户(名称)" -#: dcim/filtersets.py:481 dcim/filtersets.py:620 dcim/filtersets.py:830 -#: dcim/filtersets.py:881 dcim/filtersets.py:921 dcim/filtersets.py:1243 -#: dcim/filtersets.py:1769 +#: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620 +#: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881 +#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:1780 msgid "Manufacturer (ID)" -msgstr "制造商 (ID)" +msgstr "厂商(ID)" -#: dcim/filtersets.py:487 dcim/filtersets.py:626 dcim/filtersets.py:836 -#: dcim/filtersets.py:887 dcim/filtersets.py:927 dcim/filtersets.py:1249 -#: dcim/filtersets.py:1775 +#: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626 +#: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887 +#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1786 msgid "Manufacturer (slug)" -msgstr "制造商(slug)" +msgstr "厂商 (缩写)" -#: dcim/filtersets.py:491 +#: netbox/dcim/filtersets.py:491 msgid "Default platform (ID)" -msgstr "默认平台 (ID)" +msgstr "默认系统平台(ID)" -#: dcim/filtersets.py:497 +#: netbox/dcim/filtersets.py:497 msgid "Default platform (slug)" -msgstr "默认平台(slug)" +msgstr "默认系统平台(缩写)" -#: dcim/filtersets.py:500 dcim/forms/filtersets.py:452 +#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453 msgid "Has a front image" -msgstr "有正面图片" +msgstr "有前面板图片" -#: dcim/filtersets.py:504 dcim/forms/filtersets.py:459 +#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460 msgid "Has a rear image" -msgstr "有背面影像" +msgstr "有后面板图片" -#: dcim/filtersets.py:509 dcim/filtersets.py:630 dcim/filtersets.py:1068 -#: dcim/forms/filtersets.py:466 dcim/forms/filtersets.py:562 -#: dcim/forms/filtersets.py:777 +#: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630 +#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467 +#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779 msgid "Has console ports" -msgstr "有控制台端口" +msgstr "具有console端口" -#: dcim/filtersets.py:513 dcim/filtersets.py:634 dcim/filtersets.py:1072 -#: dcim/forms/filtersets.py:473 dcim/forms/filtersets.py:569 -#: dcim/forms/filtersets.py:784 +#: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634 +#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474 +#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786 msgid "Has console server ports" -msgstr "有控制台服务器端口" +msgstr "具有console 服务器端口" -#: dcim/filtersets.py:517 dcim/filtersets.py:638 dcim/filtersets.py:1076 -#: dcim/forms/filtersets.py:480 dcim/forms/filtersets.py:576 -#: dcim/forms/filtersets.py:791 +#: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638 +#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481 +#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793 msgid "Has power ports" -msgstr "有电源端口" +msgstr "有电源接口" -#: dcim/filtersets.py:521 dcim/filtersets.py:642 dcim/filtersets.py:1080 -#: dcim/forms/filtersets.py:487 dcim/forms/filtersets.py:583 -#: dcim/forms/filtersets.py:798 +#: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642 +#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488 +#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800 msgid "Has power outlets" msgstr "有电源插座" -#: dcim/filtersets.py:525 dcim/filtersets.py:646 dcim/filtersets.py:1084 -#: dcim/forms/filtersets.py:494 dcim/forms/filtersets.py:590 -#: dcim/forms/filtersets.py:805 +#: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646 +#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495 +#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807 msgid "Has interfaces" msgstr "有接口" -#: dcim/filtersets.py:529 dcim/filtersets.py:650 dcim/filtersets.py:1088 -#: dcim/forms/filtersets.py:501 dcim/forms/filtersets.py:597 -#: dcim/forms/filtersets.py:812 +#: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650 +#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502 +#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814 msgid "Has pass-through ports" msgstr "有直通端口" -#: dcim/filtersets.py:533 dcim/filtersets.py:1092 dcim/forms/filtersets.py:515 +#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103 +#: netbox/dcim/forms/filtersets.py:516 msgid "Has module bays" msgstr "有模块托架" -#: dcim/filtersets.py:537 dcim/filtersets.py:1096 dcim/forms/filtersets.py:508 +#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107 +#: netbox/dcim/forms/filtersets.py:509 msgid "Has device bays" msgstr "有设备托架" -#: dcim/filtersets.py:541 dcim/forms/filtersets.py:522 +#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523 msgid "Has inventory items" -msgstr "有库存物品" +msgstr "有库存项" -#: dcim/filtersets.py:698 dcim/filtersets.py:937 dcim/filtersets.py:1373 +#: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937 +#: netbox/dcim/filtersets.py:1384 msgid "Device type (ID)" -msgstr "设备类型 (ID)" +msgstr "设备型号(ID)" -#: dcim/filtersets.py:717 dcim/filtersets.py:1254 +#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265 msgid "Module type (ID)" -msgstr "模块类型 (ID)" +msgstr "模块类型(ID)" -#: dcim/filtersets.py:752 dcim/filtersets.py:1524 +#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535 msgid "Power port (ID)" -msgstr "电源端口 (ID)" +msgstr "电源接口(ID)" -#: dcim/filtersets.py:826 dcim/filtersets.py:1765 +#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776 msgid "Parent inventory item (ID)" -msgstr "父库存物品 (ID)" +msgstr "上一级库存项(ID)" -#: dcim/filtersets.py:869 dcim/filtersets.py:895 dcim/filtersets.py:1064 -#: virtualization/filtersets.py:238 +#: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895 +#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238 msgid "Config template (ID)" -msgstr "配置模板 (ID)" +msgstr "配置模板(ID)" -#: dcim/filtersets.py:933 +#: netbox/dcim/filtersets.py:933 msgid "Device type (slug)" -msgstr "设备类型(slug)" +msgstr "设备型号 (缩写)" -#: dcim/filtersets.py:953 +#: netbox/dcim/filtersets.py:953 msgid "Parent Device (ID)" -msgstr "家长设备 (ID)" +msgstr "上一级设备(ID)" -#: dcim/filtersets.py:957 virtualization/filtersets.py:220 +#: netbox/dcim/filtersets.py:957 netbox/virtualization/filtersets.py:220 msgid "Platform (ID)" -msgstr "平台 (ID)" +msgstr "平台(ID)" -#: dcim/filtersets.py:963 extras/filtersets.py:521 -#: virtualization/filtersets.py:226 +#: netbox/dcim/filtersets.py:963 netbox/extras/filtersets.py:521 +#: netbox/virtualization/filtersets.py:226 msgid "Platform (slug)" -msgstr "平台(slug)" +msgstr "平台(缩写)" -#: dcim/filtersets.py:999 dcim/filtersets.py:1336 dcim/filtersets.py:1863 -#: dcim/filtersets.py:2105 dcim/filtersets.py:2164 +#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347 +#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116 +#: netbox/dcim/filtersets.py:2175 msgid "Site name (slug)" -msgstr "站点名称(slug)" +msgstr "站点名字 (缩写)" -#: dcim/filtersets.py:1015 +#: netbox/dcim/filtersets.py:1015 msgid "Parent bay (ID)" -msgstr "家长宝贝 (ID)" +msgstr "父级托架(IE)" -#: dcim/filtersets.py:1019 +#: netbox/dcim/filtersets.py:1019 msgid "VM cluster (ID)" -msgstr "虚拟机集群 (ID)" +msgstr "虚拟机集群(ID)" -#: dcim/filtersets.py:1025 +#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543 +#: netbox/virtualization/filtersets.py:136 +msgid "Cluster group (slug)" +msgstr "集群组(缩写)" + +#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130 +msgid "Cluster group (ID)" +msgstr "集群组(ID)" + +#: netbox/dcim/filtersets.py:1036 msgid "Device model (slug)" -msgstr "设备型号(slug)" +msgstr "设备模块(缩写)" -#: dcim/filtersets.py:1036 dcim/forms/bulk_edit.py:423 +#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423 msgid "Is full depth" -msgstr "深度已满" +msgstr "是否全尺寸" -#: dcim/filtersets.py:1040 dcim/forms/common.py:18 -#: dcim/forms/filtersets.py:747 dcim/forms/filtersets.py:1291 -#: dcim/models/device_components.py:519 virtualization/filtersets.py:230 -#: virtualization/filtersets.py:297 virtualization/forms/filtersets.py:172 -#: virtualization/forms/filtersets.py:219 +#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18 +#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303 +#: netbox/dcim/models/device_components.py:519 +#: netbox/virtualization/filtersets.py:230 +#: netbox/virtualization/filtersets.py:297 +#: netbox/virtualization/forms/filtersets.py:172 +#: netbox/virtualization/forms/filtersets.py:219 msgid "MAC address" msgstr "MAC 地址" -#: dcim/filtersets.py:1047 dcim/filtersets.py:1211 -#: dcim/forms/filtersets.py:756 dcim/forms/filtersets.py:849 -#: virtualization/filtersets.py:234 virtualization/forms/filtersets.py:176 +#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222 +#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861 +#: netbox/virtualization/filtersets.py:234 +#: netbox/virtualization/forms/filtersets.py:176 msgid "Has a primary IP" -msgstr "有主 IP" +msgstr "有主IP" -#: dcim/filtersets.py:1051 +#: netbox/dcim/filtersets.py:1062 msgid "Has an out-of-band IP" -msgstr "有带外 IP" +msgstr "有带外管理IP" -#: dcim/filtersets.py:1056 +#: netbox/dcim/filtersets.py:1067 msgid "Virtual chassis (ID)" -msgstr "虚拟机箱 (ID)" +msgstr "堆叠 (ID)" -#: dcim/filtersets.py:1060 +#: netbox/dcim/filtersets.py:1071 msgid "Is a virtual chassis member" -msgstr "是虚拟机箱成员" +msgstr "是堆叠成员" -#: dcim/filtersets.py:1101 +#: netbox/dcim/filtersets.py:1112 msgid "OOB IP (ID)" -msgstr "OOB IP (ID)" +msgstr "带外管理IP(ID)" -#: dcim/filtersets.py:1105 +#: netbox/dcim/filtersets.py:1116 msgid "Has virtual device context" msgstr "有虚拟设备上下文" -#: dcim/filtersets.py:1194 +#: netbox/dcim/filtersets.py:1205 msgid "VDC (ID)" msgstr "VDC (ID)" -#: dcim/filtersets.py:1199 +#: netbox/dcim/filtersets.py:1210 msgid "Device model" msgstr "设备型号" -#: dcim/filtersets.py:1204 ipam/filtersets.py:632 vpn/filtersets.py:102 -#: vpn/filtersets.py:420 +#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420 msgid "Interface (ID)" -msgstr "接口 (ID)" +msgstr "接口(ID)" -#: dcim/filtersets.py:1260 +#: netbox/dcim/filtersets.py:1271 msgid "Module type (model)" -msgstr "模块类型(型号)" +msgstr "模块类型(模块)" -#: dcim/filtersets.py:1266 +#: netbox/dcim/filtersets.py:1277 msgid "Module Bay (ID)" -msgstr "模块托架 (ID)" +msgstr "设备板卡插槽 (ID)" -#: dcim/filtersets.py:1270 dcim/filtersets.py:1362 ipam/filtersets.py:611 -#: ipam/filtersets.py:851 ipam/filtersets.py:1075 -#: virtualization/filtersets.py:161 vpn/filtersets.py:398 +#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373 +#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 +#: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:398 msgid "Device (ID)" -msgstr "设备 (ID)" +msgstr "设备(ID)" -#: dcim/filtersets.py:1358 +#: netbox/dcim/filtersets.py:1369 msgid "Rack (name)" -msgstr "机架(名称)" +msgstr "机柜(名称)" -#: dcim/filtersets.py:1368 ipam/filtersets.py:606 ipam/filtersets.py:846 -#: ipam/filtersets.py:1081 vpn/filtersets.py:393 +#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081 +#: netbox/vpn/filtersets.py:393 msgid "Device (name)" msgstr "设备(名称)" -#: dcim/filtersets.py:1379 +#: netbox/dcim/filtersets.py:1390 msgid "Device type (model)" -msgstr "设备类型(型号)" +msgstr "设备型号 (model)" -#: dcim/filtersets.py:1384 +#: netbox/dcim/filtersets.py:1395 msgid "Device role (ID)" -msgstr "设备角色 (ID)" +msgstr "设备角色(ID)" -#: dcim/filtersets.py:1390 +#: netbox/dcim/filtersets.py:1401 msgid "Device role (slug)" -msgstr "设备角色(slug)" +msgstr "设备角色(缩写)" -#: dcim/filtersets.py:1395 +#: netbox/dcim/filtersets.py:1406 msgid "Virtual Chassis (ID)" -msgstr "虚拟机箱 (ID)" +msgstr "堆叠(ID)" -#: dcim/filtersets.py:1401 dcim/forms/filtersets.py:107 -#: dcim/tables/devices.py:211 netbox/navigation/menu.py:66 -#: templates/dcim/device.html:119 templates/dcim/device_edit.html:93 -#: templates/dcim/virtualchassis.html:20 -#: templates/dcim/virtualchassis_add.html:8 -#: templates/dcim/virtualchassis_edit.html:24 +#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108 +#: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66 +#: netbox/templates/dcim/device.html:120 +#: netbox/templates/dcim/device_edit.html:93 +#: netbox/templates/dcim/virtualchassis.html:20 +#: netbox/templates/dcim/virtualchassis_add.html:8 +#: netbox/templates/dcim/virtualchassis_edit.html:24 msgid "Virtual Chassis" -msgstr "虚拟机箱" +msgstr "堆叠" -#: dcim/filtersets.py:1421 +#: netbox/dcim/filtersets.py:1432 msgid "Module (ID)" -msgstr "模块 (ID)" +msgstr "模块(ID)" -#: dcim/filtersets.py:1428 +#: netbox/dcim/filtersets.py:1439 msgid "Cable (ID)" -msgstr "电缆 (ID)" +msgstr "线缆(ID)" -#: dcim/filtersets.py:1537 ipam/forms/bulk_import.py:188 -#: vpn/forms/bulk_import.py:308 +#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188 +#: netbox/vpn/forms/bulk_import.py:308 msgid "Assigned VLAN" -msgstr "分配的 VLAN" +msgstr "指定VLAN" -#: dcim/filtersets.py:1541 +#: netbox/dcim/filtersets.py:1552 msgid "Assigned VID" -msgstr "分配的 VID" +msgstr "指定VID" -#: dcim/filtersets.py:1546 dcim/forms/bulk_edit.py:1382 -#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1334 -#: dcim/forms/model_forms.py:1322 dcim/models/device_components.py:712 -#: dcim/tables/devices.py:622 ipam/filtersets.py:316 ipam/filtersets.py:327 -#: ipam/filtersets.py:483 ipam/filtersets.py:584 ipam/filtersets.py:595 -#: ipam/forms/bulk_edit.py:227 ipam/forms/bulk_edit.py:282 -#: ipam/forms/bulk_edit.py:324 ipam/forms/bulk_import.py:156 -#: ipam/forms/bulk_import.py:242 ipam/forms/bulk_import.py:278 -#: ipam/forms/filtersets.py:67 ipam/forms/filtersets.py:172 -#: ipam/forms/filtersets.py:309 ipam/forms/model_forms.py:60 -#: ipam/forms/model_forms.py:200 ipam/forms/model_forms.py:245 -#: ipam/forms/model_forms.py:298 ipam/forms/model_forms.py:429 -#: ipam/forms/model_forms.py:443 ipam/forms/model_forms.py:457 -#: ipam/models/ip.py:233 ipam/models/ip.py:512 ipam/models/ip.py:720 -#: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306 -#: ipam/tables/ip.py:356 ipam/tables/ip.py:445 -#: templates/dcim/interface.html:133 templates/ipam/ipaddress.html:18 -#: templates/ipam/iprange.html:40 templates/ipam/prefix.html:19 -#: templates/ipam/vrf.html:7 templates/ipam/vrf.html:13 -#: templates/virtualization/vminterface.html:47 -#: virtualization/forms/bulk_edit.py:261 -#: virtualization/forms/bulk_import.py:171 -#: virtualization/forms/filtersets.py:224 -#: virtualization/forms/model_forms.py:344 -#: virtualization/models/virtualmachines.py:350 -#: virtualization/tables/virtualmachines.py:136 +#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382 +#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346 +#: netbox/dcim/forms/model_forms.py:1325 +#: netbox/dcim/models/device_components.py:712 +#: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316 +#: netbox/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 +#: netbox/ipam/filtersets.py:584 netbox/ipam/filtersets.py:595 +#: netbox/ipam/forms/bulk_edit.py:227 netbox/ipam/forms/bulk_edit.py:282 +#: netbox/ipam/forms/bulk_edit.py:324 netbox/ipam/forms/bulk_import.py:156 +#: netbox/ipam/forms/bulk_import.py:242 netbox/ipam/forms/bulk_import.py:278 +#: netbox/ipam/forms/filtersets.py:67 netbox/ipam/forms/filtersets.py:172 +#: netbox/ipam/forms/filtersets.py:309 netbox/ipam/forms/model_forms.py:60 +#: netbox/ipam/forms/model_forms.py:200 netbox/ipam/forms/model_forms.py:245 +#: netbox/ipam/forms/model_forms.py:298 netbox/ipam/forms/model_forms.py:429 +#: netbox/ipam/forms/model_forms.py:443 netbox/ipam/forms/model_forms.py:457 +#: netbox/ipam/models/ip.py:233 netbox/ipam/models/ip.py:512 +#: netbox/ipam/models/ip.py:720 netbox/ipam/models/vrfs.py:62 +#: netbox/ipam/tables/ip.py:241 netbox/ipam/tables/ip.py:306 +#: netbox/ipam/tables/ip.py:356 netbox/ipam/tables/ip.py:445 +#: netbox/templates/dcim/interface.html:133 +#: netbox/templates/ipam/ipaddress.html:18 +#: netbox/templates/ipam/iprange.html:40 netbox/templates/ipam/prefix.html:19 +#: netbox/templates/ipam/vrf.html:7 netbox/templates/ipam/vrf.html:13 +#: netbox/templates/virtualization/vminterface.html:47 +#: netbox/virtualization/forms/bulk_edit.py:261 +#: netbox/virtualization/forms/bulk_import.py:171 +#: netbox/virtualization/forms/filtersets.py:224 +#: netbox/virtualization/forms/model_forms.py:344 +#: netbox/virtualization/models/virtualmachines.py:350 +#: netbox/virtualization/tables/virtualmachines.py:136 msgid "VRF" msgstr "VRF" -#: dcim/filtersets.py:1552 ipam/filtersets.py:322 ipam/filtersets.py:333 -#: ipam/filtersets.py:489 ipam/filtersets.py:590 ipam/filtersets.py:601 +#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322 +#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489 +#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601 msgid "VRF (RD)" -msgstr "VRF(红色)" +msgstr "VRF (RD)" -#: dcim/filtersets.py:1557 ipam/filtersets.py:1016 vpn/filtersets.py:361 +#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016 +#: netbox/vpn/filtersets.py:361 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" -#: dcim/filtersets.py:1563 dcim/forms/filtersets.py:1339 -#: dcim/tables/devices.py:570 ipam/filtersets.py:1022 -#: ipam/forms/filtersets.py:525 ipam/tables/vlans.py:133 -#: templates/dcim/interface.html:93 templates/ipam/vlan.html:66 -#: templates/vpn/l2vpntermination.html:12 -#: virtualization/forms/filtersets.py:229 vpn/forms/bulk_import.py:280 -#: vpn/forms/filtersets.py:246 vpn/forms/model_forms.py:409 -#: vpn/forms/model_forms.py:427 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55 +#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351 +#: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022 +#: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133 +#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66 +#: netbox/templates/vpn/l2vpntermination.html:12 +#: netbox/virtualization/forms/filtersets.py:229 +#: netbox/vpn/forms/bulk_import.py:280 netbox/vpn/forms/filtersets.py:246 +#: netbox/vpn/forms/model_forms.py:409 netbox/vpn/forms/model_forms.py:427 +#: netbox/vpn/models/l2vpn.py:63 netbox/vpn/tables/l2vpn.py:55 msgid "L2VPN" msgstr "L2VPN" -#: dcim/filtersets.py:1595 +#: netbox/dcim/filtersets.py:1606 msgid "Virtual Chassis Interfaces for Device" -msgstr "设备的虚拟机箱接口" +msgstr "设备的集群接口" -#: dcim/filtersets.py:1600 +#: netbox/dcim/filtersets.py:1611 msgid "Virtual Chassis Interfaces for Device (ID)" -msgstr "设备的虚拟机箱接口 (ID)" +msgstr "设备的集群接口(ID)" -#: dcim/filtersets.py:1604 +#: netbox/dcim/filtersets.py:1615 msgid "Kind of interface" -msgstr "接口的种类" +msgstr "接口类型" -#: dcim/filtersets.py:1609 virtualization/filtersets.py:289 +#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289 msgid "Parent interface (ID)" -msgstr "父接口 (ID)" +msgstr "父级接口(ID)" -#: dcim/filtersets.py:1614 virtualization/filtersets.py:294 +#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294 msgid "Bridged interface (ID)" -msgstr "桥接接口 (ID)" +msgstr "桥接接口(ID)" -#: dcim/filtersets.py:1619 +#: netbox/dcim/filtersets.py:1630 msgid "LAG interface (ID)" -msgstr "LAG 接口 (ID)" +msgstr "链路聚合接口(ID)" -#: dcim/filtersets.py:1646 dcim/filtersets.py:1658 -#: dcim/forms/filtersets.py:1251 dcim/forms/model_forms.py:1634 -#: templates/dcim/virtualdevicecontext.html:15 +#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669 +#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637 +#: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "虚拟设备上下文" -#: dcim/filtersets.py:1652 +#: netbox/dcim/filtersets.py:1663 msgid "Virtual Device Context (Identifier)" -msgstr "虚拟设备上下文(标识符)" +msgstr "虚拟设备上下文(ID)" -#: dcim/filtersets.py:1663 templates/wireless/wirelesslan.html:11 -#: wireless/forms/model_forms.py:53 +#: netbox/dcim/filtersets.py:1674 +#: netbox/templates/wireless/wirelesslan.html:11 +#: netbox/wireless/forms/model_forms.py:53 msgid "Wireless LAN" msgstr "无线局域网" -#: dcim/filtersets.py:1667 dcim/tables/devices.py:609 +#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597 msgid "Wireless link" -msgstr "无线链接" +msgstr "无线连接" -#: dcim/filtersets.py:1737 +#: netbox/dcim/filtersets.py:1748 msgid "Installed module (ID)" -msgstr "已安装的模块 (ID)" +msgstr "已安装模块(ID)" -#: dcim/filtersets.py:1748 +#: netbox/dcim/filtersets.py:1759 msgid "Installed device (ID)" -msgstr "已安装的设备 (ID)" +msgstr "已安装设备(ID)" -#: dcim/filtersets.py:1754 +#: netbox/dcim/filtersets.py:1765 msgid "Installed device (name)" -msgstr "已安装的设备(名称)" +msgstr "已安装设备(名称)" -#: dcim/filtersets.py:1820 +#: netbox/dcim/filtersets.py:1831 msgid "Master (ID)" -msgstr "大师 (ID)" +msgstr "主设备(ID)" -#: dcim/filtersets.py:1826 +#: netbox/dcim/filtersets.py:1837 msgid "Master (name)" -msgstr "主人(姓名)" +msgstr "主设备(名称)" -#: dcim/filtersets.py:1868 tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246 msgid "Tenant (ID)" -msgstr "租户 (ID)" +msgstr "租户(ID)" -#: dcim/filtersets.py:1874 extras/filtersets.py:570 tenancy/filtersets.py:252 +#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570 +#: netbox/tenancy/filtersets.py:252 msgid "Tenant (slug)" -msgstr "租户(slug)" +msgstr "租户(缩写)" -#: dcim/filtersets.py:1910 dcim/forms/filtersets.py:996 +#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008 msgid "Unterminated" -msgstr "未终止" +msgstr "未接终端" -#: dcim/filtersets.py:2168 +#: netbox/dcim/filtersets.py:2179 msgid "Power panel (ID)" -msgstr "电源面板 (ID)" +msgstr "电源面板(ID)" -#: dcim/forms/bulk_create.py:40 extras/forms/filtersets.py:410 -#: extras/forms/model_forms.py:443 extras/forms/model_forms.py:495 -#: netbox/forms/base.py:84 netbox/forms/mixins.py:81 -#: netbox/tables/columns.py:458 -#: templates/circuits/inc/circuit_termination.html:32 -#: templates/generic/bulk_edit.html:65 templates/inc/panels/tags.html:5 -#: utilities/forms/fields/fields.py:81 +#: netbox/dcim/forms/bulk_create.py:40 netbox/extras/forms/filtersets.py:410 +#: netbox/extras/forms/model_forms.py:443 +#: netbox/extras/forms/model_forms.py:495 netbox/netbox/forms/base.py:84 +#: netbox/netbox/forms/mixins.py:81 netbox/netbox/tables/columns.py:461 +#: netbox/templates/circuits/inc/circuit_termination.html:32 +#: netbox/templates/generic/bulk_edit.html:65 +#: netbox/templates/inc/panels/tags.html:5 +#: netbox/utilities/forms/fields/fields.py:81 msgid "Tags" msgstr "标签" -#: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1396 -#: dcim/forms/model_forms.py:431 dcim/forms/model_forms.py:486 -#: dcim/forms/object_create.py:197 dcim/forms/object_create.py:353 -#: dcim/tables/devices.py:170 dcim/tables/devices.py:702 -#: dcim/tables/devicetypes.py:242 templates/dcim/device.html:42 -#: templates/dcim/device.html:129 templates/dcim/modulebay.html:34 -#: templates/dcim/virtualchassis.html:66 -#: templates/dcim/virtualchassis_edit.html:55 +#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408 +#: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489 +#: netbox/dcim/forms/object_create.py:197 +#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162 +#: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242 +#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 +#: netbox/templates/dcim/modulebay.html:34 +#: netbox/templates/dcim/virtualchassis.html:66 +#: netbox/templates/dcim/virtualchassis_edit.html:55 msgid "Position" msgstr "位置" -#: dcim/forms/bulk_create.py:114 +#: netbox/dcim/forms/bulk_create.py:114 msgid "" "Alphanumeric ranges are supported. (Must match the number of names being " "created.)" -msgstr "支持字母数字范围。(必须与正在创建的名称数量相匹配。)" +msgstr "支持字母和数字。(必须与正在创建的名称数相匹配)" -#: dcim/forms/bulk_edit.py:116 dcim/forms/bulk_import.py:99 -#: dcim/forms/model_forms.py:116 dcim/tables/sites.py:89 -#: ipam/filtersets.py:985 ipam/forms/bulk_edit.py:531 -#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:526 -#: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221 -#: templates/dcim/interface.html:284 templates/dcim/site.html:36 -#: templates/ipam/inc/panels/fhrp_groups.html:23 templates/ipam/vlan.html:27 -#: templates/tenancy/contact.html:21 templates/tenancy/tenant.html:20 -#: templates/users/group.html:6 templates/users/group.html:14 -#: templates/virtualization/cluster.html:29 templates/vpn/tunnel.html:29 -#: templates/wireless/wirelesslan.html:18 tenancy/forms/bulk_edit.py:43 -#: tenancy/forms/bulk_edit.py:94 tenancy/forms/bulk_import.py:40 -#: tenancy/forms/bulk_import.py:81 tenancy/forms/filtersets.py:48 -#: tenancy/forms/filtersets.py:78 tenancy/forms/filtersets.py:97 -#: tenancy/forms/model_forms.py:45 tenancy/forms/model_forms.py:97 -#: tenancy/forms/model_forms.py:122 tenancy/tables/contacts.py:60 -#: tenancy/tables/contacts.py:107 tenancy/tables/tenants.py:42 -#: users/filtersets.py:57 users/filtersets.py:175 users/forms/filtersets.py:32 -#: users/forms/filtersets.py:38 users/forms/filtersets.py:80 -#: virtualization/forms/bulk_edit.py:65 virtualization/forms/bulk_import.py:47 -#: virtualization/forms/filtersets.py:85 -#: virtualization/forms/model_forms.py:66 virtualization/tables/clusters.py:70 -#: vpn/forms/bulk_edit.py:112 vpn/forms/bulk_import.py:158 -#: vpn/forms/filtersets.py:116 vpn/tables/crypto.py:31 -#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:48 -#: wireless/forms/bulk_import.py:36 wireless/forms/filtersets.py:46 -#: wireless/forms/model_forms.py:40 wireless/tables/wirelesslan.py:48 +#: netbox/dcim/forms/bulk_edit.py:116 netbox/dcim/forms/bulk_import.py:99 +#: netbox/dcim/forms/model_forms.py:116 netbox/dcim/tables/sites.py:89 +#: netbox/ipam/filtersets.py:985 netbox/ipam/forms/bulk_edit.py:531 +#: netbox/ipam/forms/bulk_import.py:444 netbox/ipam/forms/model_forms.py:526 +#: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:118 +#: netbox/ipam/tables/vlans.py:221 netbox/templates/dcim/interface.html:284 +#: netbox/templates/dcim/site.html:37 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:23 +#: netbox/templates/ipam/vlan.html:27 netbox/templates/tenancy/contact.html:21 +#: netbox/templates/tenancy/tenant.html:20 netbox/templates/users/group.html:6 +#: netbox/templates/users/group.html:14 +#: netbox/templates/virtualization/cluster.html:29 +#: netbox/templates/vpn/tunnel.html:29 +#: netbox/templates/wireless/wirelesslan.html:18 +#: netbox/tenancy/forms/bulk_edit.py:43 netbox/tenancy/forms/bulk_edit.py:94 +#: netbox/tenancy/forms/bulk_import.py:40 +#: netbox/tenancy/forms/bulk_import.py:81 +#: netbox/tenancy/forms/filtersets.py:48 netbox/tenancy/forms/filtersets.py:78 +#: netbox/tenancy/forms/filtersets.py:97 +#: netbox/tenancy/forms/model_forms.py:45 +#: netbox/tenancy/forms/model_forms.py:97 +#: netbox/tenancy/forms/model_forms.py:122 +#: netbox/tenancy/tables/contacts.py:60 netbox/tenancy/tables/contacts.py:107 +#: netbox/tenancy/tables/tenants.py:42 netbox/users/filtersets.py:57 +#: netbox/users/filtersets.py:175 netbox/users/forms/filtersets.py:32 +#: netbox/users/forms/filtersets.py:38 netbox/users/forms/filtersets.py:80 +#: netbox/virtualization/forms/bulk_edit.py:65 +#: netbox/virtualization/forms/bulk_import.py:47 +#: netbox/virtualization/forms/filtersets.py:85 +#: netbox/virtualization/forms/model_forms.py:66 +#: netbox/virtualization/tables/clusters.py:70 +#: netbox/vpn/forms/bulk_edit.py:112 netbox/vpn/forms/bulk_import.py:158 +#: netbox/vpn/forms/filtersets.py:116 netbox/vpn/tables/crypto.py:31 +#: netbox/vpn/tables/tunnels.py:44 netbox/wireless/forms/bulk_edit.py:48 +#: netbox/wireless/forms/bulk_import.py:36 +#: netbox/wireless/forms/filtersets.py:46 +#: netbox/wireless/forms/model_forms.py:40 +#: netbox/wireless/tables/wirelesslan.py:48 msgid "Group" -msgstr "小组" +msgstr "组" -#: dcim/forms/bulk_edit.py:131 +#: netbox/dcim/forms/bulk_edit.py:131 msgid "Contact name" -msgstr "联系人姓名" +msgstr "联系人名字" -#: dcim/forms/bulk_edit.py:136 +#: netbox/dcim/forms/bulk_edit.py:136 msgid "Contact phone" -msgstr "联系电话" +msgstr "联系人手机" -#: dcim/forms/bulk_edit.py:142 +#: netbox/dcim/forms/bulk_edit.py:142 msgid "Contact E-mail" -msgstr "联系人邮箱" +msgstr "联系人电子邮箱" -#: dcim/forms/bulk_edit.py:145 dcim/forms/bulk_import.py:122 -#: dcim/forms/model_forms.py:127 +#: netbox/dcim/forms/bulk_edit.py:145 netbox/dcim/forms/bulk_import.py:122 +#: netbox/dcim/forms/model_forms.py:127 msgid "Time zone" msgstr "时区" -#: dcim/forms/bulk_edit.py:267 dcim/forms/bulk_edit.py:1160 -#: dcim/forms/bulk_edit.py:1548 dcim/forms/bulk_import.py:207 -#: dcim/forms/bulk_import.py:1021 dcim/forms/filtersets.py:300 -#: dcim/forms/filtersets.py:706 dcim/forms/filtersets.py:1426 -#: dcim/forms/model_forms.py:219 dcim/forms/model_forms.py:1015 -#: dcim/forms/model_forms.py:1454 dcim/forms/object_import.py:181 -#: dcim/tables/devices.py:174 dcim/tables/devices.py:810 -#: dcim/tables/devices.py:921 dcim/tables/devicetypes.py:300 -#: dcim/tables/racks.py:69 extras/filtersets.py:504 -#: ipam/forms/bulk_edit.py:246 ipam/forms/bulk_edit.py:295 -#: ipam/forms/bulk_edit.py:343 ipam/forms/bulk_edit.py:549 -#: ipam/forms/bulk_import.py:196 ipam/forms/bulk_import.py:261 -#: ipam/forms/bulk_import.py:297 ipam/forms/bulk_import.py:463 -#: ipam/forms/filtersets.py:237 ipam/forms/filtersets.py:289 -#: ipam/forms/filtersets.py:360 ipam/forms/filtersets.py:516 -#: ipam/forms/model_forms.py:186 ipam/forms/model_forms.py:219 -#: ipam/forms/model_forms.py:248 ipam/forms/model_forms.py:689 -#: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363 -#: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230 -#: templates/dcim/device.html:179 -#: templates/dcim/inc/panels/inventory_items.html:20 -#: templates/dcim/interface.html:223 templates/dcim/inventoryitem.html:36 -#: templates/dcim/rack.html:47 templates/ipam/ipaddress.html:41 -#: templates/ipam/iprange.html:50 templates/ipam/prefix.html:77 -#: templates/ipam/role.html:19 templates/ipam/vlan.html:52 -#: templates/virtualization/virtualmachine.html:23 -#: templates/vpn/tunneltermination.html:17 -#: templates/wireless/inc/wirelesslink_interface.html:20 -#: tenancy/forms/bulk_edit.py:142 tenancy/forms/filtersets.py:107 -#: tenancy/forms/model_forms.py:137 tenancy/tables/contacts.py:102 -#: virtualization/forms/bulk_edit.py:145 -#: virtualization/forms/bulk_import.py:106 -#: virtualization/forms/filtersets.py:157 -#: virtualization/forms/model_forms.py:195 -#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:87 -#: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:85 -#: vpn/forms/model_forms.py:78 vpn/forms/model_forms.py:113 -#: vpn/tables/tunnels.py:82 +#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160 +#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204 +#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301 +#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438 +#: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018 +#: netbox/dcim/forms/model_forms.py:1457 +#: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166 +#: netbox/dcim/tables/devices.py:792 netbox/dcim/tables/devices.py:903 +#: netbox/dcim/tables/devicetypes.py:300 netbox/dcim/tables/racks.py:69 +#: netbox/extras/filtersets.py:504 netbox/ipam/forms/bulk_edit.py:246 +#: netbox/ipam/forms/bulk_edit.py:295 netbox/ipam/forms/bulk_edit.py:343 +#: netbox/ipam/forms/bulk_edit.py:549 netbox/ipam/forms/bulk_import.py:196 +#: netbox/ipam/forms/bulk_import.py:261 netbox/ipam/forms/bulk_import.py:297 +#: netbox/ipam/forms/bulk_import.py:463 netbox/ipam/forms/filtersets.py:237 +#: netbox/ipam/forms/filtersets.py:289 netbox/ipam/forms/filtersets.py:360 +#: netbox/ipam/forms/filtersets.py:516 netbox/ipam/forms/model_forms.py:186 +#: netbox/ipam/forms/model_forms.py:219 netbox/ipam/forms/model_forms.py:248 +#: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257 +#: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363 +#: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230 +#: netbox/templates/dcim/device.html:182 +#: netbox/templates/dcim/inc/panels/inventory_items.html:20 +#: netbox/templates/dcim/interface.html:223 +#: netbox/templates/dcim/inventoryitem.html:36 +#: netbox/templates/dcim/rack.html:47 netbox/templates/ipam/ipaddress.html:41 +#: netbox/templates/ipam/iprange.html:50 netbox/templates/ipam/prefix.html:77 +#: netbox/templates/ipam/role.html:19 netbox/templates/ipam/vlan.html:52 +#: netbox/templates/virtualization/virtualmachine.html:23 +#: netbox/templates/vpn/tunneltermination.html:17 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:20 +#: netbox/tenancy/forms/bulk_edit.py:142 +#: netbox/tenancy/forms/filtersets.py:107 +#: netbox/tenancy/forms/model_forms.py:137 +#: netbox/tenancy/tables/contacts.py:102 +#: netbox/virtualization/forms/bulk_edit.py:145 +#: netbox/virtualization/forms/bulk_import.py:106 +#: netbox/virtualization/forms/filtersets.py:157 +#: netbox/virtualization/forms/model_forms.py:195 +#: netbox/virtualization/tables/virtualmachines.py:74 +#: netbox/vpn/forms/bulk_edit.py:87 netbox/vpn/forms/bulk_import.py:81 +#: netbox/vpn/forms/filtersets.py:85 netbox/vpn/forms/model_forms.py:78 +#: netbox/vpn/forms/model_forms.py:113 netbox/vpn/tables/tunnels.py:82 msgid "Role" msgstr "角色" -#: dcim/forms/bulk_edit.py:274 dcim/forms/bulk_edit.py:610 -#: dcim/forms/bulk_edit.py:662 templates/dcim/device.html:103 -#: templates/dcim/module.html:74 templates/dcim/modulebay.html:66 -#: templates/dcim/rack.html:55 +#: netbox/dcim/forms/bulk_edit.py:274 netbox/dcim/forms/bulk_edit.py:610 +#: netbox/dcim/forms/bulk_edit.py:662 netbox/templates/dcim/device.html:104 +#: netbox/templates/dcim/module.html:74 +#: netbox/templates/dcim/modulebay.html:66 netbox/templates/dcim/rack.html:55 msgid "Serial Number" msgstr "序列号" -#: dcim/forms/bulk_edit.py:277 dcim/forms/filtersets.py:307 -#: dcim/forms/filtersets.py:742 dcim/forms/filtersets.py:886 -#: dcim/forms/filtersets.py:1438 +#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308 +#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898 +#: netbox/dcim/forms/filtersets.py:1450 msgid "Asset tag" msgstr "资产标签" -#: dcim/forms/bulk_edit.py:287 dcim/forms/bulk_import.py:220 -#: dcim/forms/filtersets.py:292 templates/dcim/rack.html:86 +#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86 msgid "Width" msgstr "宽度" -#: dcim/forms/bulk_edit.py:293 templates/dcim/devicetype.html:37 +#: netbox/dcim/forms/bulk_edit.py:293 netbox/templates/dcim/devicetype.html:37 msgid "Height (U)" -msgstr "身高 (U)" +msgstr "高度(U)" -#: dcim/forms/bulk_edit.py:298 +#: netbox/dcim/forms/bulk_edit.py:298 msgid "Descending units" -msgstr "降序单位" +msgstr "U位显示降序" -#: dcim/forms/bulk_edit.py:301 +#: netbox/dcim/forms/bulk_edit.py:301 msgid "Outer width" msgstr "外部宽度" -#: dcim/forms/bulk_edit.py:306 +#: netbox/dcim/forms/bulk_edit.py:306 msgid "Outer depth" -msgstr "外层深度" +msgstr "外部深度" -#: dcim/forms/bulk_edit.py:311 dcim/forms/bulk_import.py:225 +#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222 msgid "Outer unit" msgstr "外部单元" -#: dcim/forms/bulk_edit.py:316 +#: netbox/dcim/forms/bulk_edit.py:316 msgid "Mounting depth" msgstr "安装深度" -#: dcim/forms/bulk_edit.py:321 dcim/forms/bulk_edit.py:351 -#: dcim/forms/bulk_edit.py:436 dcim/forms/bulk_edit.py:459 -#: dcim/forms/bulk_edit.py:475 dcim/forms/bulk_edit.py:495 -#: dcim/forms/bulk_import.py:332 dcim/forms/bulk_import.py:358 -#: dcim/forms/filtersets.py:251 dcim/forms/filtersets.py:312 -#: dcim/forms/filtersets.py:336 dcim/forms/filtersets.py:423 -#: dcim/forms/filtersets.py:529 dcim/forms/filtersets.py:548 -#: dcim/forms/filtersets.py:604 dcim/forms/model_forms.py:232 -#: dcim/forms/model_forms.py:346 dcim/tables/devicetypes.py:103 -#: dcim/tables/modules.py:35 dcim/tables/racks.py:103 -#: extras/forms/bulk_edit.py:45 extras/forms/bulk_edit.py:108 -#: extras/forms/bulk_edit.py:158 extras/forms/bulk_edit.py:278 -#: extras/forms/filtersets.py:61 extras/forms/filtersets.py:134 -#: extras/forms/filtersets.py:221 ipam/forms/bulk_edit.py:188 -#: templates/dcim/device.html:316 templates/dcim/devicetype.html:49 -#: templates/dcim/moduletype.html:30 templates/extras/configcontext.html:17 -#: templates/extras/customlink.html:25 templates/extras/savedfilter.html:33 -#: templates/ipam/role.html:30 +#: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351 +#: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459 +#: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495 +#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355 +#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313 +#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424 +#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549 +#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232 +#: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103 +#: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108 +#: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278 +#: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134 +#: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188 +#: netbox/templates/dcim/device.html:324 +#: netbox/templates/dcim/devicetype.html:49 +#: netbox/templates/dcim/moduletype.html:30 +#: netbox/templates/extras/configcontext.html:17 +#: netbox/templates/extras/customlink.html:25 +#: netbox/templates/extras/savedfilter.html:33 +#: netbox/templates/ipam/role.html:30 msgid "Weight" msgstr "重量" -#: dcim/forms/bulk_edit.py:326 dcim/forms/filtersets.py:317 +#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318 msgid "Max weight" -msgstr "最大重量" +msgstr "最大承重" -#: dcim/forms/bulk_edit.py:331 dcim/forms/bulk_edit.py:441 -#: dcim/forms/bulk_edit.py:480 dcim/forms/bulk_import.py:231 -#: dcim/forms/bulk_import.py:337 dcim/forms/bulk_import.py:363 -#: dcim/forms/filtersets.py:322 dcim/forms/filtersets.py:533 -#: dcim/forms/filtersets.py:608 +#: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441 +#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534 +#: netbox/dcim/forms/filtersets.py:609 msgid "Weight unit" msgstr "重量单位" -#: dcim/forms/bulk_edit.py:345 dcim/forms/bulk_edit.py:808 -#: dcim/forms/bulk_import.py:270 dcim/forms/bulk_import.py:273 -#: dcim/forms/bulk_import.py:498 dcim/forms/bulk_import.py:1309 -#: dcim/forms/bulk_import.py:1313 dcim/forms/filtersets.py:102 -#: dcim/forms/filtersets.py:340 dcim/forms/filtersets.py:354 -#: dcim/forms/filtersets.py:392 dcim/forms/filtersets.py:701 -#: dcim/forms/filtersets.py:954 dcim/forms/filtersets.py:1086 -#: dcim/forms/model_forms.py:226 dcim/forms/model_forms.py:248 -#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:700 -#: dcim/forms/object_create.py:400 dcim/tables/devices.py:166 -#: dcim/tables/power.py:70 dcim/tables/racks.py:148 -#: ipam/forms/bulk_edit.py:465 ipam/forms/filtersets.py:442 -#: ipam/forms/model_forms.py:610 templates/dcim/device.html:29 -#: templates/dcim/inc/cable_termination.html:16 -#: templates/dcim/powerfeed.html:28 templates/dcim/rack.html:13 -#: templates/dcim/rack/base.html:4 templates/dcim/rackreservation.html:19 -#: templates/dcim/rackreservation.html:36 -#: virtualization/forms/model_forms.py:113 +#: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808 +#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270 +#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297 +#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103 +#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355 +#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703 +#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098 +#: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248 +#: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703 +#: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158 +#: netbox/dcim/tables/power.py:70 netbox/dcim/tables/racks.py:148 +#: netbox/ipam/forms/bulk_edit.py:465 netbox/ipam/forms/filtersets.py:442 +#: netbox/ipam/forms/model_forms.py:610 netbox/templates/dcim/device.html:30 +#: netbox/templates/dcim/inc/cable_termination.html:16 +#: netbox/templates/dcim/powerfeed.html:28 netbox/templates/dcim/rack.html:13 +#: netbox/templates/dcim/rack/base.html:4 +#: netbox/templates/dcim/rackreservation.html:19 +#: netbox/templates/dcim/rackreservation.html:36 +#: netbox/virtualization/forms/model_forms.py:113 msgid "Rack" -msgstr "机架" +msgstr "机柜" -#: dcim/forms/bulk_edit.py:349 dcim/forms/bulk_edit.py:628 -#: dcim/forms/filtersets.py:248 dcim/forms/filtersets.py:333 -#: dcim/forms/filtersets.py:416 dcim/forms/filtersets.py:543 -#: dcim/forms/filtersets.py:651 dcim/forms/filtersets.py:861 -#: dcim/forms/model_forms.py:610 dcim/forms/model_forms.py:1524 -#: templates/dcim/device_edit.html:20 +#: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628 +#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334 +#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544 +#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873 +#: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527 +#: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "硬件" -#: dcim/forms/bulk_edit.py:402 dcim/forms/bulk_edit.py:466 -#: dcim/forms/bulk_edit.py:530 dcim/forms/bulk_edit.py:554 -#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_edit.py:1165 -#: dcim/forms/bulk_edit.py:1553 dcim/forms/bulk_import.py:319 -#: dcim/forms/bulk_import.py:353 dcim/forms/bulk_import.py:395 -#: dcim/forms/bulk_import.py:431 dcim/forms/bulk_import.py:1027 -#: dcim/forms/filtersets.py:429 dcim/forms/filtersets.py:554 -#: dcim/forms/filtersets.py:630 dcim/forms/filtersets.py:711 -#: dcim/forms/filtersets.py:866 dcim/forms/filtersets.py:1431 -#: dcim/forms/model_forms.py:281 dcim/forms/model_forms.py:293 -#: dcim/forms/model_forms.py:339 dcim/forms/model_forms.py:379 -#: dcim/forms/model_forms.py:1020 dcim/forms/model_forms.py:1459 -#: dcim/forms/object_import.py:187 dcim/tables/devices.py:101 -#: dcim/tables/devices.py:177 dcim/tables/devices.py:924 -#: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304 -#: dcim/tables/modules.py:20 dcim/tables/modules.py:60 -#: templates/dcim/devicetype.html:14 templates/dcim/inventoryitem.html:44 -#: templates/dcim/manufacturer.html:33 templates/dcim/modulebay.html:58 -#: templates/dcim/moduletype.html:14 templates/dcim/platform.html:37 +#: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466 +#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554 +#: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165 +#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316 +#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389 +#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021 +#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555 +#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713 +#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443 +#: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293 +#: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379 +#: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462 +#: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:93 +#: netbox/dcim/tables/devices.py:169 netbox/dcim/tables/devices.py:906 +#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:304 +#: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 +#: netbox/templates/dcim/devicetype.html:14 +#: netbox/templates/dcim/inventoryitem.html:44 +#: netbox/templates/dcim/manufacturer.html:33 +#: netbox/templates/dcim/modulebay.html:58 +#: netbox/templates/dcim/moduletype.html:14 +#: netbox/templates/dcim/platform.html:37 msgid "Manufacturer" -msgstr "制造商" +msgstr "厂商" -#: dcim/forms/bulk_edit.py:407 dcim/forms/bulk_import.py:325 -#: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:297 +#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297 msgid "Default platform" -msgstr "默认平台" +msgstr "默认系统平台" -#: dcim/forms/bulk_edit.py:412 dcim/forms/bulk_edit.py:471 -#: dcim/forms/filtersets.py:437 dcim/forms/filtersets.py:557 +#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471 +#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558 msgid "Part number" -msgstr "零件号" +msgstr "部件编码(PN)" -#: dcim/forms/bulk_edit.py:416 +#: netbox/dcim/forms/bulk_edit.py:416 msgid "U height" -msgstr "U 形高度" +msgstr "U高度" -#: dcim/forms/bulk_edit.py:428 +#: netbox/dcim/forms/bulk_edit.py:428 msgid "Exclude from utilization" -msgstr "排除在使用范围之外" +msgstr "从利用率中排除" -#: dcim/forms/bulk_edit.py:431 dcim/forms/bulk_edit.py:603 -#: dcim/forms/bulk_import.py:525 dcim/forms/filtersets.py:446 -#: dcim/forms/filtersets.py:733 templates/dcim/device.html:97 -#: templates/dcim/devicetype.html:65 +#: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603 +#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447 +#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98 +#: netbox/templates/dcim/devicetype.html:65 msgid "Airflow" -msgstr "气流" +msgstr "气流方向" -#: dcim/forms/bulk_edit.py:457 dcim/forms/model_forms.py:312 -#: dcim/tables/devicetypes.py:78 templates/dcim/device.html:87 -#: templates/dcim/devicebay.html:52 templates/dcim/module.html:58 +#: netbox/dcim/forms/bulk_edit.py:457 netbox/dcim/forms/model_forms.py:312 +#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/templates/dcim/devicebay.html:52 +#: netbox/templates/dcim/module.html:58 msgid "Device Type" -msgstr "设备类型" +msgstr "设备型号" -#: dcim/forms/bulk_edit.py:494 dcim/forms/model_forms.py:345 -#: dcim/tables/modules.py:17 dcim/tables/modules.py:65 -#: templates/dcim/module.html:62 templates/dcim/modulebay.html:62 -#: templates/dcim/moduletype.html:11 +#: netbox/dcim/forms/bulk_edit.py:494 netbox/dcim/forms/model_forms.py:345 +#: netbox/dcim/tables/modules.py:17 netbox/dcim/tables/modules.py:65 +#: netbox/templates/dcim/module.html:62 +#: netbox/templates/dcim/modulebay.html:62 +#: netbox/templates/dcim/moduletype.html:11 msgid "Module Type" -msgstr "模块类型" +msgstr "设备配件类型" -#: dcim/forms/bulk_edit.py:508 dcim/models/devices.py:474 +#: netbox/dcim/forms/bulk_edit.py:508 netbox/dcim/models/devices.py:474 msgid "VM role" -msgstr "虚拟机角色" +msgstr "VM 角色" -#: dcim/forms/bulk_edit.py:511 dcim/forms/bulk_edit.py:535 -#: dcim/forms/bulk_edit.py:618 dcim/forms/bulk_import.py:376 -#: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:402 -#: dcim/forms/bulk_import.py:406 dcim/forms/bulk_import.py:531 -#: dcim/forms/bulk_import.py:535 dcim/forms/filtersets.py:619 -#: dcim/forms/filtersets.py:635 dcim/forms/filtersets.py:752 -#: dcim/forms/model_forms.py:358 dcim/forms/model_forms.py:384 -#: dcim/forms/model_forms.py:495 virtualization/forms/bulk_import.py:132 -#: virtualization/forms/bulk_import.py:133 -#: virtualization/forms/filtersets.py:184 -#: virtualization/forms/model_forms.py:215 +#: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535 +#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373 +#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396 +#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525 +#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620 +#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754 +#: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384 +#: netbox/dcim/forms/model_forms.py:498 +#: netbox/virtualization/forms/bulk_import.py:132 +#: netbox/virtualization/forms/bulk_import.py:133 +#: netbox/virtualization/forms/filtersets.py:184 +#: netbox/virtualization/forms/model_forms.py:215 msgid "Config template" -msgstr "配置模板" +msgstr "配置模版" -#: dcim/forms/bulk_edit.py:559 dcim/forms/bulk_edit.py:959 -#: dcim/forms/bulk_import.py:437 dcim/forms/filtersets.py:112 -#: dcim/forms/model_forms.py:444 dcim/forms/model_forms.py:817 -#: dcim/forms/model_forms.py:834 extras/filtersets.py:499 +#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959 +#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113 +#: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820 +#: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499 msgid "Device type" -msgstr "设备类型" +msgstr "设备型号" -#: dcim/forms/bulk_edit.py:570 dcim/forms/bulk_import.py:418 -#: dcim/forms/filtersets.py:117 dcim/forms/model_forms.py:452 +#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412 +#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452 msgid "Device role" msgstr "设备角色" -#: dcim/forms/bulk_edit.py:593 dcim/forms/bulk_import.py:443 -#: dcim/forms/filtersets.py:725 dcim/forms/model_forms.py:394 -#: dcim/forms/model_forms.py:456 dcim/tables/devices.py:187 -#: extras/filtersets.py:515 templates/dcim/device.html:183 -#: templates/dcim/platform.html:26 -#: templates/virtualization/virtualmachine.html:27 -#: virtualization/forms/bulk_edit.py:160 -#: virtualization/forms/bulk_import.py:122 -#: virtualization/forms/filtersets.py:168 -#: virtualization/forms/model_forms.py:203 -#: virtualization/tables/virtualmachines.py:78 +#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437 +#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394 +#: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179 +#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186 +#: netbox/templates/dcim/platform.html:26 +#: netbox/templates/virtualization/virtualmachine.html:27 +#: netbox/virtualization/forms/bulk_edit.py:160 +#: netbox/virtualization/forms/bulk_import.py:122 +#: netbox/virtualization/forms/filtersets.py:168 +#: netbox/virtualization/forms/model_forms.py:203 +#: netbox/virtualization/tables/virtualmachines.py:78 msgid "Platform" msgstr "平台" -#: dcim/forms/bulk_edit.py:626 dcim/forms/bulk_edit.py:1179 -#: dcim/forms/bulk_edit.py:1543 dcim/forms/bulk_edit.py:1589 -#: dcim/forms/bulk_import.py:586 dcim/forms/bulk_import.py:648 -#: dcim/forms/bulk_import.py:674 dcim/forms/bulk_import.py:700 -#: dcim/forms/bulk_import.py:720 dcim/forms/bulk_import.py:773 -#: dcim/forms/bulk_import.py:891 dcim/forms/bulk_import.py:939 -#: dcim/forms/bulk_import.py:956 dcim/forms/bulk_import.py:968 -#: dcim/forms/bulk_import.py:1016 dcim/forms/bulk_import.py:1373 -#: dcim/forms/connections.py:24 dcim/forms/filtersets.py:129 -#: dcim/forms/filtersets.py:840 dcim/forms/filtersets.py:970 -#: dcim/forms/filtersets.py:1160 dcim/forms/filtersets.py:1182 -#: dcim/forms/filtersets.py:1204 dcim/forms/filtersets.py:1221 -#: dcim/forms/filtersets.py:1241 dcim/forms/filtersets.py:1349 -#: dcim/forms/filtersets.py:1371 dcim/forms/filtersets.py:1392 -#: dcim/forms/filtersets.py:1407 dcim/forms/filtersets.py:1421 -#: dcim/forms/filtersets.py:1484 dcim/forms/filtersets.py:1508 -#: dcim/forms/filtersets.py:1532 dcim/forms/model_forms.py:573 -#: dcim/forms/model_forms.py:794 dcim/forms/model_forms.py:1153 -#: dcim/forms/model_forms.py:1608 dcim/forms/object_create.py:257 -#: dcim/tables/connections.py:22 dcim/tables/connections.py:41 -#: dcim/tables/connections.py:60 dcim/tables/devices.py:290 -#: dcim/tables/devices.py:359 dcim/tables/devices.py:403 -#: dcim/tables/devices.py:448 dcim/tables/devices.py:502 -#: dcim/tables/devices.py:594 dcim/tables/devices.py:692 -#: dcim/tables/devices.py:752 dcim/tables/devices.py:802 -#: dcim/tables/devices.py:862 dcim/tables/devices.py:914 -#: dcim/tables/devices.py:1040 dcim/tables/modules.py:52 -#: extras/forms/filtersets.py:330 ipam/forms/bulk_import.py:303 -#: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:558 -#: ipam/forms/model_forms.py:317 ipam/forms/model_forms.py:725 -#: ipam/forms/model_forms.py:758 ipam/forms/model_forms.py:784 -#: ipam/tables/vlans.py:176 templates/dcim/consoleport.html:20 -#: templates/dcim/consoleserverport.html:20 templates/dcim/device.html:14 -#: templates/dcim/device.html:128 templates/dcim/device_edit.html:10 -#: templates/dcim/devicebay.html:20 templates/dcim/devicebay.html:48 -#: templates/dcim/frontport.html:20 templates/dcim/interface.html:30 -#: templates/dcim/interface.html:161 templates/dcim/inventoryitem.html:20 -#: templates/dcim/module.html:54 templates/dcim/modulebay.html:20 -#: templates/dcim/poweroutlet.html:20 templates/dcim/powerport.html:20 -#: templates/dcim/rearport.html:20 templates/dcim/virtualchassis.html:65 -#: templates/dcim/virtualchassis_edit.html:51 -#: templates/dcim/virtualdevicecontext.html:22 -#: templates/virtualization/virtualmachine.html:110 -#: templates/vpn/tunneltermination.html:23 -#: templates/wireless/inc/wirelesslink_interface.html:6 -#: virtualization/filtersets.py:167 virtualization/forms/bulk_edit.py:137 -#: virtualization/forms/bulk_import.py:99 -#: virtualization/forms/filtersets.py:128 -#: virtualization/forms/model_forms.py:185 -#: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44 -#: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283 -#: vpn/forms/filtersets.py:275 vpn/forms/model_forms.py:90 -#: vpn/forms/model_forms.py:125 vpn/forms/model_forms.py:236 -#: vpn/forms/model_forms.py:453 wireless/forms/model_forms.py:99 -#: wireless/forms/model_forms.py:141 wireless/tables/wirelesslan.py:75 +#: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179 +#: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589 +#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642 +#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694 +#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767 +#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933 +#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962 +#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361 +#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130 +#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982 +#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194 +#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233 +#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361 +#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404 +#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433 +#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520 +#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576 +#: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156 +#: netbox/dcim/forms/model_forms.py:1611 +#: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 +#: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 +#: netbox/dcim/tables/devices.py:282 netbox/dcim/tables/devices.py:359 +#: netbox/dcim/tables/devices.py:400 netbox/dcim/tables/devices.py:442 +#: netbox/dcim/tables/devices.py:493 netbox/dcim/tables/devices.py:582 +#: netbox/dcim/tables/devices.py:680 netbox/dcim/tables/devices.py:737 +#: netbox/dcim/tables/devices.py:784 netbox/dcim/tables/devices.py:844 +#: netbox/dcim/tables/devices.py:896 netbox/dcim/tables/devices.py:1022 +#: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:330 +#: netbox/ipam/forms/bulk_import.py:303 netbox/ipam/forms/bulk_import.py:489 +#: netbox/ipam/forms/filtersets.py:558 netbox/ipam/forms/model_forms.py:317 +#: netbox/ipam/forms/model_forms.py:725 netbox/ipam/forms/model_forms.py:758 +#: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176 +#: netbox/templates/dcim/consoleport.html:20 +#: netbox/templates/dcim/consoleserverport.html:20 +#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130 +#: netbox/templates/dcim/device_edit.html:10 +#: netbox/templates/dcim/devicebay.html:20 +#: netbox/templates/dcim/devicebay.html:48 +#: netbox/templates/dcim/frontport.html:20 +#: netbox/templates/dcim/interface.html:30 +#: netbox/templates/dcim/interface.html:161 +#: netbox/templates/dcim/inventoryitem.html:20 +#: netbox/templates/dcim/module.html:54 +#: netbox/templates/dcim/modulebay.html:20 +#: netbox/templates/dcim/poweroutlet.html:20 +#: netbox/templates/dcim/powerport.html:20 +#: netbox/templates/dcim/rearport.html:20 +#: netbox/templates/dcim/virtualchassis.html:65 +#: netbox/templates/dcim/virtualchassis_edit.html:51 +#: netbox/templates/dcim/virtualdevicecontext.html:22 +#: netbox/templates/virtualization/virtualmachine.html:110 +#: netbox/templates/vpn/tunneltermination.html:23 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:6 +#: netbox/virtualization/filtersets.py:167 +#: netbox/virtualization/forms/bulk_edit.py:137 +#: netbox/virtualization/forms/bulk_import.py:99 +#: netbox/virtualization/forms/filtersets.py:128 +#: netbox/virtualization/forms/model_forms.py:185 +#: netbox/virtualization/tables/virtualmachines.py:70 netbox/vpn/choices.py:44 +#: netbox/vpn/forms/bulk_import.py:86 netbox/vpn/forms/bulk_import.py:283 +#: netbox/vpn/forms/filtersets.py:275 netbox/vpn/forms/model_forms.py:90 +#: netbox/vpn/forms/model_forms.py:125 netbox/vpn/forms/model_forms.py:236 +#: netbox/vpn/forms/model_forms.py:453 netbox/wireless/forms/model_forms.py:99 +#: netbox/wireless/forms/model_forms.py:141 +#: netbox/wireless/tables/wirelesslan.py:75 msgid "Device" msgstr "设备" -#: dcim/forms/bulk_edit.py:629 templates/extras/dashboard/widget_config.html:7 -#: virtualization/forms/bulk_edit.py:191 +#: netbox/dcim/forms/bulk_edit.py:629 +#: netbox/templates/extras/dashboard/widget_config.html:7 +#: netbox/virtualization/forms/bulk_edit.py:191 msgid "Configuration" msgstr "配置" -#: dcim/forms/bulk_edit.py:643 dcim/forms/bulk_import.py:598 -#: dcim/forms/model_forms.py:587 dcim/forms/model_forms.py:842 +#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592 +#: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845 msgid "Module type" msgstr "模块类型" -#: dcim/forms/bulk_edit.py:697 dcim/forms/bulk_edit.py:882 -#: dcim/forms/bulk_edit.py:901 dcim/forms/bulk_edit.py:924 -#: dcim/forms/bulk_edit.py:966 dcim/forms/bulk_edit.py:1010 -#: dcim/forms/bulk_edit.py:1061 dcim/forms/bulk_edit.py:1088 -#: dcim/forms/bulk_edit.py:1115 dcim/forms/bulk_edit.py:1133 -#: dcim/forms/bulk_edit.py:1151 dcim/forms/filtersets.py:65 -#: dcim/forms/object_create.py:46 templates/dcim/cable.html:32 -#: templates/dcim/consoleport.html:32 templates/dcim/consoleserverport.html:32 -#: templates/dcim/devicebay.html:28 templates/dcim/frontport.html:32 -#: templates/dcim/inc/panels/inventory_items.html:19 -#: templates/dcim/interface.html:42 templates/dcim/inventoryitem.html:32 -#: templates/dcim/modulebay.html:30 templates/dcim/poweroutlet.html:32 -#: templates/dcim/powerport.html:32 templates/dcim/rearport.html:32 -#: templates/extras/customfield.html:26 templates/generic/bulk_import.html:162 +#: netbox/dcim/forms/bulk_edit.py:697 netbox/dcim/forms/bulk_edit.py:882 +#: netbox/dcim/forms/bulk_edit.py:901 netbox/dcim/forms/bulk_edit.py:924 +#: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010 +#: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088 +#: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133 +#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66 +#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32 +#: netbox/templates/dcim/consoleport.html:32 +#: netbox/templates/dcim/consoleserverport.html:32 +#: netbox/templates/dcim/devicebay.html:28 +#: netbox/templates/dcim/frontport.html:32 +#: netbox/templates/dcim/inc/panels/inventory_items.html:19 +#: netbox/templates/dcim/interface.html:42 +#: netbox/templates/dcim/inventoryitem.html:32 +#: netbox/templates/dcim/modulebay.html:30 +#: netbox/templates/dcim/poweroutlet.html:32 +#: netbox/templates/dcim/powerport.html:32 +#: netbox/templates/dcim/rearport.html:32 +#: netbox/templates/extras/customfield.html:26 +#: netbox/templates/generic/bulk_import.html:162 msgid "Label" -msgstr "标签" +msgstr "标记" -#: dcim/forms/bulk_edit.py:706 dcim/forms/filtersets.py:987 -#: templates/dcim/cable.html:50 +#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999 +#: netbox/templates/dcim/cable.html:50 msgid "Length" msgstr "长度" -#: dcim/forms/bulk_edit.py:711 dcim/forms/bulk_import.py:1174 -#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:991 +#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165 +#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003 msgid "Length unit" msgstr "长度单位" -#: dcim/forms/bulk_edit.py:735 templates/dcim/virtualchassis.html:23 +#: netbox/dcim/forms/bulk_edit.py:735 +#: netbox/templates/dcim/virtualchassis.html:23 msgid "Domain" msgstr "域" -#: dcim/forms/bulk_edit.py:803 dcim/forms/bulk_import.py:1296 -#: dcim/forms/filtersets.py:1077 dcim/forms/model_forms.py:695 +#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284 +#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698 msgid "Power panel" -msgstr "电源面板" +msgstr "电源面版" -#: dcim/forms/bulk_edit.py:825 dcim/forms/bulk_import.py:1332 -#: dcim/forms/filtersets.py:1099 templates/dcim/powerfeed.html:83 +#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320 +#: netbox/dcim/forms/filtersets.py:1111 +#: netbox/templates/dcim/powerfeed.html:83 msgid "Supply" msgstr "供应" -#: dcim/forms/bulk_edit.py:831 dcim/forms/bulk_import.py:1337 -#: dcim/forms/filtersets.py:1104 templates/dcim/powerfeed.html:95 +#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325 +#: netbox/dcim/forms/filtersets.py:1116 +#: netbox/templates/dcim/powerfeed.html:95 msgid "Phase" -msgstr "阶段" +msgstr "相位" -#: dcim/forms/bulk_edit.py:837 dcim/forms/filtersets.py:1109 -#: templates/dcim/powerfeed.html:87 +#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121 +#: netbox/templates/dcim/powerfeed.html:87 msgid "Voltage" msgstr "电压" -#: dcim/forms/bulk_edit.py:841 dcim/forms/filtersets.py:1113 -#: templates/dcim/powerfeed.html:91 +#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125 +#: netbox/templates/dcim/powerfeed.html:91 msgid "Amperage" -msgstr "安培数" +msgstr "电流" -#: dcim/forms/bulk_edit.py:845 dcim/forms/filtersets.py:1117 +#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129 msgid "Max utilization" msgstr "最大利用率" -#: dcim/forms/bulk_edit.py:934 +#: netbox/dcim/forms/bulk_edit.py:934 msgid "Maximum draw" -msgstr "最大抽奖量" +msgstr "最大功率" -#: dcim/forms/bulk_edit.py:937 dcim/models/device_component_templates.py:256 -#: dcim/models/device_components.py:357 +#: netbox/dcim/forms/bulk_edit.py:937 +#: netbox/dcim/models/device_component_templates.py:256 +#: netbox/dcim/models/device_components.py:357 msgid "Maximum power draw (watts)" -msgstr "最大功耗(瓦特)" +msgstr "最大功率(瓦)" -#: dcim/forms/bulk_edit.py:940 +#: netbox/dcim/forms/bulk_edit.py:940 msgid "Allocated draw" -msgstr "已分配的抽奖" +msgstr "分配功率" -#: dcim/forms/bulk_edit.py:943 dcim/models/device_component_templates.py:263 -#: dcim/models/device_components.py:364 +#: netbox/dcim/forms/bulk_edit.py:943 +#: netbox/dcim/models/device_component_templates.py:263 +#: netbox/dcim/models/device_components.py:364 msgid "Allocated power draw (watts)" -msgstr "分配的功耗(瓦特)" +msgstr "分配功率(瓦)" -#: dcim/forms/bulk_edit.py:976 dcim/forms/bulk_import.py:731 -#: dcim/forms/model_forms.py:898 dcim/forms/model_forms.py:1223 -#: dcim/forms/model_forms.py:1511 dcim/forms/object_import.py:55 +#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725 +#: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226 +#: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55 msgid "Power port" -msgstr "电源端口" +msgstr "电源接口" -#: dcim/forms/bulk_edit.py:981 dcim/forms/bulk_import.py:738 +#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732 msgid "Feed leg" -msgstr "喂腿" +msgstr "馈电线路" -#: dcim/forms/bulk_edit.py:1027 dcim/forms/bulk_edit.py:1333 +#: netbox/dcim/forms/bulk_edit.py:1027 netbox/dcim/forms/bulk_edit.py:1333 msgid "Management only" msgstr "仅限管理" -#: dcim/forms/bulk_edit.py:1037 dcim/forms/bulk_edit.py:1339 -#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1300 -#: dcim/forms/object_import.py:90 -#: dcim/models/device_component_templates.py:411 -#: dcim/models/device_components.py:671 +#: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339 +#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312 +#: netbox/dcim/forms/object_import.py:90 +#: netbox/dcim/models/device_component_templates.py:411 +#: netbox/dcim/models/device_components.py:671 msgid "PoE mode" -msgstr "PoE 模式" +msgstr "PoE模式" -#: dcim/forms/bulk_edit.py:1043 dcim/forms/bulk_edit.py:1345 -#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1305 -#: dcim/forms/object_import.py:95 -#: dcim/models/device_component_templates.py:417 -#: dcim/models/device_components.py:677 +#: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345 +#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317 +#: netbox/dcim/forms/object_import.py:95 +#: netbox/dcim/models/device_component_templates.py:417 +#: netbox/dcim/models/device_components.py:677 msgid "PoE type" -msgstr "PoE 类型" +msgstr "PoE类型" -#: dcim/forms/bulk_edit.py:1049 dcim/forms/filtersets.py:1310 -#: dcim/forms/object_import.py:100 +#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322 +#: netbox/dcim/forms/object_import.py:100 msgid "Wireless role" msgstr "无线角色" -#: dcim/forms/bulk_edit.py:1186 dcim/forms/model_forms.py:609 -#: dcim/forms/model_forms.py:1168 dcim/tables/devices.py:313 -#: templates/dcim/consoleport.html:24 templates/dcim/consoleserverport.html:24 -#: templates/dcim/frontport.html:24 templates/dcim/interface.html:34 -#: templates/dcim/module.html:51 templates/dcim/modulebay.html:54 -#: templates/dcim/poweroutlet.html:24 templates/dcim/powerport.html:24 -#: templates/dcim/rearport.html:24 +#: netbox/dcim/forms/bulk_edit.py:1186 netbox/dcim/forms/model_forms.py:612 +#: netbox/dcim/forms/model_forms.py:1171 netbox/dcim/tables/devices.py:305 +#: netbox/templates/dcim/consoleport.html:24 +#: netbox/templates/dcim/consoleserverport.html:24 +#: netbox/templates/dcim/frontport.html:24 +#: netbox/templates/dcim/interface.html:34 +#: netbox/templates/dcim/module.html:51 +#: netbox/templates/dcim/modulebay.html:54 +#: netbox/templates/dcim/poweroutlet.html:24 +#: netbox/templates/dcim/powerport.html:24 +#: netbox/templates/dcim/rearport.html:24 msgid "Module" msgstr "模块" -#: dcim/forms/bulk_edit.py:1313 dcim/tables/devices.py:661 -#: templates/dcim/interface.html:110 +#: netbox/dcim/forms/bulk_edit.py:1313 netbox/dcim/tables/devices.py:649 +#: netbox/templates/dcim/interface.html:110 msgid "LAG" -msgstr "滞后" +msgstr "链路聚合" -#: dcim/forms/bulk_edit.py:1318 dcim/forms/model_forms.py:1250 +#: netbox/dcim/forms/bulk_edit.py:1318 netbox/dcim/forms/model_forms.py:1253 msgid "Virtual device contexts" -msgstr "虚拟设备上下文" +msgstr "设备虚拟实例" -#: dcim/forms/bulk_edit.py:1324 dcim/forms/bulk_import.py:659 -#: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1169 -#: dcim/forms/filtersets.py:1191 dcim/forms/filtersets.py:1264 -#: dcim/tables/devices.py:606 -#: templates/circuits/inc/circuit_termination_fields.html:67 -#: templates/dcim/consoleport.html:40 templates/dcim/consoleserverport.html:40 +#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653 +#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181 +#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276 +#: netbox/dcim/tables/devices.py:594 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:67 +#: netbox/templates/dcim/consoleport.html:40 +#: netbox/templates/dcim/consoleserverport.html:40 msgid "Speed" -msgstr "速度" +msgstr "速率" -#: dcim/forms/bulk_edit.py:1353 dcim/forms/bulk_import.py:830 -#: templates/vpn/ikepolicy.html:25 templates/vpn/ipsecprofile.html:21 -#: templates/vpn/ipsecprofile.html:48 virtualization/forms/bulk_edit.py:233 -#: virtualization/forms/bulk_import.py:165 vpn/forms/bulk_edit.py:146 -#: vpn/forms/bulk_edit.py:232 vpn/forms/bulk_import.py:176 -#: vpn/forms/bulk_import.py:234 vpn/forms/filtersets.py:135 -#: vpn/forms/filtersets.py:178 vpn/forms/filtersets.py:192 -#: vpn/tables/crypto.py:64 vpn/tables/crypto.py:162 +#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824 +#: netbox/templates/vpn/ikepolicy.html:25 +#: netbox/templates/vpn/ipsecprofile.html:21 +#: netbox/templates/vpn/ipsecprofile.html:48 +#: netbox/virtualization/forms/bulk_edit.py:233 +#: netbox/virtualization/forms/bulk_import.py:165 +#: netbox/vpn/forms/bulk_edit.py:146 netbox/vpn/forms/bulk_edit.py:232 +#: netbox/vpn/forms/bulk_import.py:176 netbox/vpn/forms/bulk_import.py:234 +#: netbox/vpn/forms/filtersets.py:135 netbox/vpn/forms/filtersets.py:178 +#: netbox/vpn/forms/filtersets.py:192 netbox/vpn/tables/crypto.py:64 +#: netbox/vpn/tables/crypto.py:162 msgid "Mode" msgstr "模式" -#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1299 -#: ipam/forms/bulk_import.py:177 ipam/forms/filtersets.py:505 -#: ipam/models/vlans.py:84 virtualization/forms/bulk_edit.py:240 -#: virtualization/forms/model_forms.py:321 +#: netbox/dcim/forms/bulk_edit.py:1361 netbox/dcim/forms/model_forms.py:1302 +#: netbox/ipam/forms/bulk_import.py:177 netbox/ipam/forms/filtersets.py:505 +#: netbox/ipam/models/vlans.py:84 netbox/virtualization/forms/bulk_edit.py:240 +#: netbox/virtualization/forms/model_forms.py:321 msgid "VLAN group" -msgstr "VLAN 组" +msgstr "VLAN group" -#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1304 -#: dcim/tables/devices.py:579 virtualization/forms/bulk_edit.py:248 -#: virtualization/forms/model_forms.py:326 +#: netbox/dcim/forms/bulk_edit.py:1369 netbox/dcim/forms/model_forms.py:1307 +#: netbox/dcim/tables/devices.py:567 +#: netbox/virtualization/forms/bulk_edit.py:248 +#: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" -msgstr "未标记的 VLAN" +msgstr "Untagged VLAN" -#: dcim/forms/bulk_edit.py:1377 dcim/forms/model_forms.py:1313 -#: dcim/tables/devices.py:585 virtualization/forms/bulk_edit.py:256 -#: virtualization/forms/model_forms.py:335 +#: netbox/dcim/forms/bulk_edit.py:1377 netbox/dcim/forms/model_forms.py:1316 +#: netbox/dcim/tables/devices.py:573 +#: netbox/virtualization/forms/bulk_edit.py:256 +#: netbox/virtualization/forms/model_forms.py:335 msgid "Tagged VLANs" -msgstr "标记的 VLAN" +msgstr "Tagged VLANs" -#: dcim/forms/bulk_edit.py:1387 dcim/forms/model_forms.py:1286 +#: netbox/dcim/forms/bulk_edit.py:1387 netbox/dcim/forms/model_forms.py:1289 msgid "Wireless LAN group" msgstr "无线局域网组" -#: dcim/forms/bulk_edit.py:1392 dcim/forms/model_forms.py:1291 -#: dcim/tables/devices.py:615 netbox/navigation/menu.py:133 -#: templates/dcim/interface.html:280 wireless/tables/wirelesslan.py:24 +#: netbox/dcim/forms/bulk_edit.py:1392 netbox/dcim/forms/model_forms.py:1294 +#: netbox/dcim/tables/devices.py:603 netbox/netbox/navigation/menu.py:133 +#: netbox/templates/dcim/interface.html:280 +#: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" msgstr "无线局域网" -#: dcim/forms/bulk_edit.py:1401 dcim/forms/filtersets.py:1237 -#: dcim/forms/model_forms.py:1334 ipam/forms/bulk_edit.py:271 -#: ipam/forms/bulk_edit.py:362 ipam/forms/filtersets.py:169 -#: templates/dcim/interface.html:122 templates/ipam/prefix.html:95 -#: virtualization/forms/model_forms.py:349 +#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249 +#: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271 +#: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169 +#: netbox/templates/dcim/interface.html:122 +#: netbox/templates/ipam/prefix.html:95 +#: netbox/virtualization/forms/model_forms.py:349 msgid "Addressing" msgstr "寻址" -#: dcim/forms/bulk_edit.py:1402 dcim/forms/filtersets.py:650 -#: dcim/forms/model_forms.py:1335 virtualization/forms/model_forms.py:350 +#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651 +#: netbox/dcim/forms/model_forms.py:1338 +#: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "操作" -#: dcim/forms/bulk_edit.py:1403 dcim/forms/filtersets.py:1238 -#: dcim/forms/model_forms.py:932 dcim/forms/model_forms.py:1337 +#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250 +#: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340 msgid "PoE" msgstr "PoE" -#: dcim/forms/bulk_edit.py:1404 dcim/forms/model_forms.py:1336 -#: templates/dcim/interface.html:99 virtualization/forms/bulk_edit.py:267 -#: virtualization/forms/model_forms.py:351 +#: netbox/dcim/forms/bulk_edit.py:1404 netbox/dcim/forms/model_forms.py:1339 +#: netbox/templates/dcim/interface.html:99 +#: netbox/virtualization/forms/bulk_edit.py:267 +#: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "相关接口" -#: dcim/forms/bulk_edit.py:1405 dcim/forms/model_forms.py:1338 -#: virtualization/forms/bulk_edit.py:268 -#: virtualization/forms/model_forms.py:352 +#: netbox/dcim/forms/bulk_edit.py:1405 netbox/dcim/forms/model_forms.py:1341 +#: netbox/virtualization/forms/bulk_edit.py:268 +#: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" msgstr "802.1Q 交换" -#: dcim/forms/bulk_edit.py:1467 dcim/forms/bulk_edit.py:1469 +#: netbox/dcim/forms/bulk_edit.py:1467 netbox/dcim/forms/bulk_edit.py:1469 msgid "Interface mode must be specified to assign VLANs" -msgstr "必须指定接口模式才能分配 VLAN" +msgstr "该接口模式下,必须指定VLAN" -#: dcim/forms/bulk_edit.py:1474 dcim/forms/common.py:50 +#: netbox/dcim/forms/bulk_edit.py:1474 netbox/dcim/forms/common.py:50 msgid "An access interface cannot have tagged VLANs assigned." -msgstr "无法为接入接口分配带标签的 VLAN。" +msgstr "access接口不允许指定Tag的VLAN" -#: dcim/forms/bulk_import.py:63 +#: netbox/dcim/forms/bulk_import.py:63 msgid "Name of parent region" -msgstr "父区域的名称" +msgstr "上一级区域的名称" -#: dcim/forms/bulk_import.py:77 +#: netbox/dcim/forms/bulk_import.py:77 msgid "Name of parent site group" -msgstr "父站点组的名称" +msgstr "上一级站点组的名称" -#: dcim/forms/bulk_import.py:96 +#: netbox/dcim/forms/bulk_import.py:96 msgid "Assigned region" -msgstr "分配的区域" +msgstr "指定地区" -#: dcim/forms/bulk_import.py:103 tenancy/forms/bulk_import.py:44 -#: tenancy/forms/bulk_import.py:85 wireless/forms/bulk_import.py:40 +#: netbox/dcim/forms/bulk_import.py:103 netbox/tenancy/forms/bulk_import.py:44 +#: netbox/tenancy/forms/bulk_import.py:85 +#: netbox/wireless/forms/bulk_import.py:40 msgid "Assigned group" -msgstr "分配的群组" +msgstr "指定组" -#: dcim/forms/bulk_import.py:122 +#: netbox/dcim/forms/bulk_import.py:122 msgid "available options" msgstr "可用选项" -#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:488 -#: dcim/forms/bulk_import.py:1293 ipam/forms/bulk_import.py:174 -#: ipam/forms/bulk_import.py:441 virtualization/forms/bulk_import.py:63 -#: virtualization/forms/bulk_import.py:89 +#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482 +#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174 +#: netbox/ipam/forms/bulk_import.py:441 +#: netbox/virtualization/forms/bulk_import.py:63 +#: netbox/virtualization/forms/bulk_import.py:89 msgid "Assigned site" -msgstr "分配的站点" +msgstr "指定站点" -#: dcim/forms/bulk_import.py:140 +#: netbox/dcim/forms/bulk_import.py:140 msgid "Parent location" -msgstr "家长所在地" +msgstr "上一级位置" -#: dcim/forms/bulk_import.py:142 +#: netbox/dcim/forms/bulk_import.py:142 msgid "Location not found." -msgstr "未找到位置。" +msgstr "未找到该位置" -#: dcim/forms/bulk_import.py:199 +#: netbox/dcim/forms/bulk_import.py:196 msgid "Name of assigned tenant" -msgstr "已分配租户的名称" +msgstr "指定租户名称" -#: dcim/forms/bulk_import.py:211 +#: netbox/dcim/forms/bulk_import.py:208 msgid "Name of assigned role" -msgstr "分配角色的名称" +msgstr "指定规则名称" -#: dcim/forms/bulk_import.py:217 +#: netbox/dcim/forms/bulk_import.py:214 msgid "Rack type" -msgstr "机架类型" +msgstr "机柜类型" -#: dcim/forms/bulk_import.py:222 +#: netbox/dcim/forms/bulk_import.py:219 msgid "Rail-to-rail width (in inches)" -msgstr "轨到轨宽度(以英寸为单位)" +msgstr "设备安装宽度(英寸)" -#: dcim/forms/bulk_import.py:228 +#: netbox/dcim/forms/bulk_import.py:225 msgid "Unit for outer dimensions" -msgstr "外部尺寸单位" +msgstr "外形尺寸单位" -#: dcim/forms/bulk_import.py:234 +#: netbox/dcim/forms/bulk_import.py:231 msgid "Unit for rack weights" -msgstr "机架重量单位" +msgstr "机柜重量单位" -#: dcim/forms/bulk_import.py:260 +#: netbox/dcim/forms/bulk_import.py:257 msgid "Parent site" -msgstr "家长网站" +msgstr "上一级站点" -#: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306 +#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294 msgid "Rack's location (if any)" -msgstr "机架的位置(如果有)" +msgstr "机柜所在位置" -#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:253 -#: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12 -#: templates/dcim/rackreservation.html:45 +#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253 +#: netbox/dcim/tables/racks.py:153 +#: netbox/templates/dcim/rackreservation.html:12 +#: netbox/templates/dcim/rackreservation.html:45 msgid "Units" -msgstr "单位" +msgstr "单元(U)" -#: dcim/forms/bulk_import.py:279 +#: netbox/dcim/forms/bulk_import.py:276 msgid "Comma-separated list of individual unit numbers" -msgstr "以逗号分隔的单个单位编号列表" +msgstr "占用U位号列表,以逗号分隔" -#: dcim/forms/bulk_import.py:322 +#: netbox/dcim/forms/bulk_import.py:319 msgid "The manufacturer which produces this device type" -msgstr "生产此设备类型的制造商" +msgstr "生产这种类型设备的制造商" -#: dcim/forms/bulk_import.py:329 +#: netbox/dcim/forms/bulk_import.py:326 msgid "The default platform for devices of this type (optional)" -msgstr "此类设备的默认平台(可选)" +msgstr "此类型设备的默认平台(可选)" -#: dcim/forms/bulk_import.py:334 +#: netbox/dcim/forms/bulk_import.py:331 msgid "Device weight" msgstr "设备重量" -#: dcim/forms/bulk_import.py:340 +#: netbox/dcim/forms/bulk_import.py:337 msgid "Unit for device weight" msgstr "设备重量单位" -#: dcim/forms/bulk_import.py:360 +#: netbox/dcim/forms/bulk_import.py:357 msgid "Module weight" msgstr "模块重量" -#: dcim/forms/bulk_import.py:366 +#: netbox/dcim/forms/bulk_import.py:363 msgid "Unit for module weight" msgstr "模块重量单位" -#: dcim/forms/bulk_import.py:399 +#: netbox/dcim/forms/bulk_import.py:393 msgid "Limit platform assignments to this manufacturer" -msgstr "将平台分配限制给该制造商" +msgstr "限定此系统平台的制造商" -#: dcim/forms/bulk_import.py:421 dcim/forms/bulk_import.py:1376 -#: tenancy/forms/bulk_import.py:106 +#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364 +#: netbox/tenancy/forms/bulk_import.py:106 msgid "Assigned role" -msgstr "分配的角色" +msgstr "指定规则" -#: dcim/forms/bulk_import.py:434 +#: netbox/dcim/forms/bulk_import.py:428 msgid "Device type manufacturer" -msgstr "设备类型制造商" +msgstr "设备制造商" -#: dcim/forms/bulk_import.py:440 +#: netbox/dcim/forms/bulk_import.py:434 msgid "Device type model" -msgstr "设备类型型号" +msgstr "设备型号" -#: dcim/forms/bulk_import.py:447 virtualization/forms/bulk_import.py:126 +#: netbox/dcim/forms/bulk_import.py:441 +#: netbox/virtualization/forms/bulk_import.py:126 msgid "Assigned platform" -msgstr "分配的平台" +msgstr "指定系统平台" -#: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459 -#: dcim/forms/model_forms.py:476 +#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453 +#: netbox/dcim/forms/model_forms.py:479 msgid "Virtual chassis" -msgstr "虚拟机箱" +msgstr "堆叠" -#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:465 -#: dcim/tables/devices.py:207 extras/filtersets.py:548 -#: extras/forms/filtersets.py:331 ipam/forms/bulk_edit.py:479 -#: ipam/forms/filtersets.py:415 ipam/forms/filtersets.py:459 -#: ipam/forms/model_forms.py:627 templates/dcim/device.html:231 -#: templates/virtualization/cluster.html:10 -#: templates/virtualization/virtualmachine.html:88 -#: templates/virtualization/virtualmachine.html:97 -#: virtualization/filtersets.py:157 virtualization/filtersets.py:273 -#: virtualization/forms/bulk_edit.py:129 -#: virtualization/forms/bulk_import.py:92 -#: virtualization/forms/filtersets.py:99 -#: virtualization/forms/filtersets.py:123 -#: virtualization/forms/filtersets.py:200 -#: virtualization/forms/model_forms.py:79 -#: virtualization/forms/model_forms.py:176 -#: virtualization/tables/virtualmachines.py:66 +#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659 +#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465 +#: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548 +#: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479 +#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459 +#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239 +#: netbox/templates/virtualization/cluster.html:10 +#: netbox/templates/virtualization/virtualmachine.html:88 +#: netbox/templates/virtualization/virtualmachine.html:97 +#: netbox/virtualization/filtersets.py:157 +#: netbox/virtualization/filtersets.py:273 +#: netbox/virtualization/forms/bulk_edit.py:129 +#: netbox/virtualization/forms/bulk_import.py:92 +#: netbox/virtualization/forms/filtersets.py:99 +#: netbox/virtualization/forms/filtersets.py:123 +#: netbox/virtualization/forms/filtersets.py:200 +#: netbox/virtualization/forms/model_forms.py:79 +#: netbox/virtualization/forms/model_forms.py:176 +#: netbox/virtualization/tables/virtualmachines.py:66 msgid "Cluster" msgstr "集群" -#: dcim/forms/bulk_import.py:466 +#: netbox/dcim/forms/bulk_import.py:460 msgid "Virtualization cluster" msgstr "虚拟化集群" -#: dcim/forms/bulk_import.py:495 +#: netbox/dcim/forms/bulk_import.py:489 msgid "Assigned location (if any)" -msgstr "分配的地点(如果有)" +msgstr "指定位置(如果有)" -#: dcim/forms/bulk_import.py:502 +#: netbox/dcim/forms/bulk_import.py:496 msgid "Assigned rack (if any)" -msgstr "分配的机架(如果有)" +msgstr "指定机柜(如果有)" -#: dcim/forms/bulk_import.py:505 +#: netbox/dcim/forms/bulk_import.py:499 msgid "Face" -msgstr "脸" +msgstr "朝向" -#: dcim/forms/bulk_import.py:508 +#: netbox/dcim/forms/bulk_import.py:502 msgid "Mounted rack face" -msgstr "已安装的机架面" +msgstr "指定安装朝向(前装/后装)" -#: dcim/forms/bulk_import.py:515 +#: netbox/dcim/forms/bulk_import.py:509 msgid "Parent device (for child devices)" -msgstr "父设备(适用于子设备)" +msgstr "上一级设备(用于子设备)" -#: dcim/forms/bulk_import.py:518 +#: netbox/dcim/forms/bulk_import.py:512 msgid "Device bay" msgstr "设备托架" -#: dcim/forms/bulk_import.py:522 +#: netbox/dcim/forms/bulk_import.py:516 msgid "Device bay in which this device is installed (for child devices)" -msgstr "安装此设备的设备托架(适用于子设备)" +msgstr "安装此设备的设备托架(用于子设备)" -#: dcim/forms/bulk_import.py:528 +#: netbox/dcim/forms/bulk_import.py:522 msgid "Airflow direction" -msgstr "气流方向" +msgstr "风道方向" -#: dcim/forms/bulk_import.py:589 +#: netbox/dcim/forms/bulk_import.py:583 msgid "The device in which this module is installed" msgstr "安装此模块的设备" -#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:580 +#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583 msgid "Module bay" -msgstr "模块托架" +msgstr "设备板卡插槽" -#: dcim/forms/bulk_import.py:595 +#: netbox/dcim/forms/bulk_import.py:589 msgid "The module bay in which this module is installed" msgstr "安装此模块的模块托架" -#: dcim/forms/bulk_import.py:601 +#: netbox/dcim/forms/bulk_import.py:595 msgid "The type of module" -msgstr "模块的类型" +msgstr "模块类型" -#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:596 +#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599 msgid "Replicate components" -msgstr "复制组件" +msgstr "填充组件" -#: dcim/forms/bulk_import.py:611 +#: netbox/dcim/forms/bulk_import.py:605 msgid "" "Automatically populate components associated with this module type (enabled " "by default)" -msgstr "自动填充与此模块类型关联的组件(默认启用)" +msgstr "自动填充与此模块类型关联的组件(默认情况下启用)" -#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:602 +#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605 msgid "Adopt components" -msgstr "采用组件" +msgstr "选定组件" -#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:605 +#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608 msgid "Adopt already existing components" -msgstr "采用现有组件" +msgstr "选定已经存在的组件" -#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682 -#: dcim/forms/bulk_import.py:708 +#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676 +#: netbox/dcim/forms/bulk_import.py:702 msgid "Port type" msgstr "端口类型" -#: dcim/forms/bulk_import.py:664 dcim/forms/bulk_import.py:690 +#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684 msgid "Port speed in bps" -msgstr "以 bps 为单位的端口速度" +msgstr "端口速率(bps)" -#: dcim/forms/bulk_import.py:728 +#: netbox/dcim/forms/bulk_import.py:722 msgid "Outlet type" msgstr "插座类型" -#: dcim/forms/bulk_import.py:735 +#: netbox/dcim/forms/bulk_import.py:729 msgid "Local power port which feeds this outlet" -msgstr "为该插座供电的本地电源端口" +msgstr "该插座供电的电源端口" -#: dcim/forms/bulk_import.py:741 +#: netbox/dcim/forms/bulk_import.py:735 msgid "Electrical phase (for three-phase circuits)" -msgstr "电相(用于三相电路)" +msgstr "相位(用于三相电)" -#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1261 -#: virtualization/forms/bulk_import.py:155 -#: virtualization/forms/model_forms.py:305 +#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264 +#: netbox/virtualization/forms/bulk_import.py:155 +#: netbox/virtualization/forms/model_forms.py:305 msgid "Parent interface" -msgstr "家长接口" +msgstr "上一级接口" -#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1269 -#: virtualization/forms/bulk_import.py:162 -#: virtualization/forms/model_forms.py:313 +#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272 +#: netbox/virtualization/forms/bulk_import.py:162 +#: netbox/virtualization/forms/model_forms.py:313 msgid "Bridged interface" msgstr "桥接接口" -#: dcim/forms/bulk_import.py:792 +#: netbox/dcim/forms/bulk_import.py:786 msgid "Lag" -msgstr "滞后" +msgstr "聚合接口" -#: dcim/forms/bulk_import.py:796 +#: netbox/dcim/forms/bulk_import.py:790 msgid "Parent LAG interface" -msgstr "父级 LAG 接口" +msgstr "上一级聚合接口" -#: dcim/forms/bulk_import.py:799 +#: netbox/dcim/forms/bulk_import.py:793 msgid "Vdcs" msgstr "Vdcs" -#: dcim/forms/bulk_import.py:804 +#: netbox/dcim/forms/bulk_import.py:798 msgid "VDC names separated by commas, encased with double quotes. Example:" -msgstr "VDC 名称用逗号分隔,用双引号括起来。示例:" +msgstr "VDC名称,用逗号分隔,用双引号包含。例如:" -#: dcim/forms/bulk_import.py:810 +#: netbox/dcim/forms/bulk_import.py:804 msgid "Physical medium" -msgstr "物理介质" +msgstr "接口类型" -#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1271 +#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283 msgid "Duplex" msgstr "双工" -#: dcim/forms/bulk_import.py:818 +#: netbox/dcim/forms/bulk_import.py:812 msgid "Poe mode" -msgstr "Poe 模式" +msgstr "POE模式" -#: dcim/forms/bulk_import.py:824 +#: netbox/dcim/forms/bulk_import.py:818 msgid "Poe type" -msgstr "Poe 类型" +msgstr "POE类型" -#: dcim/forms/bulk_import.py:833 virtualization/forms/bulk_import.py:168 +#: netbox/dcim/forms/bulk_import.py:827 +#: netbox/virtualization/forms/bulk_import.py:168 msgid "IEEE 802.1Q operational mode (for L2 interfaces)" -msgstr "IEEE 802.1Q 运行模式(适用于 L2 接口)" +msgstr "端口类型(Access/Tagged/Tagged all,限二层接口)" -#: dcim/forms/bulk_import.py:840 ipam/forms/bulk_import.py:160 -#: ipam/forms/bulk_import.py:246 ipam/forms/bulk_import.py:282 -#: ipam/forms/filtersets.py:201 ipam/forms/filtersets.py:277 -#: ipam/forms/filtersets.py:336 virtualization/forms/bulk_import.py:175 +#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160 +#: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282 +#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277 +#: netbox/ipam/forms/filtersets.py:336 +#: netbox/virtualization/forms/bulk_import.py:175 msgid "Assigned VRF" -msgstr "已分配的 VRF" +msgstr "指定VRF" -#: dcim/forms/bulk_import.py:843 +#: netbox/dcim/forms/bulk_import.py:837 msgid "Rf role" -msgstr "射频角色" +msgstr "射频类型" -#: dcim/forms/bulk_import.py:846 +#: netbox/dcim/forms/bulk_import.py:840 msgid "Wireless role (AP/station)" -msgstr "无线角色(AP/电台)" +msgstr "射频类型(AP/基站)" -#: dcim/forms/bulk_import.py:882 +#: netbox/dcim/forms/bulk_import.py:876 #, python-brace-format msgid "VDC {vdc} is not assigned to device {device}" -msgstr "VDC {vdc} 未分配给设备 {device}" +msgstr "VDC {vdc} 没有指定给设备 {device}" -#: dcim/forms/bulk_import.py:896 dcim/forms/model_forms.py:945 -#: dcim/forms/model_forms.py:1519 dcim/forms/object_import.py:117 +#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948 +#: netbox/dcim/forms/model_forms.py:1522 +#: netbox/dcim/forms/object_import.py:117 msgid "Rear port" -msgstr "后端口" +msgstr "后置端口" -#: dcim/forms/bulk_import.py:899 +#: netbox/dcim/forms/bulk_import.py:893 msgid "Corresponding rear port" -msgstr "对应的后端口" +msgstr "对应后向端口" -#: dcim/forms/bulk_import.py:904 dcim/forms/bulk_import.py:945 -#: dcim/forms/bulk_import.py:1164 +#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939 +#: netbox/dcim/forms/bulk_import.py:1155 msgid "Physical medium classification" -msgstr "物理介质分类" +msgstr "端口类型" -#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:823 +#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805 msgid "Installed device" -msgstr "已安装的设备" +msgstr "安装设备" -#: dcim/forms/bulk_import.py:977 +#: netbox/dcim/forms/bulk_import.py:971 msgid "Child device installed within this bay" -msgstr "儿童设备安装在此托架中" +msgstr "此托架内安装的子设备" -#: dcim/forms/bulk_import.py:979 +#: netbox/dcim/forms/bulk_import.py:973 msgid "Child device not found." -msgstr "未找到子设备。" +msgstr "子设备未找到" -#: dcim/forms/bulk_import.py:1037 +#: netbox/dcim/forms/bulk_import.py:1031 msgid "Parent inventory item" -msgstr "父库存物品" +msgstr "上一级库存项" -#: dcim/forms/bulk_import.py:1040 +#: netbox/dcim/forms/bulk_import.py:1034 msgid "Component type" msgstr "组件类型" -#: dcim/forms/bulk_import.py:1044 +#: netbox/dcim/forms/bulk_import.py:1038 msgid "Component Type" msgstr "组件类型" -#: dcim/forms/bulk_import.py:1047 +#: netbox/dcim/forms/bulk_import.py:1041 msgid "Compnent name" msgstr "组件名称" -#: dcim/forms/bulk_import.py:1049 +#: netbox/dcim/forms/bulk_import.py:1043 msgid "Component Name" msgstr "组件名称" -#: dcim/forms/bulk_import.py:1091 +#: netbox/dcim/forms/bulk_import.py:1085 #, python-brace-format msgid "Component not found: {device} - {component_name}" -msgstr "未找到组件: {device} - {component_name}" +msgstr "组件未找到: {device} - {component_name}" -#: dcim/forms/bulk_import.py:1119 +#: netbox/dcim/forms/bulk_import.py:1110 msgid "Side A device" -msgstr "A 侧设备" +msgstr "A端设备" -#: dcim/forms/bulk_import.py:1122 dcim/forms/bulk_import.py:1140 +#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131 msgid "Device name" -msgstr "设备名称" +msgstr "设备名字" -#: dcim/forms/bulk_import.py:1125 +#: netbox/dcim/forms/bulk_import.py:1116 msgid "Side A type" -msgstr "A 面类型" +msgstr "A端线缆类型" -#: dcim/forms/bulk_import.py:1128 dcim/forms/bulk_import.py:1146 +#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137 msgid "Termination type" -msgstr "终止类型" +msgstr "线缆接口类型" -#: dcim/forms/bulk_import.py:1131 +#: netbox/dcim/forms/bulk_import.py:1122 msgid "Side A name" -msgstr "A 面名字" +msgstr "A端设备名称" -#: dcim/forms/bulk_import.py:1132 dcim/forms/bulk_import.py:1150 +#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141 msgid "Termination name" -msgstr "终止名称" +msgstr "线缆类型名称" -#: dcim/forms/bulk_import.py:1137 +#: netbox/dcim/forms/bulk_import.py:1128 msgid "Side B device" -msgstr "B 侧设备" +msgstr "B端设备" -#: dcim/forms/bulk_import.py:1143 +#: netbox/dcim/forms/bulk_import.py:1134 msgid "Side B type" -msgstr "B 侧型" +msgstr "B端线缆类型" -#: dcim/forms/bulk_import.py:1149 +#: netbox/dcim/forms/bulk_import.py:1140 msgid "Side B name" -msgstr "B 侧名称" +msgstr "B端设备名称" -#: dcim/forms/bulk_import.py:1158 wireless/forms/bulk_import.py:86 +#: netbox/dcim/forms/bulk_import.py:1149 +#: netbox/wireless/forms/bulk_import.py:86 msgid "Connection status" msgstr "连接状态" -#: dcim/forms/bulk_import.py:1213 +#: netbox/dcim/forms/bulk_import.py:1201 #, python-brace-format msgid "Side {side_upper}: {device} {termination_object} is already connected" -msgstr "侧面 {side_upper}: {device} {termination_object} 已经连接" +msgstr " {side_upper}端: {device} {termination_object}已连接" -#: dcim/forms/bulk_import.py:1219 +#: netbox/dcim/forms/bulk_import.py:1207 #, python-brace-format msgid "{side_upper} side termination not found: {device} {name}" -msgstr "{side_upper} 未找到侧面终端: {device} {name}" +msgstr "{side_upper} 端接口类型未发现: {device} {name}" -#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:730 -#: dcim/tables/devices.py:1010 templates/dcim/device.html:130 -#: templates/dcim/virtualchassis.html:27 templates/dcim/virtualchassis.html:67 +#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733 +#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132 +#: netbox/templates/dcim/virtualchassis.html:27 +#: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" -msgstr "大师" +msgstr "Master" -#: dcim/forms/bulk_import.py:1248 +#: netbox/dcim/forms/bulk_import.py:1236 msgid "Master device" msgstr "主设备" -#: dcim/forms/bulk_import.py:1265 +#: netbox/dcim/forms/bulk_import.py:1253 msgid "Name of parent site" -msgstr "父网站的名称" +msgstr "站点名称" -#: dcim/forms/bulk_import.py:1299 +#: netbox/dcim/forms/bulk_import.py:1287 msgid "Upstream power panel" -msgstr "上游电源面板" +msgstr "上一级电源面板" -#: dcim/forms/bulk_import.py:1329 +#: netbox/dcim/forms/bulk_import.py:1317 msgid "Primary or redundant" -msgstr "主要或冗余" +msgstr "主线路/备用线路" -#: dcim/forms/bulk_import.py:1334 +#: netbox/dcim/forms/bulk_import.py:1322 msgid "Supply type (AC/DC)" -msgstr "电源类型(交流/直流)" +msgstr "供应类型(AC/DC)" -#: dcim/forms/bulk_import.py:1339 +#: netbox/dcim/forms/bulk_import.py:1327 msgid "Single or three-phase" -msgstr "单相或三相" +msgstr "两相电/三相电" -#: dcim/forms/common.py:24 dcim/models/device_components.py:528 -#: templates/dcim/interface.html:57 -#: templates/virtualization/vminterface.html:55 -#: virtualization/forms/bulk_edit.py:225 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/templates/dcim/interface.html:57 +#: netbox/templates/virtualization/vminterface.html:55 +#: netbox/virtualization/forms/bulk_edit.py:225 msgid "MTU" msgstr "MTU" -#: dcim/forms/common.py:65 +#: netbox/dcim/forms/common.py:65 #, python-brace-format msgid "" "The tagged VLANs ({vlans}) must belong to the same site as the interface's " "parent device/VM, or they must be global" -msgstr "标记的 VLAN ({vlans}) 必须与接口的父设备/虚拟机属于同一个站点,或者它们必须是全局的" +msgstr "标记的VLAN ({vlans}) 必须与接口所属设备/虚拟机属于同一站点,或者是全局VLAN" -#: dcim/forms/common.py:110 +#: netbox/dcim/forms/common.py:110 msgid "" "Cannot install module with placeholder values in a module bay with no " "position defined." msgstr "无法在未定义位置的模块托架中安装具有占位符值的模块。" -#: dcim/forms/common.py:119 +#: netbox/dcim/forms/common.py:119 #, python-brace-format msgid "Cannot adopt {model} {name} as it already belongs to a module" -msgstr "无法收养 {model} {name} 因为它已经属于一个模块了" +msgstr "无法选定 {model} {name} ,因为它已属于某个模块" -#: dcim/forms/common.py:128 +#: netbox/dcim/forms/common.py:128 #, python-brace-format msgid "A {model} named {name} already exists" -msgstr "一个 {model} 被命名 {name} 已经存在" +msgstr "名为 {name} 的 {model} 已存在" -#: dcim/forms/connections.py:48 dcim/forms/model_forms.py:683 -#: dcim/tables/power.py:66 templates/dcim/inc/cable_termination.html:37 -#: templates/dcim/powerfeed.html:24 templates/dcim/powerpanel.html:19 -#: templates/dcim/trace/powerpanel.html:4 +#: netbox/dcim/forms/connections.py:48 netbox/dcim/forms/model_forms.py:686 +#: netbox/dcim/tables/power.py:66 +#: netbox/templates/dcim/inc/cable_termination.html:37 +#: netbox/templates/dcim/powerfeed.html:24 +#: netbox/templates/dcim/powerpanel.html:19 +#: netbox/templates/dcim/trace/powerpanel.html:4 msgid "Power Panel" msgstr "电源面板" -#: dcim/forms/connections.py:57 dcim/forms/model_forms.py:710 -#: templates/dcim/powerfeed.html:21 templates/dcim/powerport.html:80 +#: netbox/dcim/forms/connections.py:57 netbox/dcim/forms/model_forms.py:713 +#: netbox/templates/dcim/powerfeed.html:21 +#: netbox/templates/dcim/powerport.html:80 msgid "Power Feed" -msgstr "电源馈送" +msgstr "电力来源" -#: dcim/forms/connections.py:79 +#: netbox/dcim/forms/connections.py:79 msgid "Side" -msgstr "侧面" +msgstr "端" -#: dcim/forms/filtersets.py:142 +#: netbox/dcim/forms/filtersets.py:143 msgid "Parent region" -msgstr "父区域" +msgstr "上一级地区" -#: dcim/forms/filtersets.py:156 tenancy/forms/bulk_import.py:28 -#: tenancy/forms/bulk_import.py:62 tenancy/forms/filtersets.py:33 -#: tenancy/forms/filtersets.py:62 wireless/forms/bulk_import.py:25 -#: wireless/forms/filtersets.py:25 +#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28 +#: netbox/tenancy/forms/bulk_import.py:62 +#: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62 +#: netbox/wireless/forms/bulk_import.py:25 +#: netbox/wireless/forms/filtersets.py:25 msgid "Parent group" -msgstr "家长小组" +msgstr "上一级组" -#: dcim/forms/filtersets.py:247 dcim/forms/filtersets.py:332 +#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333 msgid "Function" -msgstr "函数" +msgstr "功能用途" -#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:317 -#: templates/inc/panels/image_attachments.html:6 +#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317 +#: netbox/templates/inc/panels/image_attachments.html:6 msgid "Images" msgstr "图片" -#: dcim/forms/filtersets.py:421 dcim/forms/filtersets.py:546 -#: dcim/forms/filtersets.py:656 +#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547 +#: netbox/dcim/forms/filtersets.py:657 msgid "Components" msgstr "组件" -#: dcim/forms/filtersets.py:441 +#: netbox/dcim/forms/filtersets.py:442 msgid "Subdevice role" -msgstr "子设备角色" +msgstr "设备角色(父设备/子设备)" -#: dcim/forms/filtersets.py:719 +#: netbox/dcim/forms/filtersets.py:721 msgid "Model" -msgstr "模型" +msgstr "型号" -#: dcim/forms/filtersets.py:763 +#: netbox/dcim/forms/filtersets.py:765 msgid "Has an OOB IP" -msgstr "有 OOB IP" +msgstr "有带外管理IP" -#: dcim/forms/filtersets.py:770 +#: netbox/dcim/forms/filtersets.py:772 msgid "Virtual chassis member" -msgstr "虚拟机箱成员" +msgstr "堆叠数量" -#: dcim/forms/filtersets.py:819 +#: netbox/dcim/forms/filtersets.py:821 msgid "Has virtual device contexts" msgstr "有虚拟设备上下文" -#: dcim/forms/filtersets.py:1129 +#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537 +#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464 +#: netbox/ipam/forms/model_forms.py:624 +#: netbox/virtualization/forms/filtersets.py:112 +msgid "Cluster group" +msgstr "堆叠组" + +#: netbox/dcim/forms/filtersets.py:1141 msgid "Cabled" -msgstr "电缆" +msgstr "已连接" -#: dcim/forms/filtersets.py:1136 +#: netbox/dcim/forms/filtersets.py:1148 msgid "Occupied" -msgstr "已占领" +msgstr "占用" -#: dcim/forms/filtersets.py:1161 dcim/forms/filtersets.py:1183 -#: dcim/forms/filtersets.py:1205 dcim/forms/filtersets.py:1222 -#: dcim/forms/filtersets.py:1242 dcim/tables/devices.py:352 -#: templates/dcim/consoleport.html:55 templates/dcim/consoleserverport.html:55 -#: templates/dcim/frontport.html:69 templates/dcim/interface.html:140 -#: templates/dcim/powerfeed.html:110 templates/dcim/poweroutlet.html:59 -#: templates/dcim/powerport.html:59 templates/dcim/rearport.html:65 +#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195 +#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234 +#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352 +#: netbox/templates/dcim/consoleport.html:55 +#: netbox/templates/dcim/consoleserverport.html:55 +#: netbox/templates/dcim/frontport.html:69 +#: netbox/templates/dcim/interface.html:140 +#: netbox/templates/dcim/powerfeed.html:110 +#: netbox/templates/dcim/poweroutlet.html:59 +#: netbox/templates/dcim/powerport.html:59 +#: netbox/templates/dcim/rearport.html:65 msgid "Connection" msgstr "连接" -#: dcim/forms/filtersets.py:1254 extras/forms/bulk_edit.py:316 -#: extras/forms/bulk_import.py:242 extras/forms/filtersets.py:476 -#: extras/forms/model_forms.py:551 extras/tables/tables.py:512 -#: templates/extras/journalentry.html:30 +#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316 +#: netbox/extras/forms/bulk_import.py:239 +#: netbox/extras/forms/filtersets.py:473 +#: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513 +#: netbox/templates/extras/journalentry.html:30 msgid "Kind" -msgstr "善良" +msgstr "类型" -#: dcim/forms/filtersets.py:1283 +#: netbox/dcim/forms/filtersets.py:1295 msgid "Mgmt only" -msgstr "仅限管理" +msgstr "仅用于管理" -#: dcim/forms/filtersets.py:1295 dcim/forms/model_forms.py:1327 -#: dcim/models/device_components.py:630 templates/dcim/interface.html:129 +#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330 +#: netbox/dcim/models/device_components.py:630 +#: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" -#: dcim/forms/filtersets.py:1315 +#: netbox/dcim/forms/filtersets.py:1327 msgid "Wireless channel" -msgstr "无线频道" +msgstr "无线信道" -#: dcim/forms/filtersets.py:1319 +#: netbox/dcim/forms/filtersets.py:1331 msgid "Channel frequency (MHz)" -msgstr "信道频率 (MHz)" +msgstr "信道频率(MHz)" -#: dcim/forms/filtersets.py:1323 +#: netbox/dcim/forms/filtersets.py:1335 msgid "Channel width (MHz)" -msgstr "信道宽度 (MHz)" +msgstr "信道频宽(MHz)" -#: dcim/forms/filtersets.py:1327 templates/dcim/interface.html:85 +#: netbox/dcim/forms/filtersets.py:1339 +#: netbox/templates/dcim/interface.html:85 msgid "Transmit power (dBm)" -msgstr "发射功率 (dBm)" +msgstr "信道功率(dBm)" -#: dcim/forms/filtersets.py:1350 dcim/forms/filtersets.py:1372 -#: dcim/tables/devices.py:324 templates/dcim/cable.html:12 -#: templates/dcim/cable_trace.html:46 templates/dcim/frontport.html:77 -#: templates/dcim/htmx/cable_edit.html:50 -#: templates/dcim/inc/connection_endpoints.html:4 -#: templates/dcim/rearport.html:73 templates/dcim/trace/cable.html:7 +#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384 +#: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12 +#: netbox/templates/dcim/cable_trace.html:46 +#: netbox/templates/dcim/frontport.html:77 +#: netbox/templates/dcim/htmx/cable_edit.html:50 +#: netbox/templates/dcim/inc/connection_endpoints.html:4 +#: netbox/templates/dcim/rearport.html:73 +#: netbox/templates/dcim/trace/cable.html:7 msgid "Cable" msgstr "电缆" -#: dcim/forms/filtersets.py:1442 dcim/tables/devices.py:933 +#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915 msgid "Discovered" msgstr "已发现" -#: dcim/forms/formsets.py:20 +#: netbox/dcim/forms/formsets.py:20 #, python-brace-format msgid "A virtual chassis member already exists in position {vc_position}." -msgstr "虚拟机箱成员已在适当的位置 {vc_position}。" +msgstr "在 {vc_position}中已存在虚拟机箱成员。" -#: dcim/forms/model_forms.py:139 +#: netbox/dcim/forms/model_forms.py:139 msgid "Contact Info" -msgstr "联系信息" +msgstr "联系方式" -#: dcim/forms/model_forms.py:194 templates/dcim/rackrole.html:19 +#: netbox/dcim/forms/model_forms.py:194 netbox/templates/dcim/rackrole.html:19 msgid "Rack Role" -msgstr "机架角色" +msgstr "机柜角色" -#: dcim/forms/model_forms.py:227 +#: netbox/dcim/forms/model_forms.py:227 msgid "Inventory Control" -msgstr "库存控制" +msgstr "库存管理" -#: dcim/forms/model_forms.py:231 +#: netbox/dcim/forms/model_forms.py:231 msgid "Outer Dimensions" msgstr "外部尺寸" -#: dcim/forms/model_forms.py:233 templates/dcim/device.html:307 -#: templates/dcim/rack.html:73 +#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315 +#: netbox/templates/dcim/rack.html:73 msgid "Dimensions" -msgstr "尺寸" +msgstr "外部尺寸" -#: dcim/forms/model_forms.py:255 +#: netbox/dcim/forms/model_forms.py:255 msgid "" "Comma-separated list of numeric unit IDs. A range may be specified using a " "hyphen." -msgstr "以逗号分隔的数字单位 ID 列表。可以使用连字符指定范围。" +msgstr "以逗号分隔的数字U位 列表。 可以使用-字符指定范围。" -#: dcim/forms/model_forms.py:266 dcim/tables/racks.py:133 +#: netbox/dcim/forms/model_forms.py:266 netbox/dcim/tables/racks.py:133 msgid "Reservation" -msgstr "预订" +msgstr "预留" -#: dcim/forms/model_forms.py:306 dcim/forms/model_forms.py:389 -#: utilities/forms/fields/fields.py:47 +#: netbox/dcim/forms/model_forms.py:306 netbox/dcim/forms/model_forms.py:389 +#: netbox/utilities/forms/fields/fields.py:47 msgid "Slug" -msgstr "蛞蝓" +msgstr "缩写" -#: dcim/forms/model_forms.py:315 templates/dcim/devicetype.html:11 +#: netbox/dcim/forms/model_forms.py:315 +#: netbox/templates/dcim/devicetype.html:11 msgid "Chassis" -msgstr "底盘" +msgstr "机箱" -#: dcim/forms/model_forms.py:366 templates/dcim/devicerole.html:23 +#: netbox/dcim/forms/model_forms.py:366 +#: netbox/templates/dcim/devicerole.html:23 msgid "Device Role" msgstr "设备角色" -#: dcim/forms/model_forms.py:433 dcim/models/devices.py:634 +#: netbox/dcim/forms/model_forms.py:433 netbox/dcim/models/devices.py:634 msgid "The lowest-numbered unit occupied by the device" -msgstr "设备占用的编号最低的单位" +msgstr "设备在机柜上最下面的U位" -#: dcim/forms/model_forms.py:487 +#: netbox/dcim/forms/model_forms.py:490 msgid "The position in the virtual chassis this device is identified by" -msgstr "该设备在虚拟机箱中的位置由以下公式标识" +msgstr "该设备在虚拟机箱中的位置由以下方式标识" -#: dcim/forms/model_forms.py:491 templates/dcim/device.html:131 -#: templates/dcim/virtualchassis.html:68 -#: templates/dcim/virtualchassis_edit.html:56 -#: templates/ipam/inc/panels/fhrp_groups.html:26 -#: tenancy/forms/bulk_edit.py:147 tenancy/forms/filtersets.py:110 +#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133 +#: netbox/templates/dcim/virtualchassis.html:68 +#: netbox/templates/dcim/virtualchassis_edit.html:56 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26 +#: netbox/tenancy/forms/bulk_edit.py:147 +#: netbox/tenancy/forms/filtersets.py:110 msgid "Priority" msgstr "优先级" -#: dcim/forms/model_forms.py:492 +#: netbox/dcim/forms/model_forms.py:495 msgid "The priority of the device in the virtual chassis" -msgstr "虚拟机箱中设备的优先级" +msgstr "堆叠中设备的优先级" -#: dcim/forms/model_forms.py:599 +#: netbox/dcim/forms/model_forms.py:602 msgid "Automatically populate components associated with this module type" -msgstr "自动填充与该模块类型关联的组件" +msgstr "自动填充与此模块类型关联的组件" -#: dcim/forms/model_forms.py:661 +#: netbox/dcim/forms/model_forms.py:664 msgid "Maximum length is 32767 (any unit)" -msgstr "最大长度为 32767(任何单位)" +msgstr "最大长度为32767(任意单位)" -#: dcim/forms/model_forms.py:712 +#: netbox/dcim/forms/model_forms.py:715 msgid "Characteristics" -msgstr "特征" +msgstr "特性" -#: dcim/forms/model_forms.py:1032 +#: netbox/dcim/forms/model_forms.py:1035 msgid "Console port template" msgstr "控制台端口模板" -#: dcim/forms/model_forms.py:1040 +#: netbox/dcim/forms/model_forms.py:1043 msgid "Console server port template" -msgstr "控制台服务器端口模板" +msgstr "控制口模版" -#: dcim/forms/model_forms.py:1048 +#: netbox/dcim/forms/model_forms.py:1051 msgid "Front port template" -msgstr "前端模板" +msgstr "前向端口模版" -#: dcim/forms/model_forms.py:1056 +#: netbox/dcim/forms/model_forms.py:1059 msgid "Interface template" -msgstr "接口模板" +msgstr "接口模版" -#: dcim/forms/model_forms.py:1064 +#: netbox/dcim/forms/model_forms.py:1067 msgid "Power outlet template" -msgstr "电源插座模板" +msgstr "电源插座模版" -#: dcim/forms/model_forms.py:1072 +#: netbox/dcim/forms/model_forms.py:1075 msgid "Power port template" -msgstr "电源端口模板" +msgstr "电源接口模版" -#: dcim/forms/model_forms.py:1080 +#: netbox/dcim/forms/model_forms.py:1083 msgid "Rear port template" -msgstr "后置端口模板" +msgstr "后向接口模版" -#: dcim/forms/model_forms.py:1089 dcim/forms/model_forms.py:1332 -#: dcim/forms/model_forms.py:1495 dcim/forms/model_forms.py:1527 -#: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317 -#: ipam/forms/model_forms.py:278 ipam/forms/model_forms.py:287 -#: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165 -#: templates/circuits/inc/circuit_termination_fields.html:51 -#: templates/dcim/frontport.html:106 templates/dcim/interface.html:27 -#: templates/dcim/interface.html:184 templates/dcim/interface.html:310 -#: templates/dcim/rearport.html:102 -#: templates/virtualization/vminterface.html:18 -#: templates/vpn/tunneltermination.html:31 -#: templates/wireless/inc/wirelesslink_interface.html:10 -#: templates/wireless/wirelesslink.html:10 -#: templates/wireless/wirelesslink.html:45 -#: virtualization/forms/model_forms.py:348 vpn/forms/bulk_import.py:297 -#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445 -#: wireless/forms/model_forms.py:113 wireless/forms/model_forms.py:155 +#: netbox/dcim/forms/model_forms.py:1092 netbox/dcim/forms/model_forms.py:1335 +#: netbox/dcim/forms/model_forms.py:1498 netbox/dcim/forms/model_forms.py:1530 +#: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:317 +#: netbox/ipam/forms/model_forms.py:278 netbox/ipam/forms/model_forms.py:287 +#: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:368 +#: netbox/ipam/tables/vlans.py:165 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:51 +#: netbox/templates/dcim/frontport.html:106 +#: netbox/templates/dcim/interface.html:27 +#: netbox/templates/dcim/interface.html:184 +#: netbox/templates/dcim/interface.html:310 +#: netbox/templates/dcim/rearport.html:102 +#: netbox/templates/virtualization/vminterface.html:18 +#: netbox/templates/vpn/tunneltermination.html:31 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:10 +#: netbox/templates/wireless/wirelesslink.html:10 +#: netbox/templates/wireless/wirelesslink.html:45 +#: netbox/virtualization/forms/model_forms.py:348 +#: netbox/vpn/forms/bulk_import.py:297 netbox/vpn/forms/model_forms.py:436 +#: netbox/vpn/forms/model_forms.py:445 +#: netbox/wireless/forms/model_forms.py:113 +#: netbox/wireless/forms/model_forms.py:155 msgid "Interface" msgstr "接口" -#: dcim/forms/model_forms.py:1090 dcim/forms/model_forms.py:1528 -#: dcim/tables/connections.py:27 templates/dcim/consoleport.html:17 -#: templates/dcim/consoleserverport.html:74 templates/dcim/frontport.html:112 +#: netbox/dcim/forms/model_forms.py:1093 netbox/dcim/forms/model_forms.py:1531 +#: netbox/dcim/tables/connections.py:27 +#: netbox/templates/dcim/consoleport.html:17 +#: netbox/templates/dcim/consoleserverport.html:74 +#: netbox/templates/dcim/frontport.html:112 msgid "Console Port" -msgstr "控制台端口" +msgstr "Console 端口" -#: dcim/forms/model_forms.py:1091 dcim/forms/model_forms.py:1529 -#: templates/dcim/consoleport.html:73 templates/dcim/consoleserverport.html:17 -#: templates/dcim/frontport.html:109 +#: netbox/dcim/forms/model_forms.py:1094 netbox/dcim/forms/model_forms.py:1532 +#: netbox/templates/dcim/consoleport.html:73 +#: netbox/templates/dcim/consoleserverport.html:17 +#: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" -msgstr "控制台服务器端口" +msgstr "Console 服务器端口" -#: dcim/forms/model_forms.py:1092 dcim/forms/model_forms.py:1530 -#: templates/circuits/inc/circuit_termination_fields.html:52 -#: templates/dcim/consoleport.html:76 templates/dcim/consoleserverport.html:77 -#: templates/dcim/frontport.html:17 templates/dcim/frontport.html:115 -#: templates/dcim/interface.html:187 templates/dcim/rearport.html:105 +#: netbox/dcim/forms/model_forms.py:1095 netbox/dcim/forms/model_forms.py:1533 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:52 +#: netbox/templates/dcim/consoleport.html:76 +#: netbox/templates/dcim/consoleserverport.html:77 +#: netbox/templates/dcim/frontport.html:17 +#: netbox/templates/dcim/frontport.html:115 +#: netbox/templates/dcim/interface.html:187 +#: netbox/templates/dcim/rearport.html:105 msgid "Front Port" msgstr "前端口" -#: dcim/forms/model_forms.py:1093 dcim/forms/model_forms.py:1531 -#: dcim/tables/devices.py:705 -#: templates/circuits/inc/circuit_termination_fields.html:53 -#: templates/dcim/consoleport.html:79 templates/dcim/consoleserverport.html:80 -#: templates/dcim/frontport.html:50 templates/dcim/frontport.html:118 -#: templates/dcim/interface.html:190 templates/dcim/rearport.html:17 -#: templates/dcim/rearport.html:108 +#: netbox/dcim/forms/model_forms.py:1096 netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/tables/devices.py:693 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:53 +#: netbox/templates/dcim/consoleport.html:79 +#: netbox/templates/dcim/consoleserverport.html:80 +#: netbox/templates/dcim/frontport.html:50 +#: netbox/templates/dcim/frontport.html:118 +#: netbox/templates/dcim/interface.html:190 +#: netbox/templates/dcim/rearport.html:17 +#: netbox/templates/dcim/rearport.html:108 msgid "Rear Port" -msgstr "后端口" +msgstr "后置端口" -#: dcim/forms/model_forms.py:1094 dcim/forms/model_forms.py:1532 -#: dcim/tables/connections.py:46 dcim/tables/devices.py:509 -#: templates/dcim/poweroutlet.html:44 templates/dcim/powerport.html:17 +#: netbox/dcim/forms/model_forms.py:1097 netbox/dcim/forms/model_forms.py:1535 +#: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:500 +#: netbox/templates/dcim/poweroutlet.html:44 +#: netbox/templates/dcim/powerport.html:17 msgid "Power Port" -msgstr "电源端口" +msgstr "电源接口" -#: dcim/forms/model_forms.py:1095 dcim/forms/model_forms.py:1533 -#: templates/dcim/poweroutlet.html:17 templates/dcim/powerport.html:77 +#: netbox/dcim/forms/model_forms.py:1098 netbox/dcim/forms/model_forms.py:1536 +#: netbox/templates/dcim/poweroutlet.html:17 +#: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "电源插座" -#: dcim/forms/model_forms.py:1097 dcim/forms/model_forms.py:1535 +#: netbox/dcim/forms/model_forms.py:1100 netbox/dcim/forms/model_forms.py:1538 msgid "Component Assignment" msgstr "组件分配" -#: dcim/forms/model_forms.py:1140 dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1143 netbox/dcim/forms/model_forms.py:1585 msgid "An InventoryItem can only be assigned to a single component." -msgstr "库存物料只能分配给单个组件。" +msgstr "库存项只能分配给单个组件" -#: dcim/forms/model_forms.py:1277 +#: netbox/dcim/forms/model_forms.py:1280 msgid "LAG interface" -msgstr "LAG 接口" +msgstr "链路聚合接口" -#: dcim/forms/model_forms.py:1428 +#: netbox/dcim/forms/model_forms.py:1431 msgid "Child Device" -msgstr "儿童设备" +msgstr "子设备" -#: dcim/forms/model_forms.py:1429 +#: netbox/dcim/forms/model_forms.py:1432 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." -msgstr "必须首先创建子设备并将其分配到父设备的站点和机架。" +msgstr "必须首先创建子设备,并将其分配给父设备的站点和机柜。" -#: dcim/forms/model_forms.py:1471 +#: netbox/dcim/forms/model_forms.py:1474 msgid "Console port" -msgstr "控制台端口" +msgstr "Console 端口" -#: dcim/forms/model_forms.py:1479 +#: netbox/dcim/forms/model_forms.py:1482 msgid "Console server port" -msgstr "控制台服务器端口" +msgstr "Console 服务器端口" -#: dcim/forms/model_forms.py:1487 +#: netbox/dcim/forms/model_forms.py:1490 msgid "Front port" -msgstr "前端口" +msgstr "前置端口" -#: dcim/forms/model_forms.py:1503 +#: netbox/dcim/forms/model_forms.py:1506 msgid "Power outlet" msgstr "电源插座" -#: dcim/forms/model_forms.py:1523 templates/dcim/inventoryitem.html:17 +#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" -msgstr "库存物品" +msgstr "库存项" -#: dcim/forms/model_forms.py:1596 templates/dcim/inventoryitemrole.html:15 +#: netbox/dcim/forms/model_forms.py:1599 +#: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" -msgstr "库存物品角色" +msgstr "库存物品分类" -#: dcim/forms/model_forms.py:1614 templates/dcim/device.html:187 -#: templates/dcim/virtualdevicecontext.html:30 -#: templates/virtualization/virtualmachine.html:48 +#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:48 msgid "Primary IPv4" -msgstr "主要 IPv4" +msgstr "主 IPv4" -#: dcim/forms/model_forms.py:1623 templates/dcim/device.html:203 -#: templates/dcim/virtualdevicecontext.html:41 -#: templates/virtualization/virtualmachine.html:64 +#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:64 msgid "Primary IPv6" -msgstr "主要 IPv6" +msgstr "主 IPv6" -#: dcim/forms/object_create.py:48 dcim/forms/object_create.py:199 -#: dcim/forms/object_create.py:355 +#: netbox/dcim/forms/object_create.py:48 +#: netbox/dcim/forms/object_create.py:199 +#: netbox/dcim/forms/object_create.py:355 msgid "" "Alphanumeric ranges are supported. (Must match the number of objects being " "created.)" -msgstr "支持字母数字范围。(必须与正在创建的对象数量相匹配。)" +msgstr "支持字母数字范围。(必须与正在创建的对象数相匹配。)" -#: dcim/forms/object_create.py:68 +#: netbox/dcim/forms/object_create.py:68 #, python-brace-format msgid "" "The provided pattern specifies {value_count} values, but {pattern_count} are" " expected." -msgstr "提供的模式指定 {value_count} 价值观,但是 {pattern_count} 是预料之中的。" +msgstr "提供了 {value_count}个参数,实际需要{pattern_count}个。" -#: dcim/forms/object_create.py:110 dcim/forms/object_create.py:271 -#: dcim/tables/devices.py:257 +#: netbox/dcim/forms/object_create.py:110 +#: netbox/dcim/forms/object_create.py:271 netbox/dcim/tables/devices.py:249 msgid "Rear ports" -msgstr "后置端口" +msgstr "后向端口" -#: dcim/forms/object_create.py:111 dcim/forms/object_create.py:272 +#: netbox/dcim/forms/object_create.py:111 +#: netbox/dcim/forms/object_create.py:272 msgid "Select one rear port assignment for each front port being created." -msgstr "为正在创建的每个前端端口选择一个后端端口分配。" +msgstr "为正在创建的每个前向端口指定一个后向端口" -#: dcim/forms/object_create.py:164 +#: netbox/dcim/forms/object_create.py:164 #, python-brace-format msgid "" "The number of front port templates to be created ({frontport_count}) must " "match the selected number of rear port positions ({rearport_count})." -msgstr "要创建的前端模板的数量 ({frontport_count}) 必须与选定的后端端口位置数量相匹配 ({rearport_count})。" +msgstr "要创建的前向端口数({frontport_count}) 必须与所选的后向端口数({rearport_count})匹配。" -#: dcim/forms/object_create.py:251 +#: netbox/dcim/forms/object_create.py:251 #, python-brace-format msgid "" "The string {module} will be replaced with the position of the " "assigned module, if any." -msgstr "这条字符串 {module} 将替换为指定模块的位置(如果有)。" +msgstr "字符串{module} 将替换为指定位置的模块, (如果有的话)。" -#: dcim/forms/object_create.py:320 +#: netbox/dcim/forms/object_create.py:320 #, python-brace-format msgid "" "The number of front ports to be created ({frontport_count}) must match the " "selected number of rear port positions ({rearport_count})." -msgstr "要创建的前端端口的数量 ({frontport_count}) 必须与所选的后端端口位置数量相匹配 ({rearport_count})。" +msgstr "要创建的前向端口数 ({frontport_count}) 必须与所选的后向端口数({rearport_count})匹配。" -#: dcim/forms/object_create.py:409 dcim/tables/devices.py:1016 -#: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:53 -#: templates/dcim/virtualchassis_edit.html:47 templates/ipam/fhrpgroup.html:38 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:998 +#: netbox/ipam/tables/fhrp.py:31 netbox/templates/dcim/virtualchassis.html:53 +#: netbox/templates/dcim/virtualchassis_edit.html:47 +#: netbox/templates/ipam/fhrpgroup.html:38 msgid "Members" -msgstr "会员" +msgstr "成员" -#: dcim/forms/object_create.py:418 +#: netbox/dcim/forms/object_create.py:418 msgid "Initial position" msgstr "初始位置" -#: dcim/forms/object_create.py:421 +#: netbox/dcim/forms/object_create.py:421 msgid "" "Position of the first member device. Increases by one for each additional " "member." -msgstr "第一个成员设备的位置。每增加一个成员,就会增加一个。" +msgstr "第一个成员设备的位置。每增加一个成员增加一个。" -#: dcim/forms/object_create.py:435 +#: netbox/dcim/forms/object_create.py:435 msgid "A position must be specified for the first VC member." -msgstr "必须为第一个 VC 成员指定位置。" +msgstr "必须为第一个VC成员指定一个位置。" -#: dcim/models/cables.py:62 dcim/models/device_component_templates.py:55 -#: dcim/models/device_components.py:63 extras/models/customfields.py:109 +#: netbox/dcim/models/cables.py:62 +#: netbox/dcim/models/device_component_templates.py:55 +#: netbox/dcim/models/device_components.py:63 +#: netbox/extras/models/customfields.py:110 msgid "label" -msgstr "标签" +msgstr "标记" -#: dcim/models/cables.py:71 +#: netbox/dcim/models/cables.py:71 msgid "length" msgstr "长度" -#: dcim/models/cables.py:78 +#: netbox/dcim/models/cables.py:78 msgid "length unit" msgstr "长度单位" -#: dcim/models/cables.py:93 +#: netbox/dcim/models/cables.py:93 msgid "cable" msgstr "电缆" -#: dcim/models/cables.py:94 +#: netbox/dcim/models/cables.py:94 msgid "cables" -msgstr "电缆" +msgstr "线缆" -#: dcim/models/cables.py:163 +#: netbox/dcim/models/cables.py:163 msgid "Must specify a unit when setting a cable length" msgstr "设置电缆长度时必须指定单位" -#: dcim/models/cables.py:166 +#: netbox/dcim/models/cables.py:166 msgid "Must define A and B terminations when creating a new cable." -msgstr "创建新电缆时必须定义 A 和 B 端接。" +msgstr "创建新电缆时必须定义A端和B端。" -#: dcim/models/cables.py:173 +#: netbox/dcim/models/cables.py:173 msgid "Cannot connect different termination types to same end of cable." -msgstr "无法将不同的端接类型连接到电缆的同一端。" +msgstr "无法将不同的端点类型连接到电缆的两端。" -#: dcim/models/cables.py:181 +#: netbox/dcim/models/cables.py:181 #, python-brace-format msgid "Incompatible termination types: {type_a} and {type_b}" -msgstr "不兼容的终止类型: {type_a} 和 {type_b}" +msgstr "不兼容的端点类型: {type_a} 和{type_b}" -#: dcim/models/cables.py:191 +#: netbox/dcim/models/cables.py:191 msgid "A and B terminations cannot connect to the same object." -msgstr "A 和 B 终端无法连接到同一个对象。" +msgstr "A B端不能连接到同一个对象" -#: dcim/models/cables.py:258 ipam/models/asns.py:37 +#: netbox/dcim/models/cables.py:258 netbox/ipam/models/asns.py:37 msgid "end" msgstr "结束" -#: dcim/models/cables.py:311 +#: netbox/dcim/models/cables.py:311 msgid "cable termination" -msgstr "电缆终端" +msgstr "线缆端点" -#: dcim/models/cables.py:312 +#: netbox/dcim/models/cables.py:312 msgid "cable terminations" -msgstr "电缆终端" +msgstr "线缆端点" -#: dcim/models/cables.py:331 +#: netbox/dcim/models/cables.py:331 #, python-brace-format msgid "" "Duplicate termination found for {app_label}.{model} {termination_id}: cable " "{cable_pk}" -msgstr "发现以下项重复终止 {app_label}。{model} {termination_id}: 电缆 {cable_pk}" +msgstr "发现{app_label}重复成端:{model} {termination_id}: cable {cable_pk}" -#: dcim/models/cables.py:341 +#: netbox/dcim/models/cables.py:341 #, python-brace-format msgid "Cables cannot be terminated to {type_display} interfaces" -msgstr "电缆无法端接到 {type_display} 接口" +msgstr "电缆不能连接至{type_display} 接口" -#: dcim/models/cables.py:348 +#: netbox/dcim/models/cables.py:348 msgid "Circuit terminations attached to a provider network may not be cabled." -msgstr "连接到提供商网络的电路终端可能无法通过电缆连接。" +msgstr "运营商网络的线路可能没有连接。" -#: dcim/models/cables.py:446 extras/models/configs.py:50 +#: netbox/dcim/models/cables.py:446 netbox/extras/models/configs.py:50 msgid "is active" -msgstr "处于活动状态" +msgstr "激活的" -#: dcim/models/cables.py:450 +#: netbox/dcim/models/cables.py:450 msgid "is complete" -msgstr "已完成" +msgstr "完成的" -#: dcim/models/cables.py:454 +#: netbox/dcim/models/cables.py:454 msgid "is split" -msgstr "是分裂的" +msgstr "被拆分的" -#: dcim/models/cables.py:462 +#: netbox/dcim/models/cables.py:462 msgid "cable path" -msgstr "电缆路径" +msgstr "线缆连接路径" -#: dcim/models/cables.py:463 +#: netbox/dcim/models/cables.py:463 msgid "cable paths" -msgstr "电缆路径" +msgstr "线缆连接路径" -#: dcim/models/device_component_templates.py:46 +#: netbox/dcim/models/device_component_templates.py:46 #, python-brace-format msgid "" "{module} is accepted as a substitution for the module bay position when " "attached to a module type." -msgstr "{module} 当连接到模块类型时,可以作为模块托架位置的替代品。" +msgstr "当连接到模块类型时,{module} 被认定为模块托架位置的替代。" -#: dcim/models/device_component_templates.py:58 -#: dcim/models/device_components.py:66 +#: netbox/dcim/models/device_component_templates.py:58 +#: netbox/dcim/models/device_components.py:66 msgid "Physical label" -msgstr "实物标签" +msgstr "物理标签" -#: dcim/models/device_component_templates.py:103 +#: netbox/dcim/models/device_component_templates.py:103 msgid "Component templates cannot be moved to a different device type." msgstr "组件模板无法移动到其他设备类型。" -#: dcim/models/device_component_templates.py:154 +#: netbox/dcim/models/device_component_templates.py:154 msgid "" "A component template cannot be associated with both a device type and a " "module type." msgstr "组件模板不能同时与设备类型和模块类型相关联。" -#: dcim/models/device_component_templates.py:158 +#: netbox/dcim/models/device_component_templates.py:158 msgid "" "A component template must be associated with either a device type or a " "module type." msgstr "组件模板必须与设备类型或模块类型相关联。" -#: dcim/models/device_component_templates.py:186 +#: netbox/dcim/models/device_component_templates.py:186 msgid "console port template" -msgstr "控制台端口模板" +msgstr "console端口模板" -#: dcim/models/device_component_templates.py:187 +#: netbox/dcim/models/device_component_templates.py:187 msgid "console port templates" -msgstr "控制台端口模板" +msgstr "console端口模板" -#: dcim/models/device_component_templates.py:220 +#: netbox/dcim/models/device_component_templates.py:220 msgid "console server port template" -msgstr "控制台服务器端口模板" +msgstr "console服务器端口模板" -#: dcim/models/device_component_templates.py:221 +#: netbox/dcim/models/device_component_templates.py:221 msgid "console server port templates" -msgstr "控制台服务器端口模板" +msgstr "console服务器端口模板" -#: dcim/models/device_component_templates.py:252 -#: dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:252 +#: netbox/dcim/models/device_components.py:353 msgid "maximum draw" -msgstr "最大抽奖量" +msgstr "最大功率" -#: dcim/models/device_component_templates.py:259 -#: dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:259 +#: netbox/dcim/models/device_components.py:360 msgid "allocated draw" -msgstr "分配的抽奖" +msgstr "分配功率" -#: dcim/models/device_component_templates.py:269 +#: netbox/dcim/models/device_component_templates.py:269 msgid "power port template" -msgstr "电源端口模板" +msgstr "电源端口模版" -#: dcim/models/device_component_templates.py:270 +#: netbox/dcim/models/device_component_templates.py:270 msgid "power port templates" -msgstr "电源端口模板" +msgstr "电源端口模版" -#: dcim/models/device_component_templates.py:289 -#: dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:383 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." -msgstr "分配的抽奖不能超过最大抽奖额 ({maximum_draw}W)。" +msgstr "分配功率不能超过最大功率({maximum_draw}瓦)" -#: dcim/models/device_component_templates.py:321 -#: dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:321 +#: netbox/dcim/models/device_components.py:478 msgid "feed leg" -msgstr "喂腿" +msgstr "馈电线路" -#: dcim/models/device_component_templates.py:325 -#: dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:325 +#: netbox/dcim/models/device_components.py:482 msgid "Phase (for three-phase feeds)" -msgstr "相位(用于三相馈电)" +msgstr "相位(用于三相电)" -#: dcim/models/device_component_templates.py:331 +#: netbox/dcim/models/device_component_templates.py:331 msgid "power outlet template" -msgstr "电源插座模板" +msgstr "电源插座模版" -#: dcim/models/device_component_templates.py:332 +#: netbox/dcim/models/device_component_templates.py:332 msgid "power outlet templates" -msgstr "电源插座模板" +msgstr "电源插座模版" -#: dcim/models/device_component_templates.py:341 +#: netbox/dcim/models/device_component_templates.py:341 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" -msgstr "家长电源端口 ({power_port}) 必须属于相同的设备类型" +msgstr "父电源端口 ({power_port}) 必须属于相同的设备类型" -#: dcim/models/device_component_templates.py:345 +#: netbox/dcim/models/device_component_templates.py:345 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" -msgstr "家长电源端口 ({power_port}) 必须属于相同的模块类型" +msgstr "父电源端口 ({power_port}) 必须属于相同的设备类型" -#: dcim/models/device_component_templates.py:397 -#: dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:397 +#: netbox/dcim/models/device_components.py:612 msgid "management only" msgstr "仅限管理" -#: dcim/models/device_component_templates.py:405 -#: dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:405 +#: netbox/dcim/models/device_components.py:551 msgid "bridge interface" msgstr "桥接接口" -#: dcim/models/device_component_templates.py:423 -#: dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:637 msgid "wireless role" msgstr "无线角色" -#: dcim/models/device_component_templates.py:429 +#: netbox/dcim/models/device_component_templates.py:429 msgid "interface template" -msgstr "接口模板" +msgstr "接口模版" -#: dcim/models/device_component_templates.py:430 +#: netbox/dcim/models/device_component_templates.py:430 msgid "interface templates" -msgstr "界面模板" +msgstr "接口模版" -#: dcim/models/device_component_templates.py:437 -#: dcim/models/device_components.py:805 -#: virtualization/models/virtualmachines.py:400 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:805 +#: netbox/virtualization/models/virtualmachines.py:400 msgid "An interface cannot be bridged to itself." -msgstr "接口无法桥接到自身。" +msgstr "接口不能桥接到自己" -#: dcim/models/device_component_templates.py:440 +#: netbox/dcim/models/device_component_templates.py:440 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" -msgstr "桥接接口 ({bridge}) 必须属于相同的设备类型" +msgstr "桥接接口({bridge}) 必须属于相同的设备类型" -#: dcim/models/device_component_templates.py:444 +#: netbox/dcim/models/device_component_templates.py:444 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" -msgstr "桥接接口 ({bridge}) 必须属于相同的模块类型" +msgstr "桥接接口({bridge}) 必须属于相同的模块类型" -#: dcim/models/device_component_templates.py:500 -#: dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:500 +#: netbox/dcim/models/device_components.py:985 msgid "rear port position" -msgstr "后方端口位置" +msgstr "后向端口位置" -#: dcim/models/device_component_templates.py:525 +#: netbox/dcim/models/device_component_templates.py:525 msgid "front port template" -msgstr "前端模板" +msgstr "前端口模板" -#: dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_component_templates.py:526 msgid "front port templates" -msgstr "前端模板" +msgstr "前端口模板" -#: dcim/models/device_component_templates.py:536 +#: netbox/dcim/models/device_component_templates.py:536 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" -msgstr "后端口 ({name}) 必须属于相同的设备类型" +msgstr "后端口({name})必须属于相同的设备类型" -#: dcim/models/device_component_templates.py:542 +#: netbox/dcim/models/device_component_templates.py:542 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " "positions" -msgstr "后置端口位置无效 ({position}); 后端口 {name} 只有 {count} 位置" +msgstr "无效的后端口位置 ({position});后端口{name}只有{count}个" -#: dcim/models/device_component_templates.py:595 -#: dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:595 +#: netbox/dcim/models/device_components.py:1054 msgid "positions" -msgstr "位置" +msgstr "可映射端口数" -#: dcim/models/device_component_templates.py:606 +#: netbox/dcim/models/device_component_templates.py:606 msgid "rear port template" -msgstr "后置端口模板" +msgstr "后端口模版" -#: dcim/models/device_component_templates.py:607 +#: netbox/dcim/models/device_component_templates.py:607 msgid "rear port templates" -msgstr "后置端口模板" +msgstr "后端口模版" -#: dcim/models/device_component_templates.py:636 -#: dcim/models/device_components.py:1095 +#: netbox/dcim/models/device_component_templates.py:636 +#: netbox/dcim/models/device_components.py:1095 msgid "position" -msgstr "位置" +msgstr "机柜位置" -#: dcim/models/device_component_templates.py:639 -#: dcim/models/device_components.py:1098 +#: netbox/dcim/models/device_component_templates.py:639 +#: netbox/dcim/models/device_components.py:1098 msgid "Identifier to reference when renaming installed components" -msgstr "重命名已安装组件时要参考的标识符" +msgstr "重命名已安装组件时要引用的标识符" -#: dcim/models/device_component_templates.py:645 +#: netbox/dcim/models/device_component_templates.py:645 msgid "module bay template" -msgstr "模块托架模板" +msgstr "模块托架模版" -#: dcim/models/device_component_templates.py:646 +#: netbox/dcim/models/device_component_templates.py:646 msgid "module bay templates" -msgstr "模块托架模板" +msgstr "模块托架模版" -#: dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:673 msgid "device bay template" -msgstr "设备托架模板" +msgstr "设备托架模版" -#: dcim/models/device_component_templates.py:674 +#: netbox/dcim/models/device_component_templates.py:674 msgid "device bay templates" -msgstr "设备托架模板" +msgstr "设备托架模版" -#: dcim/models/device_component_templates.py:687 +#: netbox/dcim/models/device_component_templates.py:687 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " "allow device bays." -msgstr "设备类型的子设备角色 ({device_type}) 必须设置为 “父级” 才能允许设备托架。" +msgstr "设备类型({device_type})的子设备角色必须设置为“父设备”,才能允许设备托架。" -#: dcim/models/device_component_templates.py:742 -#: dcim/models/device_components.py:1224 +#: netbox/dcim/models/device_component_templates.py:742 +#: netbox/dcim/models/device_components.py:1224 msgid "part ID" -msgstr "零件编号" +msgstr "零件ID" -#: dcim/models/device_component_templates.py:744 -#: dcim/models/device_components.py:1226 +#: netbox/dcim/models/device_component_templates.py:744 +#: netbox/dcim/models/device_components.py:1226 msgid "Manufacturer-assigned part identifier" -msgstr "制造商分配的零件标识符" +msgstr "制造商指定的零件标识符" -#: dcim/models/device_component_templates.py:761 +#: netbox/dcim/models/device_component_templates.py:761 msgid "inventory item template" -msgstr "库存商品模板" +msgstr "库存项模版" -#: dcim/models/device_component_templates.py:762 +#: netbox/dcim/models/device_component_templates.py:762 msgid "inventory item templates" -msgstr "库存商品模板" +msgstr "库存项模版" -#: dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:106 msgid "Components cannot be moved to a different device." -msgstr "组件不能移动到其他设备上。" +msgstr "组件模板无法移动到其他设备类型。" -#: dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:145 msgid "cable end" -msgstr "电缆末端" +msgstr "线缆终点" -#: dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:151 msgid "mark connected" msgstr "标记已连接" -#: dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:153 msgid "Treat as if a cable is connected" -msgstr "像连接电缆一样对待" +msgstr "视为电缆已连接" -#: dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:171 msgid "Must specify cable end (A or B) when attaching a cable." -msgstr "连接电缆时必须指定电缆末端(A 或 B)。" +msgstr "连接电缆时必须指定电缆末端(A或B)。" -#: dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:175 msgid "Cable end must not be set without a cable." -msgstr "不得在没有电缆的情况下设置电缆末端。" +msgstr "不得在没有线缆的情况下设置线缆末端。" -#: dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:179 msgid "Cannot mark as connected with a cable attached." -msgstr "无法将连接电缆标记为已连接。" +msgstr "无法标记为已连接线缆。" -#: dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:203 #, python-brace-format msgid "{class_name} models must declare a parent_object property" -msgstr "{class_name} 模型必须声明 parent_object 属性" +msgstr "{class_name}模块必须声明上架类型" -#: dcim/models/device_components.py:288 dcim/models/device_components.py:317 -#: dcim/models/device_components.py:350 dcim/models/device_components.py:468 +#: netbox/dcim/models/device_components.py:288 +#: netbox/dcim/models/device_components.py:317 +#: netbox/dcim/models/device_components.py:350 +#: netbox/dcim/models/device_components.py:468 msgid "Physical port type" msgstr "物理端口类型" -#: dcim/models/device_components.py:291 dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:291 +#: netbox/dcim/models/device_components.py:320 msgid "speed" -msgstr "速度" +msgstr "速率" -#: dcim/models/device_components.py:295 dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:295 +#: netbox/dcim/models/device_components.py:324 msgid "Port speed in bits per second" -msgstr "以比特每秒为单位的端口速度" +msgstr "端口速度(单位bps)" -#: dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:301 msgid "console port" -msgstr "控制台端口" +msgstr "console端口" -#: dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:302 msgid "console ports" -msgstr "控制台端口" +msgstr "console端口" -#: dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:330 msgid "console server port" -msgstr "控制台服务器端口" +msgstr "console服务器端口" -#: dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:331 msgid "console server ports" -msgstr "控制台服务器端口" +msgstr "console服务器端口" -#: dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:370 msgid "power port" -msgstr "电源端口" +msgstr "电源接口" -#: dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:371 msgid "power ports" -msgstr "电源端口" +msgstr "电源接口" -#: dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:488 msgid "power outlet" msgstr "电源插座" -#: dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:489 msgid "power outlets" msgstr "电源插座" -#: dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:500 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" -msgstr "家长电源端口 ({power_port}) 必须属于同一个设备" +msgstr "父电源端口({power_port})必须属于同一设备" -#: dcim/models/device_components.py:531 vpn/models/crypto.py:81 -#: vpn/models/crypto.py:226 +#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "模式" -#: dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:535 msgid "IEEE 802.1Q tagging strategy" -msgstr "IEEE 802.1Q 标记策略" +msgstr "VLAN策略" -#: dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:543 msgid "parent interface" msgstr "父接口" -#: dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:603 msgid "parent LAG" -msgstr "父级 LAG" +msgstr "父聚合组" -#: dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:613 msgid "This interface is used only for out-of-band management" -msgstr "此接口仅用于带外管理" +msgstr "该接口仅用于带外管理" -#: dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:618 msgid "speed (Kbps)" -msgstr "速度 (Kbps)" +msgstr "速率(Kbps)" -#: dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:621 msgid "duplex" msgstr "双工" -#: dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:631 msgid "64-bit World Wide Name" -msgstr "64 位全球通用名称" +msgstr "64位WWN" -#: dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:643 msgid "wireless channel" -msgstr "无线频道" +msgstr "无线信道" -#: dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:650 msgid "channel frequency (MHz)" -msgstr "信道频率 (MHz)" +msgstr "信道频率(MHz)" -#: dcim/models/device_components.py:651 dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:651 +#: netbox/dcim/models/device_components.py:659 msgid "Populated by selected channel (if set)" -msgstr "由所选频道填充(如果已设置)" +msgstr "由所选通道填充(如有)" -#: dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:665 msgid "transmit power (dBm)" -msgstr "发射功率 (dBm)" +msgstr "发射功率(dBm)" -#: dcim/models/device_components.py:690 wireless/models.py:116 +#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:116 msgid "wireless LANs" msgstr "无线局域网" -#: dcim/models/device_components.py:698 -#: virtualization/models/virtualmachines.py:330 +#: netbox/dcim/models/device_components.py:698 +#: netbox/virtualization/models/virtualmachines.py:330 msgid "untagged VLAN" -msgstr "未标记的 VLAN" +msgstr "untagged VLAN" -#: dcim/models/device_components.py:704 -#: virtualization/models/virtualmachines.py:336 +#: netbox/dcim/models/device_components.py:704 +#: netbox/virtualization/models/virtualmachines.py:336 msgid "tagged VLANs" -msgstr "标记的 VLAN" +msgstr "tagged VLANs" -#: dcim/models/device_components.py:746 -#: virtualization/models/virtualmachines.py:372 +#: netbox/dcim/models/device_components.py:746 +#: netbox/virtualization/models/virtualmachines.py:372 msgid "interface" -msgstr "界面" +msgstr "接口" -#: dcim/models/device_components.py:747 -#: virtualization/models/virtualmachines.py:373 +#: netbox/dcim/models/device_components.py:747 +#: netbox/virtualization/models/virtualmachines.py:373 msgid "interfaces" msgstr "接口" -#: dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:758 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." -msgstr "{display_type} 接口不能连接电缆。" +msgstr "{display_type}接口不能连接线缆。" -#: dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:766 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." -msgstr "{display_type} 接口无法标记为已连接。" +msgstr "{display_type}接口不能标记为已连接。" -#: dcim/models/device_components.py:775 -#: virtualization/models/virtualmachines.py:385 +#: netbox/dcim/models/device_components.py:775 +#: netbox/virtualization/models/virtualmachines.py:385 msgid "An interface cannot be its own parent." -msgstr "接口不能是自己的父接口。" +msgstr "接口不能是自己的父级。" -#: dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:779 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "只能将虚拟接口分配给父接口。" -#: dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:786 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " "({device})" -msgstr "选定的父接口 ({interface}) 属于不同的设备 ({device})" +msgstr "所选父接口({interface}) 属于另一个设备 ({device})" -#: dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:792 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " "not part of virtual chassis {virtual_chassis}." -msgstr "选定的父接口 ({interface}) 属于 {device},它不是虚拟机箱的一部分 {virtual_chassis}。" +msgstr "所选的父接口({interface})属于 {device},该设备不是虚拟机箱{virtual_chassis}的一部分。" -#: dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:812 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " "({device})." -msgstr "选定的网桥接口 ({bridge}) 属于不同的设备 ({device})。" +msgstr "所选桥接接口 ({bridge})属于另一个设备({device})。" -#: dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:818 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " "not part of virtual chassis {virtual_chassis}." -msgstr "选定的网桥接口 ({interface}) 属于 {device},它不是虚拟机箱的一部分 {virtual_chassis}。" +msgstr "所选的桥接接口({interface})属于 {device},该设备不是虚拟机箱{virtual_chassis}的一部分。" -#: dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:829 msgid "Virtual interfaces cannot have a parent LAG interface." -msgstr "虚拟接口不能有父 LAG 接口。" +msgstr "虚拟接口不能具有父聚合接口。" -#: dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:833 msgid "A LAG interface cannot be its own parent." -msgstr "LAG 接口不能成为自己的父接口。" +msgstr "聚合接口不能是自己的父级。" -#: dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:840 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." -msgstr "所选的 LAG 接口 ({lag}) 属于不同的设备 ({device})。" +msgstr "选择的LAG接口 ({lag}) 属于不同的设备 ({device})." -#: dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:846 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" " virtual chassis {virtual_chassis}." -msgstr "所选的 LAG 接口 ({lag}) 属于 {device},它不是虚拟机箱的一部分 {virtual_chassis}。" +msgstr "选择的LAG接口 ({lag}) 属于 {device}, 它不是虚拟机箱的一部分 {virtual_chassis}." -#: dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:857 msgid "Virtual interfaces cannot have a PoE mode." -msgstr "虚拟接口不能具有 PoE 模式。" +msgstr "虚拟接口不能具有PoE模式。" -#: dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:861 msgid "Virtual interfaces cannot have a PoE type." -msgstr "虚拟接口不能有 PoE 类型。" +msgstr "虚拟接口不能是PoE类型。" -#: dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:867 msgid "Must specify PoE mode when designating a PoE type." -msgstr "指定 PoE 类型时必须指定 PoE 模式。" +msgstr "指定PoE类型时必须指定PoE模式。" -#: dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:874 msgid "Wireless role may be set only on wireless interfaces." msgstr "只能在无线接口上设置无线角色。" -#: dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:876 msgid "Channel may be set only on wireless interfaces." msgstr "只能在无线接口上设置信道。" -#: dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:882 msgid "Channel frequency may be set only on wireless interfaces." -msgstr "只能在无线接口上设置信道频率。" +msgstr "信道频率仅在无线接口上设置。" -#: dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:886 msgid "Cannot specify custom frequency with channel selected." -msgstr "无法在选定频道时指定自定义频率。" +msgstr "无法在选定频道的情况下指定自定义频率。" -#: dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:892 msgid "Channel width may be set only on wireless interfaces." -msgstr "信道宽度只能在无线接口上设置。" +msgstr "只能在无线接口上设置频宽。" -#: dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:894 msgid "Cannot specify custom width with channel selected." -msgstr "无法在选择频道时指定自定义宽度。" +msgstr "无法在选定通道的情况下指定自定义频宽。" -#: dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:902 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " "interface's parent device, or it must be global." -msgstr "未标记的 VLAN ({untagged_vlan}) 必须与接口的父设备属于同一个站点,或者必须是全局的。" +msgstr "不打标记的VLAN({untagged_vlan})必须与接口所属设备/虚拟机属于同一站点,或者是全局VLAN" -#: dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:991 msgid "Mapped position on corresponding rear port" -msgstr "相应的后端端口上的映射位置" +msgstr "对应后端口上的映射位置" -#: dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1007 msgid "front port" -msgstr "前端口" +msgstr "前置端口" -#: dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1008 msgid "front ports" -msgstr "前端口" +msgstr "前置端口" -#: dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1022 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" -msgstr "后端口 ({rear_port}) 必须属于同一个设备" +msgstr "后端口({rear_port})必须属于同一设备" -#: dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1030 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" " {positions} positions." -msgstr "后置端口位置无效 ({rear_port_position}): 后端口 {name} 只有 {positions} 职位。" +msgstr "无效的后端口位置({rear_port_position});后端口{name}只有 {positions}个" -#: dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1060 msgid "Number of front ports which may be mapped" -msgstr "可以映射的前端端口的数量" +msgstr "可以映射的前端口数" -#: dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1065 msgid "rear port" -msgstr "后端口" +msgstr "后置端口" -#: dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1066 msgid "rear ports" -msgstr "后端口" +msgstr "后向端口" -#: dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1080 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" " ({frontport_count})" -msgstr "位置的数量不能小于映射的前端端口的数量({frontport_count})" +msgstr "位置数不能小于映射的前端端口数({frontport_count})" -#: dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_components.py:1104 msgid "module bay" -msgstr "模块托架" +msgstr "设备板卡插槽" -#: dcim/models/device_components.py:1105 +#: netbox/dcim/models/device_components.py:1105 msgid "module bays" -msgstr "模块托架" +msgstr "设备板卡插槽" -#: dcim/models/device_components.py:1126 +#: netbox/dcim/models/device_components.py:1126 msgid "device bay" msgstr "设备托架" -#: dcim/models/device_components.py:1127 +#: netbox/dcim/models/device_components.py:1127 msgid "device bays" msgstr "设备托架" -#: dcim/models/device_components.py:1137 +#: netbox/dcim/models/device_components.py:1137 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." -msgstr "这种类型的设备({device_type}) 不支持设备托架。" +msgstr "此类型的设备 ({device_type}) 不支持设备托架。" -#: dcim/models/device_components.py:1143 +#: netbox/dcim/models/device_components.py:1143 msgid "Cannot install a device into itself." -msgstr "无法自行安装设备。" +msgstr "无法将设备安装到自身中。" -#: dcim/models/device_components.py:1151 +#: netbox/dcim/models/device_components.py:1151 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." -msgstr "无法安装指定的设备;设备已安装在 {bay}。" +msgstr "无法安装指定的设备;设备已安装在{bay}中。" -#: dcim/models/device_components.py:1172 +#: netbox/dcim/models/device_components.py:1172 msgid "inventory item role" -msgstr "库存物品角色" +msgstr "库存物品分类" -#: dcim/models/device_components.py:1173 +#: netbox/dcim/models/device_components.py:1173 msgid "inventory item roles" -msgstr "库存物品角色" +msgstr "库存物品分类" -#: dcim/models/device_components.py:1230 dcim/models/devices.py:597 -#: dcim/models/devices.py:1163 dcim/models/racks.py:114 +#: netbox/dcim/models/device_components.py:1230 +#: netbox/dcim/models/devices.py:597 netbox/dcim/models/devices.py:1163 +#: netbox/dcim/models/racks.py:114 msgid "serial number" msgstr "序列号" -#: dcim/models/device_components.py:1238 dcim/models/devices.py:605 -#: dcim/models/devices.py:1170 dcim/models/racks.py:121 +#: netbox/dcim/models/device_components.py:1238 +#: netbox/dcim/models/devices.py:605 netbox/dcim/models/devices.py:1170 +#: netbox/dcim/models/racks.py:121 msgid "asset tag" msgstr "资产标签" -#: dcim/models/device_components.py:1239 +#: netbox/dcim/models/device_components.py:1239 msgid "A unique tag used to identify this item" -msgstr "用于识别此商品的独特标签" +msgstr "用于识别该项目的唯一标识" -#: dcim/models/device_components.py:1242 +#: netbox/dcim/models/device_components.py:1242 msgid "discovered" -msgstr "发现了" +msgstr "已发现" -#: dcim/models/device_components.py:1244 +#: netbox/dcim/models/device_components.py:1244 msgid "This item was automatically discovered" -msgstr "此物品已被自动发现" +msgstr "此项目是自动发现的" -#: dcim/models/device_components.py:1262 +#: netbox/dcim/models/device_components.py:1262 msgid "inventory item" -msgstr "库存物品" +msgstr "库存项" -#: dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_components.py:1263 msgid "inventory items" -msgstr "库存物品" +msgstr "库存项" -#: dcim/models/device_components.py:1274 +#: netbox/dcim/models/device_components.py:1274 msgid "Cannot assign self as parent." -msgstr "无法将自己指定为父母。" +msgstr "无法将自身分配为父级。" -#: dcim/models/device_components.py:1282 +#: netbox/dcim/models/device_components.py:1282 msgid "Parent inventory item does not belong to the same device." -msgstr "父库存物品不属于同一个设备。" +msgstr "父库存项不能属于同一设备。" -#: dcim/models/device_components.py:1288 +#: netbox/dcim/models/device_components.py:1288 msgid "Cannot move an inventory item with dependent children" -msgstr "无法移动带有受抚养子女的库存物品" +msgstr "无法移动具有子项的库存项目" -#: dcim/models/device_components.py:1296 +#: netbox/dcim/models/device_components.py:1296 msgid "Cannot assign inventory item to component on another device" -msgstr "无法将库存项目分配给其他设备上的组件" +msgstr "无法将库存项分配给其他设备上的组件" -#: dcim/models/devices.py:54 +#: netbox/dcim/models/devices.py:54 msgid "manufacturer" -msgstr "制造商" +msgstr "厂商" -#: dcim/models/devices.py:55 +#: netbox/dcim/models/devices.py:55 msgid "manufacturers" -msgstr "制造商" +msgstr "厂商" -#: dcim/models/devices.py:82 dcim/models/devices.py:382 +#: netbox/dcim/models/devices.py:82 netbox/dcim/models/devices.py:382 msgid "model" -msgstr "模型" +msgstr "型号" -#: dcim/models/devices.py:95 +#: netbox/dcim/models/devices.py:95 msgid "default platform" -msgstr "默认平台" +msgstr "默认系统平台" -#: dcim/models/devices.py:98 dcim/models/devices.py:386 +#: netbox/dcim/models/devices.py:98 netbox/dcim/models/devices.py:386 msgid "part number" -msgstr "零件号" +msgstr "部件编码(PN)" -#: dcim/models/devices.py:101 dcim/models/devices.py:389 +#: netbox/dcim/models/devices.py:101 netbox/dcim/models/devices.py:389 msgid "Discrete part number (optional)" -msgstr "分立部件号(可选)" +msgstr "独立部件编码(PN) (可选)" -#: dcim/models/devices.py:107 dcim/models/racks.py:138 +#: netbox/dcim/models/devices.py:107 netbox/dcim/models/racks.py:138 msgid "height (U)" -msgstr "身高 (U)" +msgstr "高度(U)" -#: dcim/models/devices.py:111 +#: netbox/dcim/models/devices.py:111 msgid "exclude from utilization" -msgstr "排除在使用范围之外" +msgstr "从利用率中排除" -#: dcim/models/devices.py:112 +#: netbox/dcim/models/devices.py:112 msgid "Devices of this type are excluded when calculating rack utilization." -msgstr "计算机架利用率时,不包括此类设备。" +msgstr "计算机柜利用率时,不包括此类设备。" -#: dcim/models/devices.py:116 +#: netbox/dcim/models/devices.py:116 msgid "is full depth" -msgstr "是全深的" +msgstr "是否全尺寸" -#: dcim/models/devices.py:117 +#: netbox/dcim/models/devices.py:117 msgid "Device consumes both front and rear rack faces." -msgstr "设备消耗前后机架表面。" +msgstr "设备同时使用机柜的前面板和后面板。" -#: dcim/models/devices.py:123 +#: netbox/dcim/models/devices.py:123 msgid "parent/child status" -msgstr "父母/子女身份" +msgstr "父设备/子设备状态" -#: dcim/models/devices.py:124 +#: netbox/dcim/models/devices.py:124 msgid "" "Parent devices house child devices in device bays. Leave blank if this " "device type is neither a parent nor a child." -msgstr "父设备将子设备存放在设备托架中。如果此设备类型既不是家长也不是孩子,请留空。" +msgstr "父设备将子设备放置在设备托架中。如果此设备类型既不是父设备也不是子设备,请保留为空。" -#: dcim/models/devices.py:128 dcim/models/devices.py:649 +#: netbox/dcim/models/devices.py:128 netbox/dcim/models/devices.py:649 msgid "airflow" -msgstr "空气流动" +msgstr "气流方向" -#: dcim/models/devices.py:204 +#: netbox/dcim/models/devices.py:204 msgid "device type" -msgstr "设备类型" +msgstr "设备型号" -#: dcim/models/devices.py:205 +#: netbox/dcim/models/devices.py:205 msgid "device types" -msgstr "设备类型" +msgstr "设备型号" -#: dcim/models/devices.py:290 +#: netbox/dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." -msgstr "U 高度必须以 0.5 个机架单位为增量。" +msgstr "U位数必须以0.5U为增量。" -#: dcim/models/devices.py:307 +#: netbox/dcim/models/devices.py:307 #, python-brace-format msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" " a height of {height}U" -msgstr "设备 {device} 在机架上 {rack} 没有足够的空间来容纳高度 {height}U" +msgstr "机柜 {rack}没有足够的空间容纳{height}U的设备 {device}" -#: dcim/models/devices.py:322 +#: netbox/dcim/models/devices.py:322 #, python-brace-format msgid "" "Unable to set 0U height: Found {racked_instance_count} " "instances already mounted within racks." -msgstr "无法设置 0U 高度:已找到 {racked_instance_count} 实例 已经安装在机架中。" +msgstr "无法设置高度为0U: 发现 {racked_instance_count}个设备已经安装在机柜中。" -#: dcim/models/devices.py:331 +#: netbox/dcim/models/devices.py:331 msgid "" "Must delete all device bay templates associated with this device before " "declassifying it as a parent device." -msgstr "必须先删除与该设备关联的所有设备托架模板,然后才能将其取消归类为父设备。" +msgstr "必须删除与此设备关联的所有设备托架模板,然后才能将其修改为父设备。" -#: dcim/models/devices.py:337 +#: netbox/dcim/models/devices.py:337 msgid "Child device types must be 0U." -msgstr "子设备类型必须为 0U。" +msgstr "子设备类型高度必须为0U。" -#: dcim/models/devices.py:405 +#: netbox/dcim/models/devices.py:405 msgid "module type" msgstr "模块类型" -#: dcim/models/devices.py:406 +#: netbox/dcim/models/devices.py:406 msgid "module types" msgstr "模块类型" -#: dcim/models/devices.py:475 +#: netbox/dcim/models/devices.py:475 msgid "Virtual machines may be assigned to this role" -msgstr "可以将虚拟机分配给此角色" +msgstr "虚拟机可以使用该型号/角色" -#: dcim/models/devices.py:487 +#: netbox/dcim/models/devices.py:487 msgid "device role" msgstr "设备角色" -#: dcim/models/devices.py:488 +#: netbox/dcim/models/devices.py:488 msgid "device roles" msgstr "设备角色" -#: dcim/models/devices.py:505 +#: netbox/dcim/models/devices.py:505 msgid "Optionally limit this platform to devices of a certain manufacturer" -msgstr "(可选)将此平台限制为特定制造商的设备" +msgstr "可选择将此平台限定为特定制造商的设备" -#: dcim/models/devices.py:517 +#: netbox/dcim/models/devices.py:517 msgid "platform" -msgstr "平台" +msgstr "操作系统" -#: dcim/models/devices.py:518 +#: netbox/dcim/models/devices.py:518 msgid "platforms" -msgstr "平台" +msgstr "操作系统" -#: dcim/models/devices.py:566 +#: netbox/dcim/models/devices.py:566 msgid "The function this device serves" -msgstr "此设备提供的功能" +msgstr "该设备的角色" -#: dcim/models/devices.py:598 +#: netbox/dcim/models/devices.py:598 msgid "Chassis serial number, assigned by the manufacturer" -msgstr "机箱序列号,由制造商分配" +msgstr "制造商分配的机箱序列号" -#: dcim/models/devices.py:606 dcim/models/devices.py:1171 +#: netbox/dcim/models/devices.py:606 netbox/dcim/models/devices.py:1171 msgid "A unique tag used to identify this device" -msgstr "用于识别此设备的唯一标签" +msgstr "用于识别该设备的唯一标签" -#: dcim/models/devices.py:633 +#: netbox/dcim/models/devices.py:633 msgid "position (U)" -msgstr "位置 (U)" +msgstr "机柜位置(U)" -#: dcim/models/devices.py:640 +#: netbox/dcim/models/devices.py:640 msgid "rack face" -msgstr "机架面" +msgstr "机柜安装方向" -#: dcim/models/devices.py:660 dcim/models/devices.py:1380 -#: virtualization/models/virtualmachines.py:100 +#: netbox/dcim/models/devices.py:660 netbox/dcim/models/devices.py:1380 +#: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" -msgstr "主 IPv4" +msgstr "主IPv4" -#: dcim/models/devices.py:668 dcim/models/devices.py:1388 -#: virtualization/models/virtualmachines.py:108 +#: netbox/dcim/models/devices.py:668 netbox/dcim/models/devices.py:1388 +#: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" -msgstr "主要 IPv6" +msgstr "主IPv6" -#: dcim/models/devices.py:676 +#: netbox/dcim/models/devices.py:676 msgid "out-of-band IP" -msgstr "带外 IP" +msgstr "带外管理IP地址" -#: dcim/models/devices.py:693 +#: netbox/dcim/models/devices.py:693 msgid "VC position" -msgstr "风险投资职位" +msgstr "堆叠位置" -#: dcim/models/devices.py:696 +#: netbox/dcim/models/devices.py:696 msgid "Virtual chassis position" -msgstr "虚拟机箱位置" +msgstr "堆叠位置" -#: dcim/models/devices.py:699 +#: netbox/dcim/models/devices.py:699 msgid "VC priority" -msgstr "风险投资优先" +msgstr "VC优先级" -#: dcim/models/devices.py:703 +#: netbox/dcim/models/devices.py:703 msgid "Virtual chassis master election priority" -msgstr "虚拟机箱主选举优先级" +msgstr "堆叠主设备优先级" -#: dcim/models/devices.py:706 dcim/models/sites.py:207 +#: netbox/dcim/models/devices.py:706 netbox/dcim/models/sites.py:207 msgid "latitude" msgstr "纬度" -#: dcim/models/devices.py:711 dcim/models/devices.py:719 -#: dcim/models/sites.py:212 dcim/models/sites.py:220 +#: netbox/dcim/models/devices.py:711 netbox/dcim/models/devices.py:719 +#: netbox/dcim/models/sites.py:212 netbox/dcim/models/sites.py:220 msgid "GPS coordinate in decimal format (xx.yyyyyy)" -msgstr "十进制格式的 GPS 坐标 (xx.yyyyy)" +msgstr "GPS坐标(数字格式, xx.yyyyyy)" -#: dcim/models/devices.py:714 dcim/models/sites.py:215 +#: netbox/dcim/models/devices.py:714 netbox/dcim/models/sites.py:215 msgid "longitude" msgstr "经度" -#: dcim/models/devices.py:787 +#: netbox/dcim/models/devices.py:787 msgid "Device name must be unique per site." -msgstr "每个站点的设备名称必须是唯一的。" +msgstr "每个站点的设备名称必须唯一。" -#: dcim/models/devices.py:798 ipam/models/services.py:74 +#: netbox/dcim/models/devices.py:798 netbox/ipam/models/services.py:75 msgid "device" msgstr "设备" -#: dcim/models/devices.py:799 +#: netbox/dcim/models/devices.py:799 msgid "devices" msgstr "设备" -#: dcim/models/devices.py:825 +#: netbox/dcim/models/devices.py:825 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." -msgstr "机架 {rack} 不属于网站 {site}。" +msgstr "机柜 {rack} 不属于 {site}站点." -#: dcim/models/devices.py:830 +#: netbox/dcim/models/devices.py:830 #, python-brace-format msgid "Location {location} does not belong to site {site}." -msgstr "地点 {location} 不属于网站 {site}。" +msgstr "地点 {location} 不属于 {site}站点." -#: dcim/models/devices.py:836 +#: netbox/dcim/models/devices.py:836 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." -msgstr "机架 {rack} 不属于地点 {location}。" +msgstr "机柜{rack}不属于{location}地点." -#: dcim/models/devices.py:843 +#: netbox/dcim/models/devices.py:843 msgid "Cannot select a rack face without assigning a rack." -msgstr "如果不分配机架,就无法选择机架面。" +msgstr "在未分配机柜的情况下,无法选择安装在机柜的哪一面。" -#: dcim/models/devices.py:847 +#: netbox/dcim/models/devices.py:847 msgid "Cannot select a rack position without assigning a rack." -msgstr "如果不分配机架,就无法选择机架位置。" +msgstr "在未分配机柜的情况下,无法选择安装在机柜的哪个位置。" -#: dcim/models/devices.py:853 +#: netbox/dcim/models/devices.py:853 msgid "Position must be in increments of 0.5 rack units." -msgstr "位置必须以 0.5 个机架单位为增量。" +msgstr "机柜位置必须以0.5个U位递增。" -#: dcim/models/devices.py:857 +#: netbox/dcim/models/devices.py:857 msgid "Must specify rack face when defining rack position." -msgstr "定义机架位置时必须指定机架面。" +msgstr "指定机柜安装位置时必须指定安装在机柜的哪一面。" -#: dcim/models/devices.py:865 +#: netbox/dcim/models/devices.py:865 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." -msgstr "一个 0U 设备类型 ({device_type}) 无法分配给机架位置。" +msgstr "无法将0U的设备类型({device_type})的设备安装在机柜中。" -#: dcim/models/devices.py:876 +#: netbox/dcim/models/devices.py:876 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." -msgstr "无法将子设备类型分配给机架面。这是父设备的属性。" +msgstr "子设备类型不能安装到机柜的前/后面。这是父设备的一个属性。" -#: dcim/models/devices.py:883 +#: netbox/dcim/models/devices.py:883 msgid "" "Child device types cannot be assigned to a rack position. This is an " "attribute of the parent device." -msgstr "无法将子设备类型分配给机架位置。这是父设备的属性。" +msgstr "子设备类型不能安装到机柜某个位置。这是父设备的一个属性。" -#: dcim/models/devices.py:897 +#: netbox/dcim/models/devices.py:897 #, python-brace-format msgid "" "U{position} is already occupied or does not have sufficient space to " "accommodate this device type: {device_type} ({u_height}U)" -msgstr "U{position} 已被占用或空间不足,无法容纳此设备类型: {device_type} ({u_height}U)" +msgstr "{position}U已被占用或没有足够的空间容纳此设备类型:{device_type} ({u_height}U)" -#: dcim/models/devices.py:912 +#: netbox/dcim/models/devices.py:912 #, python-brace-format msgid "{ip} is not an IPv4 address." -msgstr "{ip} 不是 IPv4 地址。" +msgstr "{ip} 不是一个正确的IPv4地址" -#: dcim/models/devices.py:921 dcim/models/devices.py:936 +#: netbox/dcim/models/devices.py:921 netbox/dcim/models/devices.py:936 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this device." -msgstr "指定的 IP 地址 ({ip}) 未分配给此设备。" +msgstr "指定的IP地址 ({ip}) 未分配给该设备。" -#: dcim/models/devices.py:927 +#: netbox/dcim/models/devices.py:927 #, python-brace-format msgid "{ip} is not an IPv6 address." -msgstr "{ip} 不是 IPv6 地址。" +msgstr "{ip} 不是一个正确的IPv6地址" -#: dcim/models/devices.py:954 +#: netbox/dcim/models/devices.py:954 #, python-brace-format msgid "" "The assigned platform is limited to {platform_manufacturer} device types, " "but this device's type belongs to {devicetype_manufacturer}." msgstr "" -"分配的平台仅限于 {platform_manufacturer} 设备类型,但此设备的类型属于 {devicetype_manufacturer}。" +"指定的平台仅限于{platform_manufacturer} 的设备类型,但此设备的类型属于{devicetype_manufacturer}。" -#: dcim/models/devices.py:965 +#: netbox/dcim/models/devices.py:965 #, python-brace-format msgid "The assigned cluster belongs to a different site ({site})" -msgstr "分配的集群属于不同的站点 ({site})" +msgstr "分配的群集属于其他站点({site})" -#: dcim/models/devices.py:973 +#: netbox/dcim/models/devices.py:973 msgid "A device assigned to a virtual chassis must have its position defined." -msgstr "分配给虚拟机箱的设备必须定义其位置。" +msgstr "分配给集群的设备必须定义其位置。" -#: dcim/models/devices.py:1178 +#: netbox/dcim/models/devices.py:1178 msgid "module" msgstr "模块" -#: dcim/models/devices.py:1179 +#: netbox/dcim/models/devices.py:1179 msgid "modules" -msgstr "模块" +msgstr "设备板卡" -#: dcim/models/devices.py:1195 +#: netbox/dcim/models/devices.py:1195 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." -msgstr "模块必须安装在属于指定设备的模块托架中 ({device})。" +msgstr "模块必须安装在属于指定设备({device})的模块托架内。" -#: dcim/models/devices.py:1299 +#: netbox/dcim/models/devices.py:1299 msgid "domain" msgstr "域" -#: dcim/models/devices.py:1312 dcim/models/devices.py:1313 +#: netbox/dcim/models/devices.py:1312 netbox/dcim/models/devices.py:1313 msgid "virtual chassis" -msgstr "虚拟机箱" +msgstr "堆叠" -#: dcim/models/devices.py:1328 +#: netbox/dcim/models/devices.py:1328 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." -msgstr "选定的主人 ({master}) 未分配给该虚拟机箱。" +msgstr "所选主设备({master})未分配给此堆叠。" -#: dcim/models/devices.py:1344 +#: netbox/dcim/models/devices.py:1344 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." -msgstr "无法删除虚拟机箱 {self}。有些成员接口构成跨机箱 LAG 接口。" +msgstr "无法删除堆叠 {self}。有成员接口属于跨机箱聚合。" -#: dcim/models/devices.py:1369 vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1369 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "标识符" -#: dcim/models/devices.py:1370 +#: netbox/dcim/models/devices.py:1370 msgid "Numeric identifier unique to the parent device" -msgstr "父设备独有的数字标识符" +msgstr "父设备唯一的标识符" -#: dcim/models/devices.py:1398 extras/models/customfields.py:210 -#: extras/models/models.py:127 extras/models/models.py:722 -#: netbox/models/__init__.py:114 +#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211 +#: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722 +#: netbox/netbox/models/__init__.py:114 msgid "comments" msgstr "评论" -#: dcim/models/devices.py:1414 +#: netbox/dcim/models/devices.py:1414 msgid "virtual device context" -msgstr "虚拟设备上下文" +msgstr "设备虚拟实例" -#: dcim/models/devices.py:1415 +#: netbox/dcim/models/devices.py:1415 msgid "virtual device contexts" -msgstr "虚拟设备上下文" +msgstr "设备虚拟实例" -#: dcim/models/devices.py:1447 +#: netbox/dcim/models/devices.py:1447 #, python-brace-format msgid "{ip} is not an IPv{family} address." -msgstr "{ip} 不是 iPV{family} 地址。" +msgstr "{ip} 不是一个 IPv{family} 地址" -#: dcim/models/devices.py:1453 +#: netbox/dcim/models/devices.py:1453 msgid "Primary IP address must belong to an interface on the assigned device." -msgstr "主 IP 地址必须属于分配设备上的接口。" +msgstr "主 IP 地址必须属于指定设备上的接口。" -#: dcim/models/mixins.py:15 extras/models/configs.py:41 -#: extras/models/models.py:341 extras/models/models.py:550 -#: extras/models/search.py:48 ipam/models/ip.py:194 +#: netbox/dcim/models/mixins.py:15 netbox/extras/models/configs.py:41 +#: netbox/extras/models/models.py:341 netbox/extras/models/models.py:550 +#: netbox/extras/models/search.py:48 netbox/ipam/models/ip.py:194 msgid "weight" msgstr "重量" -#: dcim/models/mixins.py:22 +#: netbox/dcim/models/mixins.py:22 msgid "weight unit" msgstr "重量单位" -#: dcim/models/mixins.py:51 +#: netbox/dcim/models/mixins.py:51 msgid "Must specify a unit when setting a weight" -msgstr "设置权重时必须指定单位" +msgstr "设置重量时必须指定单位" -#: dcim/models/power.py:55 +#: netbox/dcim/models/power.py:55 msgid "power panel" msgstr "电源面板" -#: dcim/models/power.py:56 +#: netbox/dcim/models/power.py:56 msgid "power panels" msgstr "电源面板" -#: dcim/models/power.py:70 +#: netbox/dcim/models/power.py:70 #, python-brace-format msgid "" "Location {location} ({location_site}) is in a different site than {site}" -msgstr "地点 {location} ({location_site}) 位于不同的网站上 {site}" +msgstr "位置 {location} ({location_site}) 位于不同的站点 {site}" -#: dcim/models/power.py:108 +#: netbox/dcim/models/power.py:108 msgid "supply" msgstr "供应" -#: dcim/models/power.py:114 +#: netbox/dcim/models/power.py:114 msgid "phase" -msgstr "阶段" +msgstr "相位" -#: dcim/models/power.py:120 +#: netbox/dcim/models/power.py:120 msgid "voltage" msgstr "电压" -#: dcim/models/power.py:125 +#: netbox/dcim/models/power.py:125 msgid "amperage" -msgstr "安培数" +msgstr "电流" -#: dcim/models/power.py:130 +#: netbox/dcim/models/power.py:130 msgid "max utilization" msgstr "最大利用率" -#: dcim/models/power.py:133 +#: netbox/dcim/models/power.py:133 msgid "Maximum permissible draw (percentage)" -msgstr "最大允许抽水(百分比)" +msgstr "最大允许利用率(百分比)" -#: dcim/models/power.py:136 +#: netbox/dcim/models/power.py:136 msgid "available power" msgstr "可用功率" -#: dcim/models/power.py:164 +#: netbox/dcim/models/power.py:164 msgid "power feed" -msgstr "供电" +msgstr "电力来源" -#: dcim/models/power.py:165 +#: netbox/dcim/models/power.py:165 msgid "power feeds" -msgstr "供电" +msgstr "电力来源" -#: dcim/models/power.py:179 +#: netbox/dcim/models/power.py:179 #, python-brace-format msgid "" "Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) " "are in different sites." -msgstr "" -"机架 {rack} ({rack_site}) 和电源面板 {powerpanel} ({powerpanel_site}) 位于不同的站点。" +msgstr "机柜{rack} ({rack_site})和电源面板{powerpanel} ({powerpanel_site})位于不同的站点。" -#: dcim/models/power.py:190 +#: netbox/dcim/models/power.py:190 msgid "Voltage cannot be negative for AC supply" -msgstr "交流电源的电压不能为负值" +msgstr "交流电源的电压不能为负" -#: dcim/models/racks.py:50 +#: netbox/dcim/models/racks.py:50 msgid "rack role" -msgstr "机架角色" +msgstr "机柜角色" -#: dcim/models/racks.py:51 +#: netbox/dcim/models/racks.py:51 msgid "rack roles" -msgstr "机架角色" +msgstr "机柜角色" -#: dcim/models/racks.py:75 +#: netbox/dcim/models/racks.py:75 msgid "facility ID" -msgstr "设施 ID" +msgstr "标识符ID" -#: dcim/models/racks.py:76 +#: netbox/dcim/models/racks.py:76 msgid "Locally-assigned identifier" msgstr "本地分配的标识符" -#: dcim/models/racks.py:109 ipam/forms/bulk_import.py:200 -#: ipam/forms/bulk_import.py:265 ipam/forms/bulk_import.py:300 -#: ipam/forms/bulk_import.py:467 virtualization/forms/bulk_import.py:112 +#: netbox/dcim/models/racks.py:109 netbox/ipam/forms/bulk_import.py:200 +#: netbox/ipam/forms/bulk_import.py:265 netbox/ipam/forms/bulk_import.py:300 +#: netbox/ipam/forms/bulk_import.py:467 +#: netbox/virtualization/forms/bulk_import.py:112 msgid "Functional role" -msgstr "职能角色" +msgstr "功能角色" -#: dcim/models/racks.py:122 +#: netbox/dcim/models/racks.py:122 msgid "A unique tag used to identify this rack" -msgstr "用于识别此机架的独特标签" +msgstr "用于识别该机柜的唯一标识" -#: dcim/models/racks.py:133 +#: netbox/dcim/models/racks.py:133 msgid "width" msgstr "宽度" -#: dcim/models/racks.py:134 +#: netbox/dcim/models/racks.py:134 msgid "Rail-to-rail width" -msgstr "轨到轨宽度" +msgstr "机柜宽度" -#: dcim/models/racks.py:140 +#: netbox/dcim/models/racks.py:140 msgid "Height in rack units" -msgstr "机架单元的高度" +msgstr "以U为单位的机柜高度" -#: dcim/models/racks.py:144 +#: netbox/dcim/models/racks.py:144 msgid "starting unit" -msgstr "起动单元" +msgstr "起始U位" -#: dcim/models/racks.py:146 +#: netbox/dcim/models/racks.py:146 msgid "Starting unit for rack" -msgstr "机架起动装置" +msgstr "此机柜的起始U位" -#: dcim/models/racks.py:150 +#: netbox/dcim/models/racks.py:150 msgid "descending units" -msgstr "降序单位" +msgstr "U位显示降序" -#: dcim/models/racks.py:151 +#: netbox/dcim/models/racks.py:151 msgid "Units are numbered top-to-bottom" -msgstr "单位从上到下编号" +msgstr "U位从上到下编号" -#: dcim/models/racks.py:154 +#: netbox/dcim/models/racks.py:154 msgid "outer width" msgstr "外部宽度" -#: dcim/models/racks.py:157 +#: netbox/dcim/models/racks.py:157 msgid "Outer dimension of rack (width)" -msgstr "机架的外部尺寸(宽度)" +msgstr "机柜外部尺寸(宽)" -#: dcim/models/racks.py:160 +#: netbox/dcim/models/racks.py:160 msgid "outer depth" -msgstr "外层深度" +msgstr "外部长度/深度" -#: dcim/models/racks.py:163 +#: netbox/dcim/models/racks.py:163 msgid "Outer dimension of rack (depth)" -msgstr "机架的外部尺寸(深度)" +msgstr "机架外形尺寸(深度)" -#: dcim/models/racks.py:166 +#: netbox/dcim/models/racks.py:166 msgid "outer unit" -msgstr "外部单元" +msgstr "外框尺寸的单位" -#: dcim/models/racks.py:172 +#: netbox/dcim/models/racks.py:172 msgid "max weight" -msgstr "最大重量" +msgstr "最大承重" -#: dcim/models/racks.py:175 +#: netbox/dcim/models/racks.py:175 msgid "Maximum load capacity for the rack" -msgstr "机架的最大负载能力" +msgstr "机柜最大承重" -#: dcim/models/racks.py:183 +#: netbox/dcim/models/racks.py:183 msgid "mounting depth" msgstr "安装深度" -#: dcim/models/racks.py:187 +#: netbox/dcim/models/racks.py:187 msgid "" "Maximum depth of a mounted device, in millimeters. For four-post racks, this" " is the distance between the front and rear rails." -msgstr "安装设备的最大深度,以毫米为单位。对于四柱机架,这是前后导轨之间的距离。" +msgstr "已安装设备的最大深度(以毫米为单位)。 对于四柱机架,这是前导轨和后导轨之间的距离。" -#: dcim/models/racks.py:221 +#: netbox/dcim/models/racks.py:221 msgid "rack" -msgstr "架" +msgstr "机柜" -#: dcim/models/racks.py:222 +#: netbox/dcim/models/racks.py:222 msgid "racks" -msgstr "架子" +msgstr "机柜" -#: dcim/models/racks.py:237 +#: netbox/dcim/models/racks.py:237 #, python-brace-format msgid "Assigned location must belong to parent site ({site})." -msgstr "分配的位置必须属于父站点 ({site})。" +msgstr "指定的位置必须属于父站点({site})。" -#: dcim/models/racks.py:241 +#: netbox/dcim/models/racks.py:241 msgid "Must specify a unit when setting an outer width/depth" msgstr "设置外部宽度/深度时必须指定单位" -#: dcim/models/racks.py:245 +#: netbox/dcim/models/racks.py:245 msgid "Must specify a unit when setting a maximum weight" -msgstr "设置最大重量时必须指定单位" +msgstr "设置最大承重时必须指定单位" -#: dcim/models/racks.py:255 +#: netbox/dcim/models/racks.py:255 #, python-brace-format msgid "" "Rack must be at least {min_height}U tall to house currently installed " "devices." -msgstr "机架必须至少为 {min_height}我可以容纳当前安装的设备。" +msgstr "机柜必须有至少{min_height}U高,才可以容纳当前安装的设备。" -#: dcim/models/racks.py:262 +#: netbox/dcim/models/racks.py:262 #, python-brace-format msgid "" "Rack unit numbering must begin at {position} or less to house currently " "installed devices." -msgstr "机架单元编号必须从开始 {position} 或更少用于容纳当前安装的设备。" +msgstr "机柜单元编号必须从{position}或以上开始,才能容纳当前安装的设备。" -#: dcim/models/racks.py:270 +#: netbox/dcim/models/racks.py:270 #, python-brace-format msgid "Location must be from the same site, {site}." -msgstr "位置必须来自同一个站点, {site}。" +msgstr "位置必须来自同一站点 {site}。" -#: dcim/models/racks.py:523 +#: netbox/dcim/models/racks.py:523 msgid "units" -msgstr "单位" +msgstr "位置" -#: dcim/models/racks.py:549 +#: netbox/dcim/models/racks.py:549 msgid "rack reservation" -msgstr "机架预订" +msgstr "机柜预留" -#: dcim/models/racks.py:550 +#: netbox/dcim/models/racks.py:550 msgid "rack reservations" -msgstr "机架预订" +msgstr "机柜预留" -#: dcim/models/racks.py:567 +#: netbox/dcim/models/racks.py:567 #, python-brace-format msgid "Invalid unit(s) for {height}U rack: {unit_list}" -msgstr "的单位无效 {height}U 型机架: {unit_list}" +msgstr "{height}U机柜中无效的U位: {unit_list}" -#: dcim/models/racks.py:580 +#: netbox/dcim/models/racks.py:580 #, python-brace-format msgid "The following units have already been reserved: {unit_list}" -msgstr "以下单位已被预订: {unit_list}" +msgstr "以下U位已被保留:{unit_list}" -#: dcim/models/sites.py:49 +#: netbox/dcim/models/sites.py:49 msgid "A top-level region with this name already exists." -msgstr "使用此名称的顶级区域已经存在。" +msgstr "具有此名称的顶级区域已存在。" -#: dcim/models/sites.py:59 +#: netbox/dcim/models/sites.py:59 msgid "A top-level region with this slug already exists." -msgstr "已经存在带有此子弹的顶级区域。" +msgstr "具有此缩写的顶级区域已经存在。" -#: dcim/models/sites.py:62 +#: netbox/dcim/models/sites.py:62 msgid "region" -msgstr "领域" +msgstr "地区" -#: dcim/models/sites.py:63 +#: netbox/dcim/models/sites.py:63 msgid "regions" msgstr "地区" -#: dcim/models/sites.py:102 +#: netbox/dcim/models/sites.py:102 msgid "A top-level site group with this name already exists." -msgstr "使用此名称的顶级站点组已经存在。" +msgstr "具有此名称的顶级站点组已存在。" -#: dcim/models/sites.py:112 +#: netbox/dcim/models/sites.py:112 msgid "A top-level site group with this slug already exists." -msgstr "带有此子句的顶级站点组已经存在。" +msgstr "具有此缩写的顶级站点组已存在。" -#: dcim/models/sites.py:115 +#: netbox/dcim/models/sites.py:115 msgid "site group" msgstr "站点组" -#: dcim/models/sites.py:116 +#: netbox/dcim/models/sites.py:116 msgid "site groups" -msgstr "网站群组" +msgstr "站点组" -#: dcim/models/sites.py:141 +#: netbox/dcim/models/sites.py:141 msgid "Full name of the site" -msgstr "网站的全名" +msgstr "站点全名" -#: dcim/models/sites.py:181 dcim/models/sites.py:279 +#: netbox/dcim/models/sites.py:181 netbox/dcim/models/sites.py:279 msgid "facility" msgstr "设施" -#: dcim/models/sites.py:184 dcim/models/sites.py:282 +#: netbox/dcim/models/sites.py:184 netbox/dcim/models/sites.py:282 msgid "Local facility ID or description" msgstr "本地设施 ID 或描述" -#: dcim/models/sites.py:195 +#: netbox/dcim/models/sites.py:195 msgid "physical address" -msgstr "物理地址" +msgstr "实体地址" -#: dcim/models/sites.py:198 +#: netbox/dcim/models/sites.py:198 msgid "Physical location of the building" -msgstr "建筑物的物理位置" +msgstr "机房的实体位置" -#: dcim/models/sites.py:201 +#: netbox/dcim/models/sites.py:201 msgid "shipping address" -msgstr "送货地址" +msgstr "快递地址" -#: dcim/models/sites.py:204 +#: netbox/dcim/models/sites.py:204 msgid "If different from the physical address" -msgstr "如果与物理地址不同" +msgstr "若与实体地址不同" -#: dcim/models/sites.py:238 +#: netbox/dcim/models/sites.py:238 msgid "site" +msgstr "site" + +#: netbox/dcim/models/sites.py:239 +msgid "sites" msgstr "站点" -#: dcim/models/sites.py:239 -msgid "sites" -msgstr "网站" - -#: dcim/models/sites.py:309 +#: netbox/dcim/models/sites.py:309 msgid "A location with this name already exists within the specified site." -msgstr "指定站点中已存在具有此名称的地点。" +msgstr "指定的站点中已存在此名称的位置。" -#: dcim/models/sites.py:319 +#: netbox/dcim/models/sites.py:319 msgid "A location with this slug already exists within the specified site." -msgstr "指定站点中已经存在带有此子句的位置。" +msgstr "指定的站点中已存在此缩写的位置。" -#: dcim/models/sites.py:322 +#: netbox/dcim/models/sites.py:322 msgid "location" -msgstr "位置" +msgstr "室内位置" -#: dcim/models/sites.py:323 +#: netbox/dcim/models/sites.py:323 msgid "locations" -msgstr "地点" +msgstr "室内位置" -#: dcim/models/sites.py:337 +#: netbox/dcim/models/sites.py:337 #, python-brace-format msgid "Parent location ({parent}) must belong to the same site ({site})." -msgstr "家长所在地 ({parent}) 必须属于同一个站点 ({site})。" +msgstr "父位置({parent})必须属于同一站点({site})。" -#: dcim/tables/cables.py:54 +#: netbox/dcim/tables/cables.py:55 msgid "Termination A" -msgstr "终止 A" +msgstr "本端A" -#: dcim/tables/cables.py:59 +#: netbox/dcim/tables/cables.py:60 msgid "Termination B" -msgstr "终止 B" +msgstr "对端B" -#: dcim/tables/cables.py:65 wireless/tables/wirelesslink.py:22 +#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22 msgid "Device A" -msgstr "设备 A" +msgstr "设备A" -#: dcim/tables/cables.py:71 wireless/tables/wirelesslink.py:31 +#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31 msgid "Device B" -msgstr "设备 B" +msgstr "设备B" -#: dcim/tables/cables.py:77 +#: netbox/dcim/tables/cables.py:78 msgid "Location A" -msgstr "地点 A" +msgstr "位置A" -#: dcim/tables/cables.py:83 +#: netbox/dcim/tables/cables.py:84 msgid "Location B" -msgstr "地点 B" +msgstr "位置B" -#: dcim/tables/cables.py:89 +#: netbox/dcim/tables/cables.py:90 msgid "Rack A" -msgstr "机架 A" +msgstr "机柜A" -#: dcim/tables/cables.py:95 +#: netbox/dcim/tables/cables.py:96 msgid "Rack B" -msgstr "机架 B" +msgstr "机柜B" -#: dcim/tables/cables.py:101 +#: netbox/dcim/tables/cables.py:102 msgid "Site A" -msgstr "站点 A" +msgstr "站点A" -#: dcim/tables/cables.py:107 +#: netbox/dcim/tables/cables.py:108 msgid "Site B" -msgstr "站点 B" +msgstr "站点B" -#: dcim/tables/connections.py:31 dcim/tables/connections.py:50 -#: dcim/tables/connections.py:71 -#: templates/dcim/inc/connection_endpoints.html:16 +#: netbox/dcim/tables/connections.py:31 netbox/dcim/tables/connections.py:50 +#: netbox/dcim/tables/connections.py:71 +#: netbox/templates/dcim/inc/connection_endpoints.html:16 msgid "Reachable" -msgstr "可到达" +msgstr "可达性" -#: dcim/tables/devices.py:66 dcim/tables/devices.py:111 -#: dcim/tables/racks.py:81 dcim/tables/sites.py:143 -#: extras/tables/tables.py:435 netbox/navigation/menu.py:56 -#: netbox/navigation/menu.py:60 netbox/navigation/menu.py:62 -#: virtualization/forms/model_forms.py:122 -#: virtualization/tables/clusters.py:83 virtualization/views.py:210 +#: netbox/dcim/tables/devices.py:58 netbox/dcim/tables/devices.py:103 +#: netbox/dcim/tables/racks.py:81 netbox/dcim/tables/sites.py:143 +#: netbox/extras/tables/tables.py:436 netbox/netbox/navigation/menu.py:56 +#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 +#: netbox/virtualization/forms/model_forms.py:122 +#: netbox/virtualization/tables/clusters.py:83 +#: netbox/virtualization/views.py:205 msgid "Devices" msgstr "设备" -#: dcim/tables/devices.py:71 dcim/tables/devices.py:116 -#: virtualization/tables/clusters.py:88 +#: netbox/dcim/tables/devices.py:63 netbox/dcim/tables/devices.py:108 +#: netbox/virtualization/tables/clusters.py:88 msgid "VMs" -msgstr "虚拟机" +msgstr "VMs" -#: dcim/tables/devices.py:105 dcim/tables/devices.py:221 -#: extras/forms/model_forms.py:506 templates/dcim/device.html:111 -#: templates/dcim/device/render_config.html:11 -#: templates/dcim/device/render_config.html:14 -#: templates/dcim/devicerole.html:44 templates/dcim/platform.html:41 -#: templates/extras/configtemplate.html:10 -#: templates/virtualization/virtualmachine.html:44 -#: templates/virtualization/virtualmachine/render_config.html:11 -#: templates/virtualization/virtualmachine/render_config.html:14 -#: virtualization/tables/virtualmachines.py:106 +#: netbox/dcim/tables/devices.py:97 netbox/dcim/tables/devices.py:213 +#: netbox/extras/forms/model_forms.py:506 +#: netbox/templates/dcim/device.html:112 +#: netbox/templates/dcim/device/render_config.html:11 +#: netbox/templates/dcim/device/render_config.html:14 +#: netbox/templates/dcim/devicerole.html:44 +#: netbox/templates/dcim/platform.html:41 +#: netbox/templates/extras/configtemplate.html:10 +#: netbox/templates/virtualization/virtualmachine.html:44 +#: netbox/templates/virtualization/virtualmachine/render_config.html:11 +#: netbox/templates/virtualization/virtualmachine/render_config.html:14 +#: netbox/virtualization/tables/virtualmachines.py:106 msgid "Config Template" -msgstr "配置模板" +msgstr "配置模版" -#: dcim/tables/devices.py:155 templates/dcim/sitegroup.html:26 +#: netbox/dcim/tables/devices.py:147 netbox/templates/dcim/sitegroup.html:26 msgid "Site Group" msgstr "站点组" -#: dcim/tables/devices.py:192 dcim/tables/devices.py:1051 -#: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:304 -#: ipam/forms/model_forms.py:313 ipam/tables/ip.py:352 ipam/tables/ip.py:418 -#: ipam/tables/ip.py:441 templates/ipam/ipaddress.html:11 -#: virtualization/tables/virtualmachines.py:94 +#: netbox/dcim/tables/devices.py:184 netbox/dcim/tables/devices.py:1033 +#: netbox/ipam/forms/bulk_import.py:511 netbox/ipam/forms/model_forms.py:304 +#: netbox/ipam/forms/model_forms.py:313 netbox/ipam/tables/ip.py:352 +#: netbox/ipam/tables/ip.py:418 netbox/ipam/tables/ip.py:441 +#: netbox/templates/ipam/ipaddress.html:11 +#: netbox/virtualization/tables/virtualmachines.py:94 msgid "IP Address" -msgstr "IP 地址" +msgstr "IP地址" -#: dcim/tables/devices.py:196 dcim/tables/devices.py:1055 -#: virtualization/tables/virtualmachines.py:85 +#: netbox/dcim/tables/devices.py:188 netbox/dcim/tables/devices.py:1037 +#: netbox/virtualization/tables/virtualmachines.py:85 msgid "IPv4 Address" msgstr "IPv4 地址" -#: dcim/tables/devices.py:200 dcim/tables/devices.py:1059 -#: virtualization/tables/virtualmachines.py:89 +#: netbox/dcim/tables/devices.py:192 netbox/dcim/tables/devices.py:1041 +#: netbox/virtualization/tables/virtualmachines.py:89 msgid "IPv6 Address" msgstr "IPv6 地址" -#: dcim/tables/devices.py:215 +#: netbox/dcim/tables/devices.py:207 msgid "VC Position" -msgstr "风险投资职位" +msgstr "堆叠位置" -#: dcim/tables/devices.py:218 +#: netbox/dcim/tables/devices.py:210 msgid "VC Priority" -msgstr "风险投资优先级" +msgstr "堆叠优先级" -#: dcim/tables/devices.py:225 templates/dcim/device_edit.html:38 -#: templates/dcim/devicebay_populate.html:16 +#: netbox/dcim/tables/devices.py:217 netbox/templates/dcim/device_edit.html:38 +#: netbox/templates/dcim/devicebay_populate.html:16 msgid "Parent Device" -msgstr "家长设备" +msgstr "父设备" -#: dcim/tables/devices.py:230 +#: netbox/dcim/tables/devices.py:222 msgid "Position (Device Bay)" -msgstr "位置(设备托架)" +msgstr "位置(设备托架)" -#: dcim/tables/devices.py:239 +#: netbox/dcim/tables/devices.py:231 msgid "Console ports" -msgstr "控制台端口" +msgstr "Console 端口" -#: dcim/tables/devices.py:242 +#: netbox/dcim/tables/devices.py:234 msgid "Console server ports" -msgstr "控制台服务器端口" +msgstr "Console 服务器端口" -#: dcim/tables/devices.py:245 +#: netbox/dcim/tables/devices.py:237 msgid "Power ports" -msgstr "电源端口" +msgstr "电源接口" -#: dcim/tables/devices.py:248 +#: netbox/dcim/tables/devices.py:240 msgid "Power outlets" msgstr "电源插座" -#: dcim/tables/devices.py:251 dcim/tables/devices.py:1064 -#: dcim/tables/devicetypes.py:125 dcim/views.py:1006 dcim/views.py:1245 -#: dcim/views.py:1931 netbox/navigation/menu.py:81 -#: netbox/navigation/menu.py:237 templates/dcim/device/base.html:37 -#: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34 -#: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34 -#: templates/dcim/virtualdevicecontext.html:61 -#: templates/dcim/virtualdevicecontext.html:81 -#: templates/virtualization/virtualmachine/base.html:27 -#: templates/virtualization/virtualmachine_list.html:14 -#: virtualization/tables/virtualmachines.py:100 virtualization/views.py:367 -#: wireless/tables/wirelesslan.py:55 +#: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988 +#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908 +#: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237 +#: netbox/templates/dcim/device/base.html:37 +#: netbox/templates/dcim/device_list.html:43 +#: netbox/templates/dcim/devicetype/base.html:34 +#: netbox/templates/dcim/module.html:34 +#: netbox/templates/dcim/moduletype/base.html:34 +#: netbox/templates/dcim/virtualdevicecontext.html:61 +#: netbox/templates/dcim/virtualdevicecontext.html:81 +#: netbox/templates/virtualization/virtualmachine/base.html:27 +#: netbox/templates/virtualization/virtualmachine_list.html:14 +#: netbox/virtualization/tables/virtualmachines.py:100 +#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55 msgid "Interfaces" msgstr "接口" -#: dcim/tables/devices.py:254 +#: netbox/dcim/tables/devices.py:246 msgid "Front ports" -msgstr "前端口" +msgstr "前置端口" -#: dcim/tables/devices.py:260 +#: netbox/dcim/tables/devices.py:252 msgid "Device bays" msgstr "设备托架" -#: dcim/tables/devices.py:263 +#: netbox/dcim/tables/devices.py:255 msgid "Module bays" -msgstr "模块托架" +msgstr "设备板卡插槽" -#: dcim/tables/devices.py:266 +#: netbox/dcim/tables/devices.py:258 msgid "Inventory items" -msgstr "库存物品" +msgstr "库存项" -#: dcim/tables/devices.py:305 dcim/tables/modules.py:56 -#: templates/dcim/modulebay.html:17 +#: netbox/dcim/tables/devices.py:297 netbox/dcim/tables/modules.py:56 +#: netbox/templates/dcim/modulebay.html:17 msgid "Module Bay" -msgstr "模块托架" +msgstr "设备板卡插槽" -#: dcim/tables/devices.py:318 dcim/tables/devicetypes.py:48 -#: dcim/tables/devicetypes.py:140 dcim/views.py:1081 dcim/views.py:2024 -#: netbox/navigation/menu.py:90 templates/dcim/device/base.html:52 -#: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49 -#: templates/dcim/inc/panels/inventory_items.html:6 -#: templates/dcim/inventoryitemrole.html:32 +#: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063 +#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90 +#: netbox/templates/dcim/device/base.html:52 +#: netbox/templates/dcim/device_list.html:71 +#: netbox/templates/dcim/devicetype/base.html:49 +#: netbox/templates/dcim/inc/panels/inventory_items.html:6 +#: netbox/templates/dcim/inventoryitemrole.html:32 msgid "Inventory Items" -msgstr "库存物品" +msgstr "库存项目" -#: dcim/tables/devices.py:330 +#: netbox/dcim/tables/devices.py:322 msgid "Cable Color" -msgstr "电缆颜色" +msgstr "线缆颜色" -#: dcim/tables/devices.py:336 +#: netbox/dcim/tables/devices.py:328 msgid "Link Peers" -msgstr "链接同行" +msgstr "链接对等体" -#: dcim/tables/devices.py:339 +#: netbox/dcim/tables/devices.py:331 msgid "Mark Connected" -msgstr "标记为已连接" +msgstr "标记已连接" -#: dcim/tables/devices.py:455 +#: netbox/dcim/tables/devices.py:449 msgid "Maximum draw (W)" -msgstr "最大消耗 (W)" +msgstr "最大功率(W)" -#: dcim/tables/devices.py:458 +#: netbox/dcim/tables/devices.py:452 msgid "Allocated draw (W)" -msgstr "分配的抽奖 (W)" +msgstr "分配功率(W)" -#: dcim/tables/devices.py:558 ipam/forms/model_forms.py:747 -#: ipam/tables/fhrp.py:28 ipam/views.py:602 ipam/views.py:701 -#: netbox/navigation/menu.py:145 netbox/navigation/menu.py:147 -#: templates/dcim/interface.html:339 templates/ipam/ipaddress_bulk_add.html:15 -#: templates/ipam/service.html:40 templates/virtualization/vminterface.html:85 -#: vpn/tables/tunnels.py:98 +#: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747 +#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596 +#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145 +#: netbox/netbox/navigation/menu.py:147 +#: netbox/templates/dcim/interface.html:339 +#: netbox/templates/ipam/ipaddress_bulk_add.html:15 +#: netbox/templates/ipam/service.html:40 +#: netbox/templates/virtualization/vminterface.html:85 +#: netbox/vpn/tables/tunnels.py:98 msgid "IP Addresses" -msgstr "IP 地址" +msgstr "IP地址" -#: dcim/tables/devices.py:564 netbox/navigation/menu.py:189 -#: templates/ipam/inc/panels/fhrp_groups.html:6 +#: netbox/dcim/tables/devices.py:552 netbox/netbox/navigation/menu.py:189 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:6 msgid "FHRP Groups" -msgstr "FHRP 群组" +msgstr "网关冗余协议组" -#: dcim/tables/devices.py:576 templates/dcim/interface.html:89 -#: templates/virtualization/vminterface.html:67 templates/vpn/tunnel.html:18 -#: templates/vpn/tunneltermination.html:13 vpn/forms/bulk_edit.py:76 -#: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:42 -#: vpn/forms/filtersets.py:82 vpn/forms/model_forms.py:60 -#: vpn/forms/model_forms.py:145 vpn/tables/tunnels.py:78 +#: netbox/dcim/tables/devices.py:564 netbox/templates/dcim/interface.html:89 +#: netbox/templates/virtualization/vminterface.html:67 +#: netbox/templates/vpn/tunnel.html:18 +#: netbox/templates/vpn/tunneltermination.html:13 +#: netbox/vpn/forms/bulk_edit.py:76 netbox/vpn/forms/bulk_import.py:76 +#: netbox/vpn/forms/filtersets.py:42 netbox/vpn/forms/filtersets.py:82 +#: netbox/vpn/forms/model_forms.py:60 netbox/vpn/forms/model_forms.py:145 +#: netbox/vpn/tables/tunnels.py:78 msgid "Tunnel" msgstr "隧道" -#: dcim/tables/devices.py:601 dcim/tables/devicetypes.py:224 -#: templates/dcim/interface.html:65 +#: netbox/dcim/tables/devices.py:589 netbox/dcim/tables/devicetypes.py:224 +#: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "仅限管理" -#: dcim/tables/devices.py:619 +#: netbox/dcim/tables/devices.py:607 msgid "VDCs" -msgstr "VDC" +msgstr "VDCs" -#: dcim/tables/devices.py:870 templates/dcim/modulebay.html:49 +#: netbox/dcim/tables/devices.py:852 netbox/templates/dcim/modulebay.html:49 msgid "Installed Module" msgstr "已安装的模块" -#: dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:855 msgid "Module Serial" -msgstr "模块序列号" +msgstr "模块状态" -#: dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:859 msgid "Module Asset Tag" msgstr "模块资产标签" -#: dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:868 msgid "Module Status" msgstr "模块状态" -#: dcim/tables/devices.py:928 dcim/tables/devicetypes.py:308 -#: templates/dcim/inventoryitem.html:40 +#: netbox/dcim/tables/devices.py:910 netbox/dcim/tables/devicetypes.py:308 +#: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "组件" -#: dcim/tables/devices.py:983 +#: netbox/dcim/tables/devices.py:965 msgid "Items" -msgstr "物品" +msgstr "项目" -#: dcim/tables/devicetypes.py:38 netbox/navigation/menu.py:71 -#: netbox/navigation/menu.py:73 +#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:71 +#: netbox/netbox/navigation/menu.py:73 msgid "Device Types" -msgstr "设备类型" +msgstr "设备型号" -#: dcim/tables/devicetypes.py:43 netbox/navigation/menu.py:74 +#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:74 msgid "Module Types" -msgstr "模块类型" +msgstr "设备配件类型" -#: dcim/tables/devicetypes.py:53 extras/forms/filtersets.py:380 -#: extras/forms/model_forms.py:413 extras/tables/tables.py:430 -#: netbox/navigation/menu.py:65 +#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:380 +#: netbox/extras/forms/model_forms.py:413 netbox/extras/tables/tables.py:431 +#: netbox/netbox/navigation/menu.py:65 msgid "Platforms" -msgstr "平台" +msgstr "操作系统" -#: dcim/tables/devicetypes.py:85 templates/dcim/devicetype.html:29 +#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" -msgstr "默认平台" +msgstr "默认系统平台" -#: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:45 +#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" -msgstr "全深度" +msgstr "全尺寸" -#: dcim/tables/devicetypes.py:98 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" -msgstr "U 形高度" +msgstr "U高度" -#: dcim/tables/devicetypes.py:110 dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:110 netbox/dcim/tables/modules.py:26 msgid "Instances" msgstr "实例" -#: dcim/tables/devicetypes.py:113 dcim/views.py:946 dcim/views.py:1185 -#: dcim/views.py:1871 netbox/navigation/menu.py:84 -#: templates/dcim/device/base.html:25 templates/dcim/device_list.html:15 -#: templates/dcim/devicetype/base.html:22 templates/dcim/module.html:22 -#: templates/dcim/moduletype/base.html:22 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928 +#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844 +#: netbox/netbox/navigation/menu.py:84 +#: netbox/templates/dcim/device/base.html:25 +#: netbox/templates/dcim/device_list.html:15 +#: netbox/templates/dcim/devicetype/base.html:22 +#: netbox/templates/dcim/module.html:22 +#: netbox/templates/dcim/moduletype/base.html:22 msgid "Console Ports" -msgstr "控制台端口" +msgstr "Console口" -#: dcim/tables/devicetypes.py:116 dcim/views.py:961 dcim/views.py:1200 -#: dcim/views.py:1886 netbox/navigation/menu.py:85 -#: templates/dcim/device/base.html:28 templates/dcim/device_list.html:22 -#: templates/dcim/devicetype/base.html:25 templates/dcim/module.html:25 -#: templates/dcim/moduletype/base.html:25 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943 +#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860 +#: netbox/netbox/navigation/menu.py:85 +#: netbox/templates/dcim/device/base.html:28 +#: netbox/templates/dcim/device_list.html:22 +#: netbox/templates/dcim/devicetype/base.html:25 +#: netbox/templates/dcim/module.html:25 +#: netbox/templates/dcim/moduletype/base.html:25 msgid "Console Server Ports" -msgstr "控制台服务器端口" +msgstr "Console 服务端口" -#: dcim/tables/devicetypes.py:119 dcim/views.py:976 dcim/views.py:1215 -#: dcim/views.py:1901 netbox/navigation/menu.py:86 -#: templates/dcim/device/base.html:31 templates/dcim/device_list.html:29 -#: templates/dcim/devicetype/base.html:28 templates/dcim/module.html:28 -#: templates/dcim/moduletype/base.html:28 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958 +#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876 +#: netbox/netbox/navigation/menu.py:86 +#: netbox/templates/dcim/device/base.html:31 +#: netbox/templates/dcim/device_list.html:29 +#: netbox/templates/dcim/devicetype/base.html:28 +#: netbox/templates/dcim/module.html:28 +#: netbox/templates/dcim/moduletype/base.html:28 msgid "Power Ports" -msgstr "电源端口" +msgstr "电源接口" -#: dcim/tables/devicetypes.py:122 dcim/views.py:991 dcim/views.py:1230 -#: dcim/views.py:1916 netbox/navigation/menu.py:87 -#: templates/dcim/device/base.html:34 templates/dcim/device_list.html:36 -#: templates/dcim/devicetype/base.html:31 templates/dcim/module.html:31 -#: templates/dcim/moduletype/base.html:31 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973 +#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892 +#: netbox/netbox/navigation/menu.py:87 +#: netbox/templates/dcim/device/base.html:34 +#: netbox/templates/dcim/device_list.html:36 +#: netbox/templates/dcim/devicetype/base.html:31 +#: netbox/templates/dcim/module.html:31 +#: netbox/templates/dcim/moduletype/base.html:31 msgid "Power Outlets" -msgstr "电源插座" +msgstr "PDU" -#: dcim/tables/devicetypes.py:128 dcim/views.py:1021 dcim/views.py:1260 -#: dcim/views.py:1952 netbox/navigation/menu.py:82 -#: templates/dcim/device/base.html:40 templates/dcim/devicetype/base.html:37 -#: templates/dcim/module.html:37 templates/dcim/moduletype/base.html:37 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003 +#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930 +#: netbox/netbox/navigation/menu.py:82 +#: netbox/templates/dcim/device/base.html:40 +#: netbox/templates/dcim/devicetype/base.html:37 +#: netbox/templates/dcim/module.html:37 +#: netbox/templates/dcim/moduletype/base.html:37 msgid "Front Ports" -msgstr "前端端口" +msgstr "前置端口" -#: dcim/tables/devicetypes.py:131 dcim/views.py:1036 dcim/views.py:1275 -#: dcim/views.py:1967 netbox/navigation/menu.py:83 -#: templates/dcim/device/base.html:43 templates/dcim/device_list.html:50 -#: templates/dcim/devicetype/base.html:40 templates/dcim/module.html:40 -#: templates/dcim/moduletype/base.html:40 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018 +#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946 +#: netbox/netbox/navigation/menu.py:83 +#: netbox/templates/dcim/device/base.html:43 +#: netbox/templates/dcim/device_list.html:50 +#: netbox/templates/dcim/devicetype/base.html:40 +#: netbox/templates/dcim/module.html:40 +#: netbox/templates/dcim/moduletype/base.html:40 msgid "Rear Ports" -msgstr "后端端口" +msgstr "后置端口" -#: dcim/tables/devicetypes.py:134 dcim/views.py:1066 dcim/views.py:2005 -#: netbox/navigation/menu.py:89 templates/dcim/device/base.html:49 -#: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048 +#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89 +#: netbox/templates/dcim/device/base.html:49 +#: netbox/templates/dcim/device_list.html:57 +#: netbox/templates/dcim/devicetype/base.html:46 msgid "Device Bays" -msgstr "设备托架" +msgstr "机柜托架" -#: dcim/tables/devicetypes.py:137 dcim/views.py:1051 dcim/views.py:1986 -#: netbox/navigation/menu.py:88 templates/dcim/device/base.html:46 -#: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033 +#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88 +#: netbox/templates/dcim/device/base.html:46 +#: netbox/templates/dcim/device_list.html:64 +#: netbox/templates/dcim/devicetype/base.html:43 msgid "Module Bays" -msgstr "模块托架" +msgstr "设备板卡插槽" -#: dcim/tables/power.py:36 netbox/navigation/menu.py:282 -#: templates/dcim/powerpanel.html:51 +#: netbox/dcim/tables/power.py:36 netbox/netbox/navigation/menu.py:282 +#: netbox/templates/dcim/powerpanel.html:51 msgid "Power Feeds" -msgstr "电源供应" +msgstr "电力来源" -#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:99 +#: netbox/dcim/tables/power.py:80 netbox/templates/dcim/powerfeed.html:99 msgid "Max Utilization" -msgstr "最大利用率" +msgstr "电源面板" -#: dcim/tables/power.py:84 +#: netbox/dcim/tables/power.py:84 msgid "Available Power (VA)" msgstr "可用功率 (VA)" -#: dcim/tables/racks.py:29 dcim/tables/sites.py:138 -#: netbox/navigation/menu.py:24 netbox/navigation/menu.py:26 +#: netbox/dcim/tables/racks.py:29 netbox/dcim/tables/sites.py:138 +#: netbox/netbox/navigation/menu.py:24 netbox/netbox/navigation/menu.py:26 msgid "Racks" -msgstr "机架" +msgstr "机柜" -#: dcim/tables/racks.py:73 templates/dcim/device.html:310 -#: templates/dcim/rack.html:90 +#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318 +#: netbox/templates/dcim/rack.html:90 msgid "Height" -msgstr "身高" +msgstr "高度" -#: dcim/tables/racks.py:85 +#: netbox/dcim/tables/racks.py:85 msgid "Space" -msgstr "太空" +msgstr "空间" -#: dcim/tables/racks.py:96 templates/dcim/rack.html:100 +#: netbox/dcim/tables/racks.py:96 netbox/templates/dcim/rack.html:100 msgid "Outer Width" msgstr "外部宽度" -#: dcim/tables/racks.py:100 templates/dcim/rack.html:110 +#: netbox/dcim/tables/racks.py:100 netbox/templates/dcim/rack.html:110 msgid "Outer Depth" -msgstr "外部深度" +msgstr "外部长度/深度" -#: dcim/tables/racks.py:108 +#: netbox/dcim/tables/racks.py:108 msgid "Max Weight" -msgstr "最大重量" +msgstr "最大承重" -#: dcim/tables/sites.py:30 dcim/tables/sites.py:57 -#: extras/forms/filtersets.py:360 extras/forms/model_forms.py:393 -#: ipam/forms/bulk_edit.py:129 ipam/forms/model_forms.py:151 -#: ipam/tables/asn.py:66 netbox/navigation/menu.py:15 -#: netbox/navigation/menu.py:17 +#: netbox/dcim/tables/sites.py:30 netbox/dcim/tables/sites.py:57 +#: netbox/extras/forms/filtersets.py:360 +#: netbox/extras/forms/model_forms.py:393 netbox/ipam/forms/bulk_edit.py:129 +#: netbox/ipam/forms/model_forms.py:151 netbox/ipam/tables/asn.py:66 +#: netbox/netbox/navigation/menu.py:15 netbox/netbox/navigation/menu.py:17 msgid "Sites" msgstr "站点" -#: dcim/tests/test_api.py:50 +#: netbox/dcim/tests/test_api.py:50 msgid "Test case must set peer_termination_type" -msgstr "测试用例必须设置 peer_termination_type" +msgstr "测试用例必须设置对端端点类型" -#: dcim/views.py:137 +#: netbox/dcim/views.py:140 #, python-brace-format msgid "Disconnected {count} {type}" -msgstr "断开连接 {count} {type}" +msgstr "已断开连接{count} {type}" -#: dcim/views.py:698 netbox/navigation/menu.py:28 +#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28 msgid "Reservations" -msgstr "预订" +msgstr "机柜预留" -#: dcim/views.py:716 templates/dcim/location.html:90 -#: templates/dcim/site.html:139 +#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90 +#: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" -msgstr "非机架设备" +msgstr "未上架设备" -#: dcim/views.py:2037 extras/forms/model_forms.py:453 -#: templates/extras/configcontext.html:10 -#: virtualization/forms/model_forms.py:225 virtualization/views.py:407 +#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453 +#: netbox/templates/extras/configcontext.html:10 +#: netbox/virtualization/forms/model_forms.py:225 +#: netbox/virtualization/views.py:404 msgid "Config Context" -msgstr "配置上下文" +msgstr "配置实例" -#: dcim/views.py:2047 virtualization/views.py:417 +#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414 msgid "Render Config" -msgstr "渲染配置" +msgstr "提交配置" -#: dcim/views.py:2097 extras/tables/tables.py:440 -#: netbox/navigation/menu.py:234 netbox/navigation/menu.py:236 -#: virtualization/views.py:185 +#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441 +#: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236 +#: netbox/virtualization/views.py:179 msgid "Virtual Machines" msgstr "虚拟机" -#: dcim/views.py:2989 ipam/tables/ip.py:233 +#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233 msgid "Children" -msgstr "孩子们" +msgstr "子网" -#: extras/api/customfields.py:88 +#: netbox/extras/api/customfields.py:88 #, python-brace-format msgid "Unknown related object(s): {name}" -msgstr "未知的相关对象: {name}" +msgstr "未知的相关对象: {name}" -#: extras/api/serializers_/customfields.py:74 +#: netbox/extras/api/serializers_/customfields.py:74 msgid "Changing the type of custom fields is not supported." msgstr "不支持更改自定义字段的类型。" -#: extras/api/serializers_/scripts.py:71 extras/api/serializers_/scripts.py:76 +#: netbox/extras/api/serializers_/scripts.py:71 +#: netbox/extras/api/serializers_/scripts.py:76 msgid "Scheduling is not enabled for this script." -msgstr "此脚本未启用调度。" +msgstr "脚本计划未启用。" -#: extras/choices.py:30 extras/forms/misc.py:14 +#: netbox/extras/choices.py:30 netbox/extras/forms/misc.py:14 msgid "Text" msgstr "文本" -#: extras/choices.py:31 +#: netbox/extras/choices.py:31 msgid "Text (long)" -msgstr "文本(长)" +msgstr "长文本" -#: extras/choices.py:32 +#: netbox/extras/choices.py:32 msgid "Integer" msgstr "整数" -#: extras/choices.py:33 +#: netbox/extras/choices.py:33 msgid "Decimal" -msgstr "十进制" +msgstr "双精度浮点数" -#: extras/choices.py:34 +#: netbox/extras/choices.py:34 msgid "Boolean (true/false)" -msgstr "布尔值(真/假)" +msgstr "布尔值(true/false)" -#: extras/choices.py:35 +#: netbox/extras/choices.py:35 msgid "Date" msgstr "日期" -#: extras/choices.py:36 +#: netbox/extras/choices.py:36 msgid "Date & time" -msgstr "日期和时间" +msgstr "日期&时间" -#: extras/choices.py:38 +#: netbox/extras/choices.py:38 msgid "JSON" msgstr "JSON" -#: extras/choices.py:39 +#: netbox/extras/choices.py:39 msgid "Selection" -msgstr "选择" +msgstr "单选框" -#: extras/choices.py:40 +#: netbox/extras/choices.py:40 msgid "Multiple selection" -msgstr "多项选择" +msgstr "复选框" -#: extras/choices.py:42 +#: netbox/extras/choices.py:42 msgid "Multiple objects" msgstr "多个对象" -#: extras/choices.py:53 netbox/preferences.py:21 -#: templates/extras/customfield.html:66 vpn/choices.py:20 -#: wireless/choices.py:27 +#: netbox/extras/choices.py:53 netbox/netbox/preferences.py:21 +#: netbox/templates/extras/customfield.html:66 netbox/vpn/choices.py:20 +#: netbox/wireless/choices.py:27 msgid "Disabled" -msgstr "已禁用" +msgstr "禁用" -#: extras/choices.py:54 +#: netbox/extras/choices.py:54 msgid "Loose" -msgstr "松散" +msgstr "松散匹配" -#: extras/choices.py:55 +#: netbox/extras/choices.py:55 msgid "Exact" -msgstr "精确" +msgstr "严格匹配" -#: extras/choices.py:66 +#: netbox/extras/choices.py:66 msgid "Always" -msgstr "永远" +msgstr "总是可见" -#: extras/choices.py:67 +#: netbox/extras/choices.py:67 msgid "If set" -msgstr "如果已设置" +msgstr "设置才可见" -#: extras/choices.py:68 extras/choices.py:81 +#: netbox/extras/choices.py:68 netbox/extras/choices.py:81 msgid "Hidden" msgstr "隐藏" -#: extras/choices.py:79 +#: netbox/extras/choices.py:79 msgid "Yes" -msgstr "是的" +msgstr "是" -#: extras/choices.py:80 +#: netbox/extras/choices.py:80 msgid "No" -msgstr "没有" +msgstr "否" -#: extras/choices.py:108 templates/tenancy/contact.html:57 -#: tenancy/forms/bulk_edit.py:118 wireless/forms/model_forms.py:162 +#: netbox/extras/choices.py:108 netbox/templates/tenancy/contact.html:57 +#: netbox/tenancy/forms/bulk_edit.py:118 +#: netbox/wireless/forms/model_forms.py:162 msgid "Link" msgstr "链接" -#: extras/choices.py:122 +#: netbox/extras/choices.py:124 msgid "Newest" -msgstr "最新" +msgstr "最新排序" -#: extras/choices.py:123 +#: netbox/extras/choices.py:125 msgid "Oldest" -msgstr "最古老" +msgstr "最久排序" -#: extras/choices.py:139 templates/generic/object.html:61 +#: netbox/extras/choices.py:126 +msgid "Alphabetical (A-Z)" +msgstr "按字母顺序 (A-Z)" + +#: netbox/extras/choices.py:127 +msgid "Alphabetical (Z-A)" +msgstr "按字母顺序 (Z-A)" + +#: netbox/extras/choices.py:143 netbox/templates/generic/object.html:61 msgid "Updated" -msgstr "已更新" +msgstr "更新于" -#: extras/choices.py:140 +#: netbox/extras/choices.py:144 msgid "Deleted" -msgstr "已删除" +msgstr "删除" -#: extras/choices.py:157 extras/choices.py:181 +#: netbox/extras/choices.py:161 netbox/extras/choices.py:185 msgid "Info" msgstr "信息" -#: extras/choices.py:158 extras/choices.py:180 +#: netbox/extras/choices.py:162 netbox/extras/choices.py:184 msgid "Success" msgstr "成功" -#: extras/choices.py:159 extras/choices.py:182 +#: netbox/extras/choices.py:163 netbox/extras/choices.py:186 msgid "Warning" msgstr "警告" -#: extras/choices.py:160 +#: netbox/extras/choices.py:164 msgid "Danger" -msgstr "危险" +msgstr "危急" -#: extras/choices.py:178 +#: netbox/extras/choices.py:182 msgid "Debug" msgstr "调试" -#: extras/choices.py:179 netbox/choices.py:104 +#: netbox/extras/choices.py:183 netbox/netbox/choices.py:104 msgid "Default" msgstr "默认" -#: extras/choices.py:183 +#: netbox/extras/choices.py:187 msgid "Failure" msgstr "失败" -#: extras/choices.py:199 +#: netbox/extras/choices.py:203 msgid "Hourly" msgstr "每小时" -#: extras/choices.py:200 +#: netbox/extras/choices.py:204 msgid "12 hours" -msgstr "12 小时" +msgstr "12小时制" -#: extras/choices.py:201 +#: netbox/extras/choices.py:205 msgid "Daily" msgstr "每天" -#: extras/choices.py:202 +#: netbox/extras/choices.py:206 msgid "Weekly" -msgstr "每周一次" +msgstr "周" -#: extras/choices.py:203 +#: netbox/extras/choices.py:207 msgid "30 days" -msgstr "30 天" +msgstr "30天" -#: extras/choices.py:268 extras/tables/tables.py:296 -#: templates/dcim/virtualchassis_edit.html:107 -#: templates/extras/eventrule.html:40 -#: templates/generic/bulk_add_component.html:68 -#: templates/generic/object_edit.html:47 templates/generic/object_edit.html:80 -#: templates/ipam/inc/ipaddress_edit_header.html:7 +#: netbox/extras/choices.py:272 netbox/extras/tables/tables.py:297 +#: netbox/templates/dcim/virtualchassis_edit.html:107 +#: netbox/templates/extras/eventrule.html:40 +#: netbox/templates/generic/bulk_add_component.html:68 +#: netbox/templates/generic/object_edit.html:47 +#: netbox/templates/generic/object_edit.html:80 +#: netbox/templates/ipam/inc/ipaddress_edit_header.html:7 msgid "Create" msgstr "创建" -#: extras/choices.py:269 extras/tables/tables.py:299 -#: templates/extras/eventrule.html:44 +#: netbox/extras/choices.py:273 netbox/extras/tables/tables.py:300 +#: netbox/templates/extras/eventrule.html:44 msgid "Update" msgstr "更新" -#: extras/choices.py:270 extras/tables/tables.py:302 -#: templates/circuits/inc/circuit_termination.html:23 -#: templates/dcim/inc/panels/inventory_items.html:37 -#: templates/dcim/moduletype/component_templates.html:23 -#: templates/dcim/powerpanel.html:66 templates/extras/eventrule.html:48 -#: templates/extras/script_list.html:37 templates/generic/bulk_delete.html:20 -#: templates/generic/bulk_delete.html:66 -#: templates/generic/object_delete.html:19 templates/htmx/delete_form.html:57 -#: templates/ipam/inc/panels/fhrp_groups.html:48 -#: templates/users/objectpermission.html:46 -#: utilities/templates/buttons/delete.html:11 +#: netbox/extras/choices.py:274 netbox/extras/tables/tables.py:303 +#: netbox/templates/circuits/inc/circuit_termination.html:23 +#: netbox/templates/dcim/inc/panels/inventory_items.html:37 +#: netbox/templates/dcim/moduletype/component_templates.html:23 +#: netbox/templates/dcim/powerpanel.html:66 +#: netbox/templates/extras/eventrule.html:48 +#: netbox/templates/extras/script_list.html:37 +#: netbox/templates/generic/bulk_delete.html:20 +#: netbox/templates/generic/bulk_delete.html:66 +#: netbox/templates/generic/object_delete.html:19 +#: netbox/templates/htmx/delete_form.html:57 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:48 +#: netbox/templates/users/objectpermission.html:46 +#: netbox/utilities/templates/buttons/delete.html:11 msgid "Delete" msgstr "删除" -#: extras/choices.py:294 netbox/choices.py:57 netbox/choices.py:105 +#: netbox/extras/choices.py:298 netbox/netbox/choices.py:57 +#: netbox/netbox/choices.py:105 msgid "Blue" msgstr "蓝色" -#: extras/choices.py:295 netbox/choices.py:56 netbox/choices.py:106 +#: netbox/extras/choices.py:299 netbox/netbox/choices.py:56 +#: netbox/netbox/choices.py:106 msgid "Indigo" -msgstr "靛青" +msgstr "靛青色" -#: extras/choices.py:296 netbox/choices.py:54 netbox/choices.py:107 +#: netbox/extras/choices.py:300 netbox/netbox/choices.py:54 +#: netbox/netbox/choices.py:107 msgid "Purple" msgstr "紫色" -#: extras/choices.py:297 netbox/choices.py:51 netbox/choices.py:108 +#: netbox/extras/choices.py:301 netbox/netbox/choices.py:51 +#: netbox/netbox/choices.py:108 msgid "Pink" -msgstr "粉" +msgstr "粉红色" -#: extras/choices.py:298 netbox/choices.py:50 netbox/choices.py:109 +#: netbox/extras/choices.py:302 netbox/netbox/choices.py:50 +#: netbox/netbox/choices.py:109 msgid "Red" msgstr "红色" -#: extras/choices.py:299 netbox/choices.py:68 netbox/choices.py:110 +#: netbox/extras/choices.py:303 netbox/netbox/choices.py:68 +#: netbox/netbox/choices.py:110 msgid "Orange" -msgstr "橙子" +msgstr "橙色" -#: extras/choices.py:300 netbox/choices.py:66 netbox/choices.py:111 +#: netbox/extras/choices.py:304 netbox/netbox/choices.py:66 +#: netbox/netbox/choices.py:111 msgid "Yellow" msgstr "黄色" -#: extras/choices.py:301 netbox/choices.py:63 netbox/choices.py:112 +#: netbox/extras/choices.py:305 netbox/netbox/choices.py:63 +#: netbox/netbox/choices.py:112 msgid "Green" msgstr "绿色" -#: extras/choices.py:302 netbox/choices.py:60 netbox/choices.py:113 +#: netbox/extras/choices.py:306 netbox/netbox/choices.py:60 +#: netbox/netbox/choices.py:113 msgid "Teal" -msgstr "蒂尔" +msgstr "蓝色" -#: extras/choices.py:303 netbox/choices.py:59 netbox/choices.py:114 +#: netbox/extras/choices.py:307 netbox/netbox/choices.py:59 +#: netbox/netbox/choices.py:114 msgid "Cyan" -msgstr "青色" +msgstr "蓝绿色" -#: extras/choices.py:304 netbox/choices.py:115 +#: netbox/extras/choices.py:308 netbox/netbox/choices.py:115 msgid "Gray" msgstr "灰色" -#: extras/choices.py:305 netbox/choices.py:74 netbox/choices.py:116 +#: netbox/extras/choices.py:309 netbox/netbox/choices.py:74 +#: netbox/netbox/choices.py:116 msgid "Black" msgstr "黑色" -#: extras/choices.py:306 netbox/choices.py:75 netbox/choices.py:117 +#: netbox/extras/choices.py:310 netbox/netbox/choices.py:75 +#: netbox/netbox/choices.py:117 msgid "White" msgstr "白色" -#: extras/choices.py:320 extras/forms/model_forms.py:242 -#: extras/forms/model_forms.py:324 templates/extras/webhook.html:10 +#: netbox/extras/choices.py:324 netbox/extras/forms/model_forms.py:242 +#: netbox/extras/forms/model_forms.py:324 +#: netbox/templates/extras/webhook.html:10 msgid "Webhook" -msgstr "网络挂钩" +msgstr "Webhook" -#: extras/choices.py:321 extras/forms/model_forms.py:312 -#: templates/extras/script/base.html:29 +#: netbox/extras/choices.py:325 netbox/extras/forms/model_forms.py:312 +#: netbox/templates/extras/script/base.html:29 msgid "Script" msgstr "脚本" -#: extras/conditions.py:54 +#: netbox/extras/conditions.py:54 #, python-brace-format msgid "Unknown operator: {op}. Must be one of: {operators}" -msgstr "未知的操作员: {op}。必须是以下之一: {operators}" +msgstr "未知运算符: {op}。必须是以下项之一: {operators}" -#: extras/conditions.py:58 +#: netbox/extras/conditions.py:58 #, python-brace-format msgid "Unsupported value type: {value}" -msgstr "不支持的值类型: {value}" +msgstr "不支持的值类型: {value}" -#: extras/conditions.py:60 +#: netbox/extras/conditions.py:60 #, python-brace-format msgid "Invalid type for {op} operation: {value}" -msgstr "的类型无效 {op} 操作: {value}" +msgstr "{op}的操作类型 {value}无效" -#: extras/conditions.py:137 +#: netbox/extras/conditions.py:137 #, python-brace-format msgid "Ruleset must be a dictionary, not {ruleset}." -msgstr "规则集必须是字典,而不是 {ruleset}。" +msgstr "规则集必须是字典,而不是 {ruleset}.。" -#: extras/conditions.py:139 -#, python-brace-format -msgid "Ruleset must have exactly one logical operator (found {ruleset})" -msgstr "规则集必须只有一个逻辑运算符(已找到) {ruleset})" +#: netbox/extras/conditions.py:142 +msgid "Invalid logic type: must be 'AND' or 'OR'. Please check documentation." +msgstr "无效的逻辑类型:必须是“与”或“或”中之一。请查看文档。" -#: extras/conditions.py:145 -#, python-brace-format -msgid "Invalid logic type: {logic} (must be '{op_and}' or '{op_or}')" -msgstr "逻辑类型无效: {logic} (必须是 '{op_and}'或'{op_or}')" +#: netbox/extras/conditions.py:154 +msgid "Incorrect key(s) informed. Please check documentation." +msgstr "提供了错误的密钥。请检查文档。" -#: extras/dashboard/forms.py:38 +#: netbox/extras/dashboard/forms.py:38 msgid "Widget type" -msgstr "控件类型" +msgstr "小组件类型" -#: extras/dashboard/utils.py:36 +#: netbox/extras/dashboard/utils.py:36 #, python-brace-format msgid "Unregistered widget class: {name}" -msgstr "未注册的控件类: {name}" +msgstr "未注册的小组件类型: {name}" -#: extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:126 #, python-brace-format msgid "{class_name} must define a render() method." -msgstr "{class_name} 必须定义一个 render () 方法。" +msgstr "{class_name}必须定义render() 方法。" -#: extras/dashboard/widgets.py:161 +#: netbox/extras/dashboard/widgets.py:161 msgid "Note" -msgstr "注意" +msgstr "公告" -#: extras/dashboard/widgets.py:162 +#: netbox/extras/dashboard/widgets.py:162 msgid "Display some arbitrary custom content. Markdown is supported." -msgstr "显示一些任意的自定义内容。支持 Markdown。" +msgstr "显示任意的自定义内容。支持Markdown。" -#: extras/dashboard/widgets.py:175 +#: netbox/extras/dashboard/widgets.py:175 msgid "Object Counts" -msgstr "物体数量" +msgstr "对象统计" -#: extras/dashboard/widgets.py:176 +#: netbox/extras/dashboard/widgets.py:176 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." -msgstr "显示一组 NetBox 模型以及为每种类型创建的对象的数量。" +msgstr "显示NetBox模型以及为每种类型创建的对象数。" -#: extras/dashboard/widgets.py:186 +#: netbox/extras/dashboard/widgets.py:186 msgid "Filters to apply when counting the number of objects" -msgstr "计算物体数量时要应用的过滤器" +msgstr "统计对象数时要应用的筛选器" -#: extras/dashboard/widgets.py:194 +#: netbox/extras/dashboard/widgets.py:194 msgid "Invalid format. Object filters must be passed as a dictionary." -msgstr "格式无效。对象过滤器必须作为字典传递。" +msgstr "无效的格式。对象筛选器必须作为字典传递。" -#: extras/dashboard/widgets.py:222 +#: netbox/extras/dashboard/widgets.py:222 msgid "Object List" -msgstr "物件清单" +msgstr "对象列表" -#: extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:223 msgid "Display an arbitrary list of objects." -msgstr "显示任意对象列表。" +msgstr "显示任意的对象列表。" -#: extras/dashboard/widgets.py:236 +#: netbox/extras/dashboard/widgets.py:236 msgid "The default number of objects to display" -msgstr "要显示的对象的默认数量" +msgstr "要显示的默认对象数" -#: extras/dashboard/widgets.py:248 +#: netbox/extras/dashboard/widgets.py:248 msgid "Invalid format. URL parameters must be passed as a dictionary." -msgstr "格式无效。URL 参数必须作为字典传递。" +msgstr "无效的格式。URL参数必须作为字典传递。" -#: extras/dashboard/widgets.py:283 +#: netbox/extras/dashboard/widgets.py:284 msgid "RSS Feed" -msgstr "RSS 提要" +msgstr "RSS订阅" -#: extras/dashboard/widgets.py:288 +#: netbox/extras/dashboard/widgets.py:289 msgid "Embed an RSS feed from an external website." -msgstr "嵌入来自外部网站的 RSS 提要。" +msgstr "嵌入来自外部网站的 RSS 源。" -#: extras/dashboard/widgets.py:295 +#: netbox/extras/dashboard/widgets.py:296 msgid "Feed URL" -msgstr "提要网址" +msgstr "订阅链接" -#: extras/dashboard/widgets.py:300 +#: netbox/extras/dashboard/widgets.py:301 msgid "The maximum number of objects to display" -msgstr "要显示的最大对象数" +msgstr "要多显示的对象数" -#: extras/dashboard/widgets.py:305 +#: netbox/extras/dashboard/widgets.py:306 msgid "How long to stored the cached content (in seconds)" -msgstr "缓存内容存储多长时间(以秒为单位)" +msgstr "存储缓存内容的时间(秒)" -#: extras/dashboard/widgets.py:357 templates/account/base.html:10 -#: templates/account/bookmarks.html:7 templates/inc/user_menu.html:30 +#: netbox/extras/dashboard/widgets.py:358 +#: netbox/templates/account/base.html:10 +#: netbox/templates/account/bookmarks.html:7 +#: netbox/templates/inc/user_menu.html:30 msgid "Bookmarks" msgstr "书签" -#: extras/dashboard/widgets.py:361 +#: netbox/extras/dashboard/widgets.py:362 msgid "Show your personal bookmarks" msgstr "显示您的个人书签" -#: extras/events.py:128 +#: netbox/extras/events.py:134 #, python-brace-format msgid "Unknown action type for an event rule: {action_type}" -msgstr "事件规则的未知操作类型: {action_type}" +msgstr "事件规则的未知操作类型: {action_type}" -#: extras/events.py:176 +#: netbox/extras/events.py:182 #, python-brace-format msgid "Cannot import events pipeline {name} error: {error}" -msgstr "无法导入事件管道 {name} 错误: {error}" +msgstr "无法导入事件管道 {name}错误: {error}" -#: extras/filtersets.py:45 +#: netbox/extras/filtersets.py:45 msgid "Script module (ID)" -msgstr "脚本模块 (ID)" +msgstr "脚本模版(ID)" -#: extras/filtersets.py:249 extras/filtersets.py:589 extras/filtersets.py:621 +#: netbox/extras/filtersets.py:249 netbox/extras/filtersets.py:589 +#: netbox/extras/filtersets.py:621 msgid "Data file (ID)" -msgstr "数据文件 (ID)" +msgstr "数据文件(ID)" -#: extras/filtersets.py:526 virtualization/forms/filtersets.py:118 +#: netbox/extras/filtersets.py:526 +#: netbox/virtualization/forms/filtersets.py:118 msgid "Cluster type" -msgstr "集群类型" +msgstr "堆叠类型" -#: extras/filtersets.py:532 virtualization/filtersets.py:95 -#: virtualization/filtersets.py:147 +#: netbox/extras/filtersets.py:532 netbox/virtualization/filtersets.py:95 +#: netbox/virtualization/filtersets.py:147 msgid "Cluster type (slug)" -msgstr "集群类型(slug)" +msgstr "堆叠类型(缩写)" -#: extras/filtersets.py:537 ipam/forms/bulk_edit.py:476 -#: ipam/forms/filtersets.py:464 ipam/forms/model_forms.py:624 -#: virtualization/forms/filtersets.py:112 -msgid "Cluster group" -msgstr "集群组" - -#: extras/filtersets.py:543 virtualization/filtersets.py:136 -msgid "Cluster group (slug)" -msgstr "集群组(slug)" - -#: extras/filtersets.py:553 tenancy/forms/forms.py:16 -#: tenancy/forms/forms.py:39 +#: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16 +#: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" -msgstr "租户群组" +msgstr "租户组" -#: extras/filtersets.py:559 tenancy/filtersets.py:189 -#: tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:559 netbox/tenancy/filtersets.py:189 +#: netbox/tenancy/filtersets.py:209 msgid "Tenant group (slug)" -msgstr "租户群组(slug)" +msgstr "租户组(缩写)" -#: extras/filtersets.py:575 extras/forms/model_forms.py:371 -#: templates/extras/tag.html:11 +#: netbox/extras/filtersets.py:575 netbox/extras/forms/model_forms.py:371 +#: netbox/templates/extras/tag.html:11 msgid "Tag" msgstr "标签" -#: extras/filtersets.py:581 +#: netbox/extras/filtersets.py:581 msgid "Tag (slug)" -msgstr "标签(蛞蝓)" +msgstr "标签(缩写)" -#: extras/filtersets.py:645 extras/forms/filtersets.py:438 +#: netbox/extras/filtersets.py:645 netbox/extras/forms/filtersets.py:438 msgid "Has local config context data" -msgstr "有本地配置上下文数据" +msgstr "具有本地配置实例" -#: extras/filtersets.py:670 +#: netbox/extras/filtersets.py:670 msgid "User name" msgstr "用户名" -#: extras/forms/bulk_edit.py:32 extras/forms/filtersets.py:57 +#: netbox/extras/forms/bulk_edit.py:32 netbox/extras/forms/filtersets.py:57 msgid "Group name" -msgstr "群组名称" +msgstr "组名称" -#: extras/forms/bulk_edit.py:40 extras/forms/filtersets.py:65 -#: extras/tables/tables.py:49 templates/extras/customfield.html:38 -#: templates/generic/bulk_import.html:118 +#: netbox/extras/forms/bulk_edit.py:40 netbox/extras/forms/filtersets.py:65 +#: netbox/extras/tables/tables.py:50 +#: netbox/templates/extras/customfield.html:38 +#: netbox/templates/generic/bulk_import.html:118 msgid "Required" -msgstr "必填项" +msgstr "必须" -#: extras/forms/bulk_edit.py:53 extras/forms/bulk_import.py:57 -#: extras/forms/filtersets.py:79 extras/models/customfields.py:194 +#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57 +#: netbox/extras/forms/filtersets.py:79 +#: netbox/extras/models/customfields.py:195 msgid "UI visible" -msgstr "用户界面可见" +msgstr "页面可见" -#: extras/forms/bulk_edit.py:58 extras/forms/bulk_import.py:63 -#: extras/forms/filtersets.py:84 extras/models/customfields.py:201 +#: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63 +#: netbox/extras/forms/filtersets.py:84 +#: netbox/extras/models/customfields.py:202 msgid "UI editable" -msgstr "用户界面可编辑" +msgstr "页面可编辑" -#: extras/forms/bulk_edit.py:63 extras/forms/filtersets.py:87 +#: netbox/extras/forms/bulk_edit.py:63 netbox/extras/forms/filtersets.py:87 msgid "Is cloneable" -msgstr "是可克隆的" +msgstr "可复制" -#: extras/forms/bulk_edit.py:103 extras/forms/filtersets.py:127 +#: netbox/extras/forms/bulk_edit.py:103 netbox/extras/forms/filtersets.py:127 msgid "New window" msgstr "新窗口" -#: extras/forms/bulk_edit.py:112 +#: netbox/extras/forms/bulk_edit.py:112 msgid "Button class" -msgstr "按钮类别" +msgstr "按钮类型" -#: extras/forms/bulk_edit.py:129 extras/forms/filtersets.py:165 -#: extras/models/models.py:437 +#: netbox/extras/forms/bulk_edit.py:129 netbox/extras/forms/filtersets.py:165 +#: netbox/extras/models/models.py:437 msgid "MIME type" -msgstr "哑剧类型" +msgstr "MIME类型" -#: extras/forms/bulk_edit.py:134 extras/forms/filtersets.py:168 +#: netbox/extras/forms/bulk_edit.py:134 netbox/extras/forms/filtersets.py:168 msgid "File extension" msgstr "文件扩展名" -#: extras/forms/bulk_edit.py:139 extras/forms/filtersets.py:172 +#: netbox/extras/forms/bulk_edit.py:139 netbox/extras/forms/filtersets.py:172 msgid "As attachment" msgstr "作为附件" -#: extras/forms/bulk_edit.py:167 extras/forms/filtersets.py:214 -#: extras/tables/tables.py:219 templates/extras/savedfilter.html:29 +#: netbox/extras/forms/bulk_edit.py:167 netbox/extras/forms/filtersets.py:214 +#: netbox/extras/tables/tables.py:220 +#: netbox/templates/extras/savedfilter.html:29 msgid "Shared" -msgstr "共享的" +msgstr "共享性" -#: extras/forms/bulk_edit.py:190 extras/forms/filtersets.py:243 -#: extras/models/models.py:202 +#: netbox/extras/forms/bulk_edit.py:190 netbox/extras/forms/filtersets.py:243 +#: netbox/extras/models/models.py:202 msgid "HTTP method" -msgstr "HTTP 方法" +msgstr "HTTP方法" -#: extras/forms/bulk_edit.py:194 extras/forms/filtersets.py:237 -#: templates/extras/webhook.html:30 +#: netbox/extras/forms/bulk_edit.py:194 netbox/extras/forms/filtersets.py:237 +#: netbox/templates/extras/webhook.html:30 msgid "Payload URL" -msgstr "有效载荷 URL" +msgstr "有效URL" -#: extras/forms/bulk_edit.py:199 extras/models/models.py:242 +#: netbox/extras/forms/bulk_edit.py:199 netbox/extras/models/models.py:242 msgid "SSL verification" -msgstr "SSL 验证" +msgstr "SSL验证" -#: extras/forms/bulk_edit.py:202 templates/extras/webhook.html:38 +#: netbox/extras/forms/bulk_edit.py:202 +#: netbox/templates/extras/webhook.html:38 msgid "Secret" -msgstr "秘密" +msgstr "秘钥" -#: extras/forms/bulk_edit.py:207 +#: netbox/extras/forms/bulk_edit.py:207 msgid "CA file path" -msgstr "CA 文件路径" +msgstr "CA证书文件路径" -#: extras/forms/bulk_edit.py:226 +#: netbox/extras/forms/bulk_edit.py:226 msgid "On create" msgstr "创建时" -#: extras/forms/bulk_edit.py:231 +#: netbox/extras/forms/bulk_edit.py:231 msgid "On update" msgstr "更新时" -#: extras/forms/bulk_edit.py:236 +#: netbox/extras/forms/bulk_edit.py:236 msgid "On delete" msgstr "删除时" -#: extras/forms/bulk_edit.py:241 +#: netbox/extras/forms/bulk_edit.py:241 msgid "On job start" -msgstr "开始工作" +msgstr "任务开始时" -#: extras/forms/bulk_edit.py:246 +#: netbox/extras/forms/bulk_edit.py:246 msgid "On job end" -msgstr "在工作结束时" +msgstr "任务结束时" -#: extras/forms/bulk_edit.py:283 +#: netbox/extras/forms/bulk_edit.py:283 msgid "Is active" -msgstr "处于活动状态" +msgstr "激活的" -#: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115 -#: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159 -#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:115 -#: extras/forms/filtersets.py:202 extras/forms/model_forms.py:43 -#: extras/forms/model_forms.py:131 extras/forms/model_forms.py:163 -#: extras/forms/model_forms.py:204 extras/forms/model_forms.py:261 -#: extras/forms/model_forms.py:365 users/forms/model_forms.py:273 +#: netbox/extras/forms/bulk_import.py:34 +#: netbox/extras/forms/bulk_import.py:115 +#: netbox/extras/forms/bulk_import.py:136 +#: netbox/extras/forms/bulk_import.py:159 +#: netbox/extras/forms/bulk_import.py:183 +#: netbox/extras/forms/filtersets.py:115 netbox/extras/forms/filtersets.py:202 +#: netbox/extras/forms/model_forms.py:43 +#: netbox/extras/forms/model_forms.py:131 +#: netbox/extras/forms/model_forms.py:163 +#: netbox/extras/forms/model_forms.py:204 +#: netbox/extras/forms/model_forms.py:261 +#: netbox/extras/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:273 msgid "Object types" msgstr "对象类型" -#: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117 -#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161 -#: extras/forms/bulk_import.py:185 tenancy/forms/bulk_import.py:96 +#: netbox/extras/forms/bulk_import.py:36 +#: netbox/extras/forms/bulk_import.py:117 +#: netbox/extras/forms/bulk_import.py:138 +#: netbox/extras/forms/bulk_import.py:161 +#: netbox/extras/forms/bulk_import.py:185 +#: netbox/tenancy/forms/bulk_import.py:96 msgid "One or more assigned object types" -msgstr "一种或多种已分配的对象类型" +msgstr "一个或多个分配对象类型" -#: extras/forms/bulk_import.py:41 +#: netbox/extras/forms/bulk_import.py:41 msgid "Field data type (e.g. text, integer, etc.)" msgstr "字段数据类型(例如文本、整数等)" -#: extras/forms/bulk_import.py:44 extras/forms/filtersets.py:186 -#: extras/forms/filtersets.py:260 extras/forms/model_forms.py:230 -#: tenancy/forms/filtersets.py:92 +#: netbox/extras/forms/bulk_import.py:44 netbox/extras/forms/filtersets.py:186 +#: netbox/extras/forms/filtersets.py:260 +#: netbox/extras/forms/model_forms.py:230 +#: netbox/tenancy/forms/filtersets.py:92 msgid "Object type" -msgstr "物体类型" +msgstr "对象类型" -#: extras/forms/bulk_import.py:47 +#: netbox/extras/forms/bulk_import.py:47 msgid "Object type (for object or multi-object fields)" -msgstr "对象类型(适用于对象或多对象字段)" +msgstr "对象类型(用于对象或多对象字段)" -#: extras/forms/bulk_import.py:50 extras/forms/filtersets.py:74 +#: netbox/extras/forms/bulk_import.py:50 netbox/extras/forms/filtersets.py:74 msgid "Choice set" -msgstr "选择集" +msgstr "可选项" -#: extras/forms/bulk_import.py:54 +#: netbox/extras/forms/bulk_import.py:54 msgid "Choice set (for selection fields)" -msgstr "选择集(用于选择字段)" +msgstr "可选项(用于单选框)" -#: extras/forms/bulk_import.py:60 +#: netbox/extras/forms/bulk_import.py:60 msgid "Whether the custom field is displayed in the UI" -msgstr "用户界面中是否显示自定义字段" +msgstr "自定义字段是否显示在页面中" -#: extras/forms/bulk_import.py:66 +#: netbox/extras/forms/bulk_import.py:66 msgid "Whether the custom field is editable in the UI" -msgstr "自定义字段是否可在 UI 中编辑" +msgstr "自定义字段在页面中是否可编辑" -#: extras/forms/bulk_import.py:82 +#: netbox/extras/forms/bulk_import.py:82 msgid "The base set of predefined choices to use (if any)" -msgstr "要使用的基本预定义选项集(如果有)" +msgstr "预定义选项的基本集合(如有)" -#: extras/forms/bulk_import.py:88 +#: netbox/extras/forms/bulk_import.py:88 msgid "" "Quoted string of comma-separated field choices with optional labels " "separated by colon: \"choice1:First Choice,choice2:Second Choice\"" -msgstr "以逗号分隔的字段选项的引号字符串,可选标签以冒号分隔:“choice1:第一选择,选择 2:第二选择”" +msgstr "用逗号分隔字段选项,可选标签用冒号分隔,并用引号包围:“选项1:第一选项,选项2:第二选项”" -#: extras/forms/bulk_import.py:120 extras/models/models.py:351 +#: netbox/extras/forms/bulk_import.py:120 netbox/extras/models/models.py:351 msgid "button class" msgstr "按钮类" -#: extras/forms/bulk_import.py:123 extras/models/models.py:355 +#: netbox/extras/forms/bulk_import.py:123 netbox/extras/models/models.py:355 msgid "" "The class of the first link in a group will be used for the dropdown button" -msgstr "群组中第一个链接的类别将用于下拉按钮" +msgstr "列表中第一个类将用于下拉按钮" -#: extras/forms/bulk_import.py:188 +#: netbox/extras/forms/bulk_import.py:188 msgid "Action object" -msgstr "操作对象" +msgstr "动作对象" -#: extras/forms/bulk_import.py:190 +#: netbox/extras/forms/bulk_import.py:190 msgid "Webhook name or script as dotted path module.Class" -msgstr "Webhook 名称或脚本为虚线路径 module.Class" +msgstr "Webhook名称或脚本的路径为module.Class" -#: extras/forms/bulk_import.py:211 +#: netbox/extras/forms/bulk_import.py:211 #, python-brace-format msgid "Webhook {name} not found" -msgstr "网络挂钩 {name} 未找到" +msgstr "未找到 Webhook {name}" -#: extras/forms/bulk_import.py:220 +#: netbox/extras/forms/bulk_import.py:220 #, python-brace-format msgid "Script {name} not found" -msgstr "脚本 {name} 未找到" +msgstr "未找到脚本{name}" -#: extras/forms/bulk_import.py:239 +#: netbox/extras/forms/bulk_import.py:236 msgid "Assigned object type" msgstr "分配的对象类型" -#: extras/forms/bulk_import.py:244 +#: netbox/extras/forms/bulk_import.py:241 msgid "The classification of entry" -msgstr "参赛分类" +msgstr "条目的分类" -#: extras/forms/filtersets.py:49 extras/forms/model_forms.py:47 +#: netbox/extras/forms/filtersets.py:49 netbox/extras/forms/model_forms.py:47 msgid "Related object type" -msgstr "相关对象类型" +msgstr "连接的对象类型" -#: extras/forms/filtersets.py:54 +#: netbox/extras/forms/filtersets.py:54 msgid "Field type" msgstr "字段类型" -#: extras/forms/filtersets.py:98 extras/tables/tables.py:70 -#: templates/generic/bulk_import.html:154 +#: netbox/extras/forms/filtersets.py:98 netbox/extras/tables/tables.py:71 +#: netbox/templates/generic/bulk_import.html:154 msgid "Choices" -msgstr "选择" +msgstr "选项" -#: extras/forms/filtersets.py:142 extras/forms/filtersets.py:328 -#: extras/forms/filtersets.py:417 extras/forms/model_forms.py:448 -#: templates/core/job.html:78 templates/extras/eventrule.html:90 +#: netbox/extras/forms/filtersets.py:142 netbox/extras/forms/filtersets.py:328 +#: netbox/extras/forms/filtersets.py:417 +#: netbox/extras/forms/model_forms.py:448 netbox/templates/core/job.html:78 +#: netbox/templates/extras/eventrule.html:90 msgid "Data" -msgstr "数据" +msgstr "日期" -#: extras/forms/filtersets.py:153 extras/forms/filtersets.py:342 -#: extras/forms/filtersets.py:427 netbox/choices.py:133 -#: utilities/forms/bulk_import.py:26 +#: netbox/extras/forms/filtersets.py:153 netbox/extras/forms/filtersets.py:342 +#: netbox/extras/forms/filtersets.py:427 netbox/netbox/choices.py:133 +#: netbox/utilities/forms/bulk_import.py:26 msgid "Data file" msgstr "数据文件" -#: extras/forms/filtersets.py:161 +#: netbox/extras/forms/filtersets.py:161 msgid "Content types" msgstr "内容类型" -#: extras/forms/filtersets.py:233 extras/models/models.py:207 +#: netbox/extras/forms/filtersets.py:233 netbox/extras/models/models.py:207 msgid "HTTP content type" -msgstr "HTTP 内容类型" +msgstr "HTTP内容类型" -#: extras/forms/filtersets.py:255 extras/forms/model_forms.py:280 -#: templates/extras/eventrule.html:37 +#: netbox/extras/forms/filtersets.py:255 +#: netbox/extras/forms/model_forms.py:280 +#: netbox/templates/extras/eventrule.html:37 msgid "Events" -msgstr "活动" +msgstr "事件" -#: extras/forms/filtersets.py:265 +#: netbox/extras/forms/filtersets.py:265 msgid "Action type" -msgstr "操作类型" +msgstr "动作类型" -#: extras/forms/filtersets.py:279 +#: netbox/extras/forms/filtersets.py:279 msgid "Object creations" -msgstr "物体创作" +msgstr "对象创建" -#: extras/forms/filtersets.py:286 +#: netbox/extras/forms/filtersets.py:286 msgid "Object updates" msgstr "对象更新" -#: extras/forms/filtersets.py:293 +#: netbox/extras/forms/filtersets.py:293 msgid "Object deletions" -msgstr "删除对象" +msgstr "对象删除" -#: extras/forms/filtersets.py:300 +#: netbox/extras/forms/filtersets.py:300 msgid "Job starts" -msgstr "作业开始" +msgstr "开始任务" -#: extras/forms/filtersets.py:307 extras/forms/model_forms.py:297 +#: netbox/extras/forms/filtersets.py:307 +#: netbox/extras/forms/model_forms.py:297 msgid "Job terminations" -msgstr "终止工作" +msgstr "终止任务" -#: extras/forms/filtersets.py:316 +#: netbox/extras/forms/filtersets.py:316 msgid "Tagged object type" msgstr "标记的对象类型" -#: extras/forms/filtersets.py:321 +#: netbox/extras/forms/filtersets.py:321 msgid "Allowed object type" msgstr "允许的对象类型" -#: extras/forms/filtersets.py:350 extras/forms/model_forms.py:383 -#: netbox/navigation/menu.py:18 +#: netbox/extras/forms/filtersets.py:350 +#: netbox/extras/forms/model_forms.py:383 netbox/netbox/navigation/menu.py:18 msgid "Regions" msgstr "地区" -#: extras/forms/filtersets.py:355 extras/forms/model_forms.py:388 +#: netbox/extras/forms/filtersets.py:355 +#: netbox/extras/forms/model_forms.py:388 msgid "Site groups" -msgstr "网站群组" +msgstr "站点组" -#: extras/forms/filtersets.py:365 extras/forms/model_forms.py:398 -#: netbox/navigation/menu.py:20 templates/dcim/site.html:126 +#: netbox/extras/forms/filtersets.py:365 +#: netbox/extras/forms/model_forms.py:398 netbox/netbox/navigation/menu.py:20 +#: netbox/templates/dcim/site.html:127 msgid "Locations" -msgstr "地点" +msgstr "室内位置" -#: extras/forms/filtersets.py:370 extras/forms/model_forms.py:403 +#: netbox/extras/forms/filtersets.py:370 +#: netbox/extras/forms/model_forms.py:403 msgid "Device types" -msgstr "设备类型" +msgstr "设备型号" -#: extras/forms/filtersets.py:375 extras/forms/model_forms.py:408 +#: netbox/extras/forms/filtersets.py:375 +#: netbox/extras/forms/model_forms.py:408 msgid "Roles" msgstr "角色" -#: extras/forms/filtersets.py:385 extras/forms/model_forms.py:418 +#: netbox/extras/forms/filtersets.py:385 +#: netbox/extras/forms/model_forms.py:418 msgid "Cluster types" msgstr "集群类型" -#: extras/forms/filtersets.py:390 extras/forms/model_forms.py:423 +#: netbox/extras/forms/filtersets.py:390 +#: netbox/extras/forms/model_forms.py:423 msgid "Cluster groups" msgstr "集群组" -#: extras/forms/filtersets.py:395 extras/forms/model_forms.py:428 -#: netbox/navigation/menu.py:242 netbox/navigation/menu.py:244 -#: templates/virtualization/clustertype.html:30 -#: virtualization/tables/clusters.py:23 virtualization/tables/clusters.py:45 +#: netbox/extras/forms/filtersets.py:395 +#: netbox/extras/forms/model_forms.py:428 netbox/netbox/navigation/menu.py:242 +#: netbox/netbox/navigation/menu.py:244 +#: netbox/templates/virtualization/clustertype.html:30 +#: netbox/virtualization/tables/clusters.py:23 +#: netbox/virtualization/tables/clusters.py:45 msgid "Clusters" msgstr "集群" -#: extras/forms/filtersets.py:400 extras/forms/model_forms.py:433 +#: netbox/extras/forms/filtersets.py:400 +#: netbox/extras/forms/model_forms.py:433 msgid "Tenant groups" -msgstr "租户群组" +msgstr "租户组" -#: extras/forms/filtersets.py:454 extras/forms/filtersets.py:492 +#: netbox/extras/forms/filtersets.py:454 netbox/extras/forms/filtersets.py:489 msgid "After" msgstr "之后" -#: extras/forms/filtersets.py:459 extras/forms/filtersets.py:497 +#: netbox/extras/forms/filtersets.py:459 netbox/extras/forms/filtersets.py:494 msgid "Before" msgstr "之前" -#: extras/forms/filtersets.py:487 extras/tables/tables.py:456 -#: extras/tables/tables.py:542 extras/tables/tables.py:567 -#: templates/extras/objectchange.html:31 +#: netbox/extras/forms/filtersets.py:484 netbox/extras/tables/tables.py:457 +#: netbox/extras/tables/tables.py:543 netbox/extras/tables/tables.py:580 +#: netbox/templates/extras/objectchange.html:32 msgid "Time" msgstr "时间" -#: extras/forms/filtersets.py:501 extras/forms/model_forms.py:282 -#: extras/tables/tables.py:470 templates/extras/eventrule.html:77 -#: templates/extras/objectchange.html:45 +#: netbox/extras/forms/filtersets.py:498 +#: netbox/extras/forms/model_forms.py:282 netbox/extras/tables/tables.py:471 +#: netbox/templates/extras/eventrule.html:77 +#: netbox/templates/extras/objectchange.html:46 msgid "Action" -msgstr "行动" +msgstr "动作" -#: extras/forms/model_forms.py:50 +#: netbox/extras/forms/model_forms.py:50 msgid "Type of the related object (for object/multi-object fields only)" msgstr "相关对象的类型(仅适用于对象/多对象字段)" -#: extras/forms/model_forms.py:61 templates/extras/customfield.html:10 +#: netbox/extras/forms/model_forms.py:61 +#: netbox/templates/extras/customfield.html:10 msgid "Custom Field" msgstr "自定义字段" -#: extras/forms/model_forms.py:64 templates/extras/customfield.html:58 +#: netbox/extras/forms/model_forms.py:64 +#: netbox/templates/extras/customfield.html:58 msgid "Behavior" msgstr "行为" -#: extras/forms/model_forms.py:66 +#: netbox/extras/forms/model_forms.py:66 msgid "Values" -msgstr "价值观" +msgstr "值" -#: extras/forms/model_forms.py:75 +#: netbox/extras/forms/model_forms.py:75 msgid "" "The type of data stored in this field. For object/multi-object fields, " "select the related object type below." -msgstr "存储在此字段中的数据类型。对于对象/多对象字段,选择下面的相关对象类型。" +msgstr "存储在此字段中的数据类型。对于对象/多对象字段,请选择下面的相关对象类型。" -#: extras/forms/model_forms.py:78 +#: netbox/extras/forms/model_forms.py:78 msgid "" "This will be displayed as help text for the form field. Markdown is " "supported." -msgstr "这将显示为表单字段的帮助文本。支持 Markdown。" +msgstr "这将显示为表单字段的帮助文本。支持Markdown。" -#: extras/forms/model_forms.py:95 +#: netbox/extras/forms/model_forms.py:95 msgid "" "Enter one choice per line. An optional label may be specified for each " "choice by appending it with a colon. Example:" -msgstr "每行输入一个选项。可以通过在每个选项后面添加冒号来为每个选项指定一个可选标签。示例:" +msgstr "每行输入一个选项。可以为每个选项指定一个可选标签,方法是在其后面附加一个冒号。例如:" -#: extras/forms/model_forms.py:138 templates/extras/customlink.html:10 +#: netbox/extras/forms/model_forms.py:138 +#: netbox/templates/extras/customlink.html:10 msgid "Custom Link" msgstr "自定义链接" -#: extras/forms/model_forms.py:140 +#: netbox/extras/forms/model_forms.py:140 msgid "Templates" -msgstr "模板" +msgstr "模版" -#: extras/forms/model_forms.py:152 +#: netbox/extras/forms/model_forms.py:152 #, python-brace-format msgid "" "Jinja2 template code for the link text. Reference the object as {example}. " "Links which render as empty text will not be displayed." -msgstr "链接文本的 Jinja2 模板代码。将对象引用为 {example}。显示为空文本的链接将不显示。" +msgstr "用于链接的Jinja2模板代码。将对象引用为{example}。空链接将不会显示。" -#: extras/forms/model_forms.py:156 +#: netbox/extras/forms/model_forms.py:156 #, python-brace-format msgid "" "Jinja2 template code for the link URL. Reference the object as {example}." -msgstr "链接 URL 的 Jinja2 模板代码。将对象引用为 {example}。" +msgstr "URL链接的Jinja2模板代码。将对象引用为 {example}。" -#: extras/forms/model_forms.py:167 extras/forms/model_forms.py:500 +#: netbox/extras/forms/model_forms.py:167 +#: netbox/extras/forms/model_forms.py:500 msgid "Template code" -msgstr "模板代码" +msgstr "模版代码" -#: extras/forms/model_forms.py:173 templates/extras/exporttemplate.html:12 +#: netbox/extras/forms/model_forms.py:173 +#: netbox/templates/extras/exporttemplate.html:12 msgid "Export Template" -msgstr "导出模板" +msgstr "导出模版" -#: extras/forms/model_forms.py:175 +#: netbox/extras/forms/model_forms.py:175 msgid "Rendering" -msgstr "渲染" +msgstr "转换" -#: extras/forms/model_forms.py:189 extras/forms/model_forms.py:525 +#: netbox/extras/forms/model_forms.py:189 +#: netbox/extras/forms/model_forms.py:525 msgid "Template content is populated from the remote source selected below." -msgstr "模板内容是从下面选择的远程来源填充的。" +msgstr "模板内容是从下面选择的远程源填充的。" -#: extras/forms/model_forms.py:196 extras/forms/model_forms.py:532 +#: netbox/extras/forms/model_forms.py:196 +#: netbox/extras/forms/model_forms.py:532 msgid "Must specify either local content or a data file" msgstr "必须指定本地内容或数据文件" -#: extras/forms/model_forms.py:210 netbox/forms/mixins.py:70 -#: templates/extras/savedfilter.html:10 +#: netbox/extras/forms/model_forms.py:210 netbox/netbox/forms/mixins.py:70 +#: netbox/templates/extras/savedfilter.html:10 msgid "Saved Filter" msgstr "已保存的过滤器" -#: extras/forms/model_forms.py:245 templates/extras/webhook.html:23 +#: netbox/extras/forms/model_forms.py:245 +#: netbox/templates/extras/webhook.html:23 msgid "HTTP Request" -msgstr "HTTP 请求" +msgstr "HTTP Request" -#: extras/forms/model_forms.py:247 templates/extras/webhook.html:44 +#: netbox/extras/forms/model_forms.py:247 +#: netbox/templates/extras/webhook.html:44 msgid "SSL" msgstr "SSL" -#: extras/forms/model_forms.py:265 +#: netbox/extras/forms/model_forms.py:265 msgid "Action choice" -msgstr "动作选择" +msgstr "选择动作" -#: extras/forms/model_forms.py:270 +#: netbox/extras/forms/model_forms.py:270 msgid "Enter conditions in JSON format." -msgstr "在中输入条件 JSON 格式。" +msgstr "已JSON格式输入条件。" -#: extras/forms/model_forms.py:274 +#: netbox/extras/forms/model_forms.py:274 msgid "" "Enter parameters to pass to the action in JSON format." -msgstr "输入要传递给操作的参数 JSON 格式。" +msgstr "输入以 JSON格式传递的参数。" -#: extras/forms/model_forms.py:279 templates/extras/eventrule.html:10 +#: netbox/extras/forms/model_forms.py:279 +#: netbox/templates/extras/eventrule.html:10 msgid "Event Rule" msgstr "事件规则" -#: extras/forms/model_forms.py:281 templates/extras/eventrule.html:66 +#: netbox/extras/forms/model_forms.py:281 +#: netbox/templates/extras/eventrule.html:66 msgid "Conditions" msgstr "条件" -#: extras/forms/model_forms.py:293 +#: netbox/extras/forms/model_forms.py:293 msgid "Creations" -msgstr "创作" +msgstr "创建" -#: extras/forms/model_forms.py:294 +#: netbox/extras/forms/model_forms.py:294 msgid "Updates" msgstr "更新" -#: extras/forms/model_forms.py:295 +#: netbox/extras/forms/model_forms.py:295 msgid "Deletions" msgstr "删除" -#: extras/forms/model_forms.py:296 +#: netbox/extras/forms/model_forms.py:296 msgid "Job executions" -msgstr "任务执行" +msgstr "任务开始" -#: extras/forms/model_forms.py:438 netbox/navigation/menu.py:39 -#: tenancy/tables/tenants.py:22 +#: netbox/extras/forms/model_forms.py:438 netbox/netbox/navigation/menu.py:39 +#: netbox/tenancy/tables/tenants.py:22 msgid "Tenants" msgstr "租户" -#: extras/forms/model_forms.py:458 ipam/forms/filtersets.py:142 -#: ipam/forms/filtersets.py:553 ipam/forms/model_forms.py:321 -#: templates/extras/configcontext.html:60 templates/ipam/ipaddress.html:59 -#: templates/ipam/vlan_edit.html:30 tenancy/forms/filtersets.py:87 -#: users/forms/model_forms.py:311 +#: netbox/extras/forms/model_forms.py:458 netbox/ipam/forms/filtersets.py:142 +#: netbox/ipam/forms/filtersets.py:553 netbox/ipam/forms/model_forms.py:321 +#: netbox/templates/extras/configcontext.html:60 +#: netbox/templates/ipam/ipaddress.html:59 +#: netbox/templates/ipam/vlan_edit.html:30 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:311 msgid "Assignment" msgstr "分配" -#: extras/forms/model_forms.py:482 +#: netbox/extras/forms/model_forms.py:482 msgid "Data is populated from the remote source selected below." -msgstr "数据是从下面选择的远程源填充的。" +msgstr "任务终止" -#: extras/forms/model_forms.py:488 +#: netbox/extras/forms/model_forms.py:488 msgid "Must specify either local data or a data file" -msgstr "必须指定本地数据或数据文件" +msgstr "必须指定本地内容或数据文件" -#: extras/forms/model_forms.py:507 templates/core/datafile.html:55 +#: netbox/extras/forms/model_forms.py:507 +#: netbox/templates/core/datafile.html:55 msgid "Content" msgstr "内容" -#: extras/forms/reports.py:17 extras/forms/scripts.py:23 +#: netbox/extras/forms/reports.py:17 netbox/extras/forms/scripts.py:23 msgid "Schedule at" -msgstr "日程安排在" +msgstr "计划在" -#: extras/forms/reports.py:18 +#: netbox/extras/forms/reports.py:18 msgid "Schedule execution of report to a set time" -msgstr "将报告的执行安排在设定的时间内" +msgstr "在指定的时间执行报告" -#: extras/forms/reports.py:23 extras/forms/scripts.py:29 +#: netbox/extras/forms/reports.py:23 netbox/extras/forms/scripts.py:29 msgid "Recurs every" -msgstr "每次都会重复" +msgstr "重复间隔" -#: extras/forms/reports.py:27 +#: netbox/extras/forms/reports.py:27 msgid "Interval at which this report is re-run (in minutes)" -msgstr "重新运行此报告的间隔(以分钟为单位)" +msgstr "重新运行此报表的间隔(分钟)" -#: extras/forms/reports.py:35 extras/forms/scripts.py:41 +#: netbox/extras/forms/reports.py:35 netbox/extras/forms/scripts.py:41 #, python-brace-format msgid " (current time: {now})" -msgstr " (当前时间: {now})" +msgstr " (当前时间: {now})" -#: extras/forms/reports.py:45 extras/forms/scripts.py:51 +#: netbox/extras/forms/reports.py:45 netbox/extras/forms/scripts.py:51 msgid "Scheduled time must be in the future." -msgstr "预定时间必须是将来的时间。" +msgstr "计划时间必须是将来的某一时刻" -#: extras/forms/scripts.py:17 +#: netbox/extras/forms/scripts.py:17 msgid "Commit changes" msgstr "提交更改" -#: extras/forms/scripts.py:18 +#: netbox/extras/forms/scripts.py:18 msgid "Commit changes to the database (uncheck for a dry-run)" -msgstr "提交对数据库的更改(取消选中试运行)" +msgstr "提交对数据库的更改(取消选中以进行试运行)" -#: extras/forms/scripts.py:24 +#: netbox/extras/forms/scripts.py:24 msgid "Schedule execution of script to a set time" -msgstr "将脚本的执行安排到设定的时间" +msgstr "在指定的时间执行脚本" -#: extras/forms/scripts.py:33 +#: netbox/extras/forms/scripts.py:33 msgid "Interval at which this script is re-run (in minutes)" -msgstr "此脚本重新运行的时间间隔(以分钟为单位)" +msgstr "重新运行此脚本的间隔(分钟)" -#: extras/management/commands/reindex.py:66 +#: netbox/extras/management/commands/reindex.py:66 msgid "No indexers found!" -msgstr "未找到索引器!" +msgstr "找不到索引!" -#: extras/models/change_logging.py:24 +#: netbox/extras/models/change_logging.py:29 msgid "time" msgstr "时间" -#: extras/models/change_logging.py:37 +#: netbox/extras/models/change_logging.py:42 msgid "user name" msgstr "用户名" -#: extras/models/change_logging.py:42 +#: netbox/extras/models/change_logging.py:47 msgid "request ID" -msgstr "请求 ID" +msgstr "请求ID" -#: extras/models/change_logging.py:47 extras/models/staging.py:69 +#: netbox/extras/models/change_logging.py:52 +#: netbox/extras/models/staging.py:70 msgid "action" -msgstr "行动" +msgstr "动作" -#: extras/models/change_logging.py:81 +#: netbox/extras/models/change_logging.py:86 msgid "pre-change data" -msgstr "变更前数据" +msgstr "变更前配置" -#: extras/models/change_logging.py:87 +#: netbox/extras/models/change_logging.py:92 msgid "post-change data" -msgstr "变更后的数据" +msgstr "变更后配置" -#: extras/models/change_logging.py:101 +#: netbox/extras/models/change_logging.py:106 msgid "object change" -msgstr "物体变更" +msgstr "变更的对象" -#: extras/models/change_logging.py:102 +#: netbox/extras/models/change_logging.py:107 msgid "object changes" -msgstr "物体变更" +msgstr "变更的对象" -#: extras/models/change_logging.py:118 +#: netbox/extras/models/change_logging.py:123 #, python-brace-format msgid "Change logging is not supported for this object type ({type})." -msgstr "此对象类型不支持更改日志 ({type})。" +msgstr "此对象类型 ({type}) 不支持更改日志记录。" -#: extras/models/configs.py:130 +#: netbox/extras/models/configs.py:130 msgid "config context" -msgstr "配置上下文" +msgstr "配置实例" -#: extras/models/configs.py:131 +#: netbox/extras/models/configs.py:131 msgid "config contexts" -msgstr "配置上下文" +msgstr "配置实例" -#: extras/models/configs.py:149 extras/models/configs.py:205 +#: netbox/extras/models/configs.py:149 netbox/extras/models/configs.py:205 msgid "JSON data must be in object form. Example:" -msgstr "JSON 数据必须采用对象形式。示例:" +msgstr "JSON数据必须为对象形式。例如:" -#: extras/models/configs.py:169 +#: netbox/extras/models/configs.py:169 msgid "" "Local config context data takes precedence over source contexts in the final" " rendered config context" -msgstr "在最终呈现的配置上下文中,本地配置上下文数据优先于源上下文" +msgstr "在最终渲染的配置实例中,本地配置实例数据优先于数据源中的实力" -#: extras/models/configs.py:224 +#: netbox/extras/models/configs.py:224 msgid "template code" -msgstr "模板代码" +msgstr "模版代码" -#: extras/models/configs.py:225 +#: netbox/extras/models/configs.py:225 msgid "Jinja2 template code." -msgstr "Jinja2 模板代码。" +msgstr "Jinja2模版代码" -#: extras/models/configs.py:228 +#: netbox/extras/models/configs.py:228 msgid "environment parameters" msgstr "环境参数" -#: extras/models/configs.py:233 +#: netbox/extras/models/configs.py:233 msgid "" "Any additional" " parameters to pass when constructing the Jinja2 environment." msgstr "" -"任何 其他参数" -" 在构建 Jinja2 环境时传递。" +"构建Jinja2环境时要传递的 附加参数" -#: extras/models/configs.py:240 +#: netbox/extras/models/configs.py:240 msgid "config template" -msgstr "配置模板" +msgstr "配置模版" -#: extras/models/configs.py:241 +#: netbox/extras/models/configs.py:241 msgid "config templates" -msgstr "配置模板" +msgstr "配置模版" -#: extras/models/customfields.py:73 +#: netbox/extras/models/customfields.py:74 msgid "The object(s) to which this field applies." -msgstr "此字段适用的对象。" +msgstr "此字段所应用的对象。" -#: extras/models/customfields.py:80 +#: netbox/extras/models/customfields.py:81 msgid "The type of data this custom field holds" -msgstr "此自定义字段保存的数据类型" +msgstr "该自定义字段保存的数据类型" -#: extras/models/customfields.py:87 +#: netbox/extras/models/customfields.py:88 msgid "The type of NetBox object this field maps to (for object fields)" -msgstr "此字段映射到的 NetBox 对象的类型(对于对象字段)" +msgstr "此字段映射到的NetBox对象的类型(对于对象字段)" -#: extras/models/customfields.py:93 +#: netbox/extras/models/customfields.py:94 msgid "Internal field name" msgstr "内部字段名称" -#: extras/models/customfields.py:97 +#: netbox/extras/models/customfields.py:98 msgid "Only alphanumeric characters and underscores are allowed." -msgstr "只允许使用字母数字字符和下划线。" +msgstr "仅允许输入英文字符、数字和下划线。" -#: extras/models/customfields.py:102 +#: netbox/extras/models/customfields.py:103 msgid "Double underscores are not permitted in custom field names." msgstr "自定义字段名称中不允许使用双下划线。" -#: extras/models/customfields.py:113 +#: netbox/extras/models/customfields.py:114 msgid "" "Name of the field as displayed to users (if not provided, 'the field's name " "will be used)" -msgstr "向用户显示的字段名称(如果未提供,则将使用字段的名称)" +msgstr "向用户显示的字段名称(如果未提供,则使用字段名称)" -#: extras/models/customfields.py:117 extras/models/models.py:345 +#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345 msgid "group name" -msgstr "群组名称" +msgstr "组名称" -#: extras/models/customfields.py:120 +#: netbox/extras/models/customfields.py:121 msgid "Custom fields within the same group will be displayed together" -msgstr "同一组中的自定义字段将一起显示" +msgstr "同一组内的自定义字段将一起显示" -#: extras/models/customfields.py:128 +#: netbox/extras/models/customfields.py:129 msgid "required" -msgstr "规定的" +msgstr "必须" -#: extras/models/customfields.py:130 +#: netbox/extras/models/customfields.py:131 msgid "" "If true, this field is required when creating new objects or editing an " "existing object." -msgstr "如果为 true,则在创建新对象或编辑现有对象时必须填写此字段。" +msgstr "如果为true,则在创建新对象或编辑现有对象时需要此字段。" -#: extras/models/customfields.py:133 +#: netbox/extras/models/customfields.py:134 msgid "search weight" msgstr "搜索权重" -#: extras/models/customfields.py:136 +#: netbox/extras/models/customfields.py:137 msgid "" "Weighting for search. Lower values are considered more important. Fields " "with a search weight of zero will be ignored." -msgstr "为搜索加权。较低的值被认为更重要。搜索权重为零的字段将被忽略。" +msgstr "搜索权重。值越低越被有限搜索。权重为零的字段将被忽略搜索。" -#: extras/models/customfields.py:141 +#: netbox/extras/models/customfields.py:142 msgid "filter logic" -msgstr "过滤器逻辑" +msgstr "过滤器规则" -#: extras/models/customfields.py:145 +#: netbox/extras/models/customfields.py:146 msgid "" "Loose matches any instance of a given string; exact matches the entire " "field." -msgstr "Loose 匹配给定字符串的任何实例;精确匹配整个字段。" +msgstr "松散匹配是匹配字段中的任意位置;严格匹配是与整个字段完全匹配。" -#: extras/models/customfields.py:148 +#: netbox/extras/models/customfields.py:149 msgid "default" msgstr "默认" -#: extras/models/customfields.py:152 +#: netbox/extras/models/customfields.py:153 msgid "" "Default value for the field (must be a JSON value). Encapsulate strings with" " double quotes (e.g. \"Foo\")." -msgstr "该字段的默认值(必须是 JSON 值)。用双引号(例如 “Foo”)封装字符串。" +msgstr "字段的默认值(必须是JSON值)。字符串要包含在双引号中(例如“Foo”)。" -#: extras/models/customfields.py:157 +#: netbox/extras/models/customfields.py:158 msgid "display weight" -msgstr "显示重量" +msgstr "显示权重" -#: extras/models/customfields.py:158 +#: netbox/extras/models/customfields.py:159 msgid "Fields with higher weights appear lower in a form." -msgstr "权重越高的字段在表单中显示得越低。" +msgstr "权重约高的字段在页面中显示得位置越低。" -#: extras/models/customfields.py:163 +#: netbox/extras/models/customfields.py:164 msgid "minimum value" msgstr "最小值" -#: extras/models/customfields.py:164 +#: netbox/extras/models/customfields.py:165 msgid "Minimum allowed value (for numeric fields)" -msgstr "允许的最小值(适用于数值字段)" +msgstr "允许的最小值(对于数字字段)" -#: extras/models/customfields.py:169 +#: netbox/extras/models/customfields.py:170 msgid "maximum value" msgstr "最大值" -#: extras/models/customfields.py:170 +#: netbox/extras/models/customfields.py:171 msgid "Maximum allowed value (for numeric fields)" -msgstr "允许的最大值(对于数值字段)" +msgstr "允许的最大值(对于数字字段)" -#: extras/models/customfields.py:176 +#: netbox/extras/models/customfields.py:177 msgid "validation regex" msgstr "验证正则表达式" -#: extras/models/customfields.py:178 +#: netbox/extras/models/customfields.py:179 #, python-brace-format msgid "" "Regular expression to enforce on text field values. Use ^ and $ to force " "matching of entire string. For example, ^[A-Z]{3}$ will limit " "values to exactly three uppercase letters." msgstr "" -"对文本字段值强制执行的正则表达式。使用 ^ 和 $ 强制匹配整个字符串。例如, ^ [A-Z]{3}$ " -"会将值限制为正好三个大写字母。" +"要在文本字段值上强制执行的正则表达式。使用^和$可以强制匹配整个字符串。例如, " +"^[A-Z]{3}$将限制值只能有三个大写字母。" -#: extras/models/customfields.py:186 +#: netbox/extras/models/customfields.py:187 msgid "choice set" -msgstr "选择集" +msgstr "可选项" -#: extras/models/customfields.py:195 +#: netbox/extras/models/customfields.py:196 msgid "Specifies whether the custom field is displayed in the UI" -msgstr "指定是否在 UI 中显示自定义字段" +msgstr "是否在UI中显示此字段" -#: extras/models/customfields.py:202 +#: netbox/extras/models/customfields.py:203 msgid "Specifies whether the custom field value can be edited in the UI" -msgstr "指定是否可以在用户界面中编辑自定义字段值" +msgstr "是否在UI中可编辑此字段" -#: extras/models/customfields.py:206 +#: netbox/extras/models/customfields.py:207 msgid "is cloneable" -msgstr "是可克隆的" +msgstr "可复制" -#: extras/models/customfields.py:207 +#: netbox/extras/models/customfields.py:208 msgid "Replicate this value when cloning objects" -msgstr "克隆对象时复制此值" +msgstr "复制对象时同时复制此值" -#: extras/models/customfields.py:224 +#: netbox/extras/models/customfields.py:225 msgid "custom field" msgstr "自定义字段" -#: extras/models/customfields.py:225 +#: netbox/extras/models/customfields.py:226 msgid "custom fields" msgstr "自定义字段" -#: extras/models/customfields.py:314 +#: netbox/extras/models/customfields.py:315 #, python-brace-format msgid "Invalid default value \"{value}\": {error}" -msgstr "默认值无效”{value}“: {error}" +msgstr "无效的默认值:“{value}”:{error}" -#: extras/models/customfields.py:321 +#: netbox/extras/models/customfields.py:322 msgid "A minimum value may be set only for numeric fields" -msgstr "只能为数值字段设置最小值" +msgstr "只能为数字字段设置最小值" -#: extras/models/customfields.py:323 +#: netbox/extras/models/customfields.py:324 msgid "A maximum value may be set only for numeric fields" -msgstr "只能为数值字段设置最大值" +msgstr "只能为数字字段设置最大值" -#: extras/models/customfields.py:333 +#: netbox/extras/models/customfields.py:334 msgid "" "Regular expression validation is supported only for text and URL fields" -msgstr "仅文本和 URL 字段支持正则表达式验证" +msgstr "仅对文本和URL字段支持正则表达式验证" -#: extras/models/customfields.py:343 +#: netbox/extras/models/customfields.py:344 msgid "Selection fields must specify a set of choices." -msgstr "选择字段必须指定一组选项。" +msgstr "选择字段必须指定一组可用选项。" -#: extras/models/customfields.py:347 +#: netbox/extras/models/customfields.py:348 msgid "Choices may be set only on selection fields." msgstr "只能在选择字段上设置选项。" -#: extras/models/customfields.py:354 +#: netbox/extras/models/customfields.py:355 msgid "Object fields must define an object type." msgstr "对象字段必须定义对象类型。" -#: extras/models/customfields.py:359 +#: netbox/extras/models/customfields.py:360 #, python-brace-format msgid "{type} fields may not define an object type." -msgstr "{type} 字段可能无法定义对象类型。" +msgstr "{type}字段不能定义对象类型。" -#: extras/models/customfields.py:439 +#: netbox/extras/models/customfields.py:440 msgid "True" -msgstr "真的" +msgstr "是" -#: extras/models/customfields.py:440 +#: netbox/extras/models/customfields.py:441 msgid "False" -msgstr "假的" +msgstr "否" -#: extras/models/customfields.py:522 +#: netbox/extras/models/customfields.py:523 #, python-brace-format msgid "Values must match this regex: {regex}" -msgstr "值必须匹配以下正则表达式: {regex}" +msgstr "值必须与此正则表达式匹配: {regex}" -#: extras/models/customfields.py:616 +#: netbox/extras/models/customfields.py:617 msgid "Value must be a string." -msgstr "值必须是字符串。" +msgstr "值必须为字符串" -#: extras/models/customfields.py:618 +#: netbox/extras/models/customfields.py:619 #, python-brace-format msgid "Value must match regex '{regex}'" -msgstr "值必须匹配正则表达式 '{regex}'" +msgstr "值必须与正则表达式'{regex}'匹配" -#: extras/models/customfields.py:623 +#: netbox/extras/models/customfields.py:624 msgid "Value must be an integer." msgstr "值必须是整数。" -#: extras/models/customfields.py:626 extras/models/customfields.py:641 +#: netbox/extras/models/customfields.py:627 +#: netbox/extras/models/customfields.py:642 #, python-brace-format msgid "Value must be at least {minimum}" -msgstr "值必须至少为 {minimum}" +msgstr "值最少为{minimum}" -#: extras/models/customfields.py:630 extras/models/customfields.py:645 +#: netbox/extras/models/customfields.py:631 +#: netbox/extras/models/customfields.py:646 #, python-brace-format msgid "Value must not exceed {maximum}" -msgstr "值不得超过 {maximum}" +msgstr "值最大为{maximum}" -#: extras/models/customfields.py:638 +#: netbox/extras/models/customfields.py:639 msgid "Value must be a decimal." msgstr "值必须是十进制。" -#: extras/models/customfields.py:650 +#: netbox/extras/models/customfields.py:651 msgid "Value must be true or false." -msgstr "值必须为真或假。" +msgstr "值必须为true或false。" -#: extras/models/customfields.py:658 +#: netbox/extras/models/customfields.py:659 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." -msgstr "日期值必须采用 ISO 8601 格式 (YYYY-MM-DD)。" +msgstr "日期格式必须为(YYYY-MM-DD)." -#: extras/models/customfields.py:667 +#: netbox/extras/models/customfields.py:672 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 "日期和时间必须遵循这个格式 (YYYY-MM-DD HH:MM:SS)." -#: extras/models/customfields.py:674 +#: netbox/extras/models/customfields.py:679 #, python-brace-format msgid "Invalid choice ({value}) for choice set {choiceset}." -msgstr "选择无效 ({value}) 用于选择集 {choiceset}。" +msgstr "选项集{choiceset}的选项({value})无效。" -#: extras/models/customfields.py:684 +#: netbox/extras/models/customfields.py:689 #, python-brace-format msgid "Invalid choice(s) ({value}) for choice set {choiceset}." -msgstr "无效的选择 ({value}) 用于选择集 {choiceset}。" +msgstr "选项集{choiceset}的选项({value})无效。" -#: extras/models/customfields.py:693 +#: netbox/extras/models/customfields.py:698 #, python-brace-format msgid "Value must be an object ID, not {type}" -msgstr "值必须是对象 ID,而不是 {type}" +msgstr "值必须为对象ID, 不是 {type}" -#: extras/models/customfields.py:699 +#: netbox/extras/models/customfields.py:704 #, python-brace-format msgid "Value must be a list of object IDs, not {type}" -msgstr "值必须是对象 ID 的列表,而不是 {type}" +msgstr "值必须为对象ID的列表,不是 {type}" -#: extras/models/customfields.py:703 +#: netbox/extras/models/customfields.py:708 #, python-brace-format msgid "Found invalid object ID: {id}" -msgstr "发现无效的对象 ID: {id}" +msgstr "发现错误的对象ID: {id}" -#: extras/models/customfields.py:706 +#: netbox/extras/models/customfields.py:711 msgid "Required field cannot be empty." msgstr "必填字段不能为空。" -#: extras/models/customfields.py:725 +#: netbox/extras/models/customfields.py:730 msgid "Base set of predefined choices (optional)" -msgstr "预定义选项的基本集合(可选)" +msgstr "预定义选项的基本集合(可选)" -#: extras/models/customfields.py:737 +#: netbox/extras/models/customfields.py:742 msgid "Choices are automatically ordered alphabetically" -msgstr "选项自动按字母顺序排序" +msgstr "选项会自动按字母顺序排列" -#: extras/models/customfields.py:744 +#: netbox/extras/models/customfields.py:749 msgid "custom field choice set" msgstr "自定义字段选择集" -#: extras/models/customfields.py:745 +#: netbox/extras/models/customfields.py:750 msgid "custom field choice sets" msgstr "自定义字段选择集" -#: extras/models/customfields.py:781 +#: netbox/extras/models/customfields.py:786 msgid "Must define base or extra choices." -msgstr "必须定义基本选择或额外选择。" +msgstr "必须定义基本选项或额外选项。" -#: extras/models/dashboard.py:19 +#: netbox/extras/models/dashboard.py:19 msgid "layout" msgstr "布局" -#: extras/models/dashboard.py:23 +#: netbox/extras/models/dashboard.py:23 msgid "config" msgstr "配置" -#: extras/models/dashboard.py:28 +#: netbox/extras/models/dashboard.py:28 msgid "dashboard" -msgstr "仪表板" +msgstr "仪表盘" -#: extras/models/dashboard.py:29 +#: netbox/extras/models/dashboard.py:29 msgid "dashboards" -msgstr "仪表板" +msgstr "仪表盘" -#: extras/models/models.py:51 +#: netbox/extras/models/models.py:51 msgid "object types" msgstr "对象类型" -#: extras/models/models.py:52 +#: netbox/extras/models/models.py:52 msgid "The object(s) to which this rule applies." -msgstr "此规则适用的对象。" +msgstr "应用此规则的对象。" -#: extras/models/models.py:65 +#: netbox/extras/models/models.py:65 msgid "on create" msgstr "创建时" -#: extras/models/models.py:67 +#: netbox/extras/models/models.py:67 msgid "Triggers when a matching object is created." msgstr "创建匹配对象时触发。" -#: extras/models/models.py:70 +#: netbox/extras/models/models.py:70 msgid "on update" msgstr "更新时" -#: extras/models/models.py:72 +#: netbox/extras/models/models.py:72 msgid "Triggers when a matching object is updated." -msgstr "更新匹配对象时触发。" +msgstr "当匹配的对象更新时触发。" -#: extras/models/models.py:75 +#: netbox/extras/models/models.py:75 msgid "on delete" msgstr "删除时" -#: extras/models/models.py:77 +#: netbox/extras/models/models.py:77 msgid "Triggers when a matching object is deleted." msgstr "删除匹配对象时触发。" -#: extras/models/models.py:80 +#: netbox/extras/models/models.py:80 msgid "on job start" -msgstr "在工作开始时" +msgstr "任务开始时" -#: extras/models/models.py:82 +#: netbox/extras/models/models.py:82 msgid "Triggers when a job for a matching object is started." -msgstr "在启动匹配对象的作业时触发。" +msgstr "当匹配对象的任务启动时触发。" -#: extras/models/models.py:85 +#: netbox/extras/models/models.py:85 msgid "on job end" -msgstr "在工作结束时" +msgstr "任务结束时" -#: extras/models/models.py:87 +#: netbox/extras/models/models.py:87 msgid "Triggers when a job for a matching object terminates." -msgstr "当匹配对象的任务终止时触发。" +msgstr "当匹配对象的任务结束时触发。" -#: extras/models/models.py:94 +#: netbox/extras/models/models.py:94 msgid "conditions" -msgstr "条件" +msgstr "限制条件" -#: extras/models/models.py:97 +#: netbox/extras/models/models.py:97 msgid "" "A set of conditions which determine whether the event will be generated." -msgstr "决定是否生成事件的一组条件。" +msgstr "一组条件,用于确定是否会生成事件。" -#: extras/models/models.py:105 +#: netbox/extras/models/models.py:105 msgid "action type" -msgstr "操作类型" +msgstr "动作类型" -#: extras/models/models.py:124 +#: netbox/extras/models/models.py:124 msgid "Additional data to pass to the action object" -msgstr "要传递给操作对象的其他数据" +msgstr "要传递给动作对象的其他数据" -#: extras/models/models.py:136 +#: netbox/extras/models/models.py:136 msgid "event rule" msgstr "事件规则" -#: extras/models/models.py:137 +#: netbox/extras/models/models.py:137 msgid "event rules" msgstr "事件规则" -#: extras/models/models.py:153 +#: netbox/extras/models/models.py:153 msgid "" "At least one event type must be selected: create, update, delete, job start," " and/or job end." -msgstr "必须选择至少一种事件类型:创建、更新、删除、作业启动和/或作业结束。" +msgstr "必须至少选择一种事件类型:创建、更新、删除、任务开始和/或任务结束。" -#: extras/models/models.py:194 +#: netbox/extras/models/models.py:194 msgid "" "This URL will be called using the HTTP method defined when the webhook is " "called. Jinja2 template processing is supported with the same context as the" " request body." -msgstr "将使用调用 webhook 时定义的 HTTP 方法调用此 URL。支持 Jinja2 模板处理,其上下文与请求正文相同。" +msgstr "此URL将使用调用webhook时定义的HTTP方法进行调用。Jinja2模板处理支持与请求主体相同的描述。" -#: extras/models/models.py:209 +#: netbox/extras/models/models.py:209 msgid "" "The complete list of official content types is available here." msgstr "" -"官方内容类型的完整列表可用 这里。" +"完整的官网内容类型 点击这里." -#: extras/models/models.py:214 +#: netbox/extras/models/models.py:214 msgid "additional headers" -msgstr "其他标题" +msgstr "附加标头" -#: extras/models/models.py:217 +#: netbox/extras/models/models.py:217 msgid "" "User-supplied HTTP headers to be sent with the request in addition to the " "HTTP content type. Headers should be defined in the format Name: " "Value. Jinja2 template processing is supported with the same context " "as the request body (below)." msgstr "" -"除 HTTP 内容类型外,用户提供的 HTTP 标头将随请求一起发送。标题应按以下格式定义 名称:值。支持 Jinja2 " -"模板处理,其上下文与请求正文相同(见下文)。" +"除了HTTP内容类型之外,还要与请求一起发送用户提供的HTTP标头。标头的定义格式应为 名称: 值. " +"Jinja2模板处理支持与请求主体相同的实例(如下)。" -#: extras/models/models.py:223 +#: netbox/extras/models/models.py:223 msgid "body template" -msgstr "正文模板" +msgstr "内容模版" -#: extras/models/models.py:226 +#: netbox/extras/models/models.py:226 msgid "" "Jinja2 template for a custom request body. If blank, a JSON object " "representing the change will be included. Available context data includes: " "event, model, timestamp, " "username, request_id, and data." msgstr "" -"自定义请求正文的 Jinja2 模板。如果为空,则将包含代表更改的 JSON 对象。可用的上下文数据包括: 事件, " -"模型时间戳用户名, " -"request_id,以及 数据。" +"用于自定义请求正文的Jinja2模板。如果为空,则会包含一个表示更改的JSON对象。可用的实例数据包括: 时间, " +"模块, 时间戳, 用户名, 请求id, 和 " +"数据." -#: extras/models/models.py:232 +#: netbox/extras/models/models.py:232 msgid "secret" -msgstr "秘密" +msgstr "秘钥" -#: extras/models/models.py:236 +#: netbox/extras/models/models.py:236 msgid "" "When provided, the request will include a X-Hook-Signature " "header containing a HMAC hex digest of the payload body using the secret as " "the key. The secret is not transmitted in the request." msgstr "" -"提供后,请求将包括 X-Hook 签名 包含使用密钥作为密钥的有效载荷正文的 HMAC " -"十六进制摘要的标头。密钥未在请求中传输。" +"当提供时,请求将包括一个X-Hook-Signature " +"该标头包含使用机密作为密钥的有效载荷主体的HMAC十六进制摘要。秘钥不会在请求中传输。" -#: extras/models/models.py:243 +#: netbox/extras/models/models.py:243 msgid "Enable SSL certificate verification. Disable with caution!" -msgstr "启用 SSL 证书验证。请谨慎禁用!" +msgstr "启用SSL证书验证。禁用时请注意!" -#: extras/models/models.py:249 templates/extras/webhook.html:51 +#: netbox/extras/models/models.py:249 netbox/templates/extras/webhook.html:51 msgid "CA File Path" -msgstr "CA 文件路径" +msgstr "CA证书文件路径" -#: extras/models/models.py:251 +#: netbox/extras/models/models.py:251 msgid "" "The specific CA certificate file to use for SSL verification. Leave blank to" " use the system defaults." -msgstr "用于 SSL 验证的特定 CA 证书文件。留空以使用系统默认值。" +msgstr "用于SSL验证的CA证书文件。空为使用系统默认值。" -#: extras/models/models.py:262 +#: netbox/extras/models/models.py:262 msgid "webhook" msgstr "webhook" -#: extras/models/models.py:263 +#: netbox/extras/models/models.py:263 msgid "webhooks" -msgstr "网络挂钩" +msgstr "webhooks" -#: extras/models/models.py:281 +#: netbox/extras/models/models.py:281 msgid "Do not specify a CA certificate file if SSL verification is disabled." -msgstr "如果禁用 SSL 验证,请勿指定 CA 证书文件。" +msgstr "如果禁用了SSL验证,请不要指定CA证书文件。" -#: extras/models/models.py:321 +#: netbox/extras/models/models.py:321 msgid "The object type(s) to which this link applies." -msgstr "此链接适用的对象类型。" +msgstr "此链接所应用的对象类型。" -#: extras/models/models.py:333 +#: netbox/extras/models/models.py:333 msgid "link text" msgstr "链接文本" -#: extras/models/models.py:334 +#: netbox/extras/models/models.py:334 msgid "Jinja2 template code for link text" -msgstr "链接文本的 Jinja2 模板代码" +msgstr "链接文本的Jinja2模板代码" -#: extras/models/models.py:337 +#: netbox/extras/models/models.py:337 msgid "link URL" -msgstr "链接网址" +msgstr "链接URL" -#: extras/models/models.py:338 +#: netbox/extras/models/models.py:338 msgid "Jinja2 template code for link URL" -msgstr "链接 URL 的 Jinja2 模板代码" +msgstr "链接URL的Jinja2模板代码" -#: extras/models/models.py:348 +#: netbox/extras/models/models.py:348 msgid "Links with the same group will appear as a dropdown menu" -msgstr "同一群组的链接将显示为下拉菜单" +msgstr "同一类的链接将显示为下拉菜单" -#: extras/models/models.py:358 +#: netbox/extras/models/models.py:358 msgid "new window" msgstr "新窗口" -#: extras/models/models.py:360 +#: netbox/extras/models/models.py:360 msgid "Force link to open in a new window" -msgstr "强制在新窗口中打开链接" +msgstr "强制链接在新窗口中打开" -#: extras/models/models.py:369 +#: netbox/extras/models/models.py:369 msgid "custom link" msgstr "自定义链接" -#: extras/models/models.py:370 +#: netbox/extras/models/models.py:370 msgid "custom links" msgstr "自定义链接" -#: extras/models/models.py:417 +#: netbox/extras/models/models.py:417 msgid "The object type(s) to which this template applies." -msgstr "此模板适用的对象类型。" +msgstr "应用此模板的对象类型。" -#: extras/models/models.py:430 +#: netbox/extras/models/models.py:430 msgid "" "Jinja2 template code. The list of objects being exported is passed as a " "context variable named queryset." -msgstr "Jinja2 模板代码。要导出的对象列表作为名为的上下文变量传递 查询集。" +msgstr "Jinja2模板代码。要导出的对象列表作为queryset的实例变量传递." -#: extras/models/models.py:438 +#: netbox/extras/models/models.py:438 msgid "Defaults to text/plain; charset=utf-8" -msgstr "默认为 文本/纯文本;字符集=utf-8" +msgstr "默认为text/plain; charset=utf-8" -#: extras/models/models.py:441 +#: netbox/extras/models/models.py:441 msgid "file extension" msgstr "文件扩展名" -#: extras/models/models.py:444 +#: netbox/extras/models/models.py:444 msgid "Extension to append to the rendered filename" -msgstr "附加到渲染文件名的扩展名" +msgstr "附加到文件名的扩展名" -#: extras/models/models.py:447 +#: netbox/extras/models/models.py:447 msgid "as attachment" msgstr "作为附件" -#: extras/models/models.py:449 +#: netbox/extras/models/models.py:449 msgid "Download file as attachment" -msgstr "将文件下载为附件" +msgstr "将文件作为附件下载" -#: extras/models/models.py:458 +#: netbox/extras/models/models.py:458 msgid "export template" -msgstr "导出模板" +msgstr "导出模版" -#: extras/models/models.py:459 +#: netbox/extras/models/models.py:459 msgid "export templates" -msgstr "导出模板" +msgstr "导出模版" -#: extras/models/models.py:476 +#: netbox/extras/models/models.py:476 #, python-brace-format msgid "\"{name}\" is a reserved name. Please choose a different name." -msgstr "“{name}“是保留名称。请选择其他名称。" +msgstr "\"{name}\"是保留名称。请选择其他名称。" -#: extras/models/models.py:526 +#: netbox/extras/models/models.py:526 msgid "The object type(s) to which this filter applies." -msgstr "此过滤器适用的对象类型。" +msgstr "应用此筛选器的对象类型。" -#: extras/models/models.py:558 +#: netbox/extras/models/models.py:558 msgid "shared" -msgstr "共享的" +msgstr "共享性" -#: extras/models/models.py:571 +#: netbox/extras/models/models.py:571 msgid "saved filter" msgstr "已保存的过滤器" -#: extras/models/models.py:572 +#: netbox/extras/models/models.py:572 msgid "saved filters" msgstr "已保存的过滤器" -#: extras/models/models.py:590 +#: netbox/extras/models/models.py:590 msgid "Filter parameters must be stored as a dictionary of keyword arguments." -msgstr "过滤器参数必须存储为关键字参数字典。" +msgstr "筛选器参数必须存储为关键字参数的字典。" -#: extras/models/models.py:618 +#: netbox/extras/models/models.py:618 msgid "image height" -msgstr "图像高度" +msgstr "图片高度" -#: extras/models/models.py:621 +#: netbox/extras/models/models.py:621 msgid "image width" -msgstr "图像宽度" +msgstr "图片宽度" -#: extras/models/models.py:638 +#: netbox/extras/models/models.py:638 msgid "image attachment" -msgstr "图像附件" +msgstr "图片附件" -#: extras/models/models.py:639 +#: netbox/extras/models/models.py:639 msgid "image attachments" -msgstr "图像附件" +msgstr "图片附件" -#: extras/models/models.py:653 +#: netbox/extras/models/models.py:653 #, python-brace-format msgid "Image attachments cannot be assigned to this object type ({type})." -msgstr "无法将图像附件分配给此对象类型 ({type})。" +msgstr "无法将图片附件分配给此对象类型({type})." -#: extras/models/models.py:716 +#: netbox/extras/models/models.py:716 msgid "kind" -msgstr "善良" +msgstr "类型" -#: extras/models/models.py:730 +#: netbox/extras/models/models.py:730 msgid "journal entry" -msgstr "日记文章" +msgstr "日志条目" -#: extras/models/models.py:731 +#: netbox/extras/models/models.py:731 msgid "journal entries" -msgstr "日记条目" +msgstr "日志条目" -#: extras/models/models.py:746 +#: netbox/extras/models/models.py:746 #, python-brace-format msgid "Journaling is not supported for this object type ({type})." -msgstr "此对象类型不支持日记 ({type})。" +msgstr "此对象类型({type})不支持备忘。" -#: extras/models/models.py:788 +#: netbox/extras/models/models.py:788 msgid "bookmark" msgstr "书签" -#: extras/models/models.py:789 +#: netbox/extras/models/models.py:789 msgid "bookmarks" msgstr "书签" -#: extras/models/models.py:802 +#: netbox/extras/models/models.py:802 #, python-brace-format msgid "Bookmarks cannot be assigned to this object type ({type})." -msgstr "无法将书签分配给此对象类型 ({type})。" +msgstr "无法将书签分配给此对象类型({type})。" -#: extras/models/scripts.py:42 +#: netbox/extras/models/scripts.py:42 msgid "is executable" msgstr "是可执行的" -#: extras/models/scripts.py:64 +#: netbox/extras/models/scripts.py:64 msgid "script" msgstr "脚本" -#: extras/models/scripts.py:65 +#: netbox/extras/models/scripts.py:65 msgid "scripts" msgstr "脚本" -#: extras/models/scripts.py:111 +#: netbox/extras/models/scripts.py:111 msgid "script module" msgstr "脚本模块" -#: extras/models/scripts.py:112 +#: netbox/extras/models/scripts.py:112 msgid "script modules" msgstr "脚本模块" -#: extras/models/search.py:22 +#: netbox/extras/models/search.py:22 msgid "timestamp" msgstr "时间戳" -#: extras/models/search.py:37 +#: netbox/extras/models/search.py:37 msgid "field" -msgstr "领域" +msgstr "字段" -#: extras/models/search.py:45 +#: netbox/extras/models/search.py:45 msgid "value" -msgstr "价值" +msgstr "值" -#: extras/models/search.py:56 +#: netbox/extras/models/search.py:56 msgid "cached value" msgstr "缓存的值" -#: extras/models/search.py:57 +#: netbox/extras/models/search.py:57 msgid "cached values" msgstr "缓存的值" -#: extras/models/staging.py:44 +#: netbox/extras/models/staging.py:45 msgid "branch" msgstr "分支" -#: extras/models/staging.py:45 +#: netbox/extras/models/staging.py:46 msgid "branches" -msgstr "分支机构" +msgstr "分支" -#: extras/models/staging.py:97 +#: netbox/extras/models/staging.py:98 msgid "staged change" -msgstr "分阶段的变革" +msgstr "暂存变更" -#: extras/models/staging.py:98 +#: netbox/extras/models/staging.py:99 msgid "staged changes" -msgstr "分阶段的更改" +msgstr "暂存变更" -#: extras/models/tags.py:40 +#: netbox/extras/models/tags.py:40 msgid "The object type(s) to which this tag can be applied." -msgstr "可以应用此标签的对象类型。" +msgstr "可以应用此标记的对象类型。" -#: extras/models/tags.py:49 +#: netbox/extras/models/tags.py:49 msgid "tag" msgstr "标签" -#: extras/models/tags.py:50 +#: netbox/extras/models/tags.py:50 msgid "tags" msgstr "标签" -#: extras/models/tags.py:78 +#: netbox/extras/models/tags.py:78 msgid "tagged item" -msgstr "带标签的物品" +msgstr "标记的项目" -#: extras/models/tags.py:79 +#: netbox/extras/models/tags.py:79 msgid "tagged items" -msgstr "带标签的物品" +msgstr "标记的项目" -#: extras/scripts.py:439 +#: netbox/extras/scripts.py:439 msgid "Script Data" msgstr "脚本数据" -#: extras/scripts.py:443 +#: netbox/extras/scripts.py:443 msgid "Script Execution Parameters" msgstr "脚本执行参数" -#: extras/scripts.py:662 +#: netbox/extras/scripts.py:666 msgid "Database changes have been reverted automatically." msgstr "数据库更改已自动恢复。" -#: extras/scripts.py:675 +#: netbox/extras/scripts.py:679 msgid "Script aborted with error: " -msgstr "脚本因错误而中止: " +msgstr "脚本因错误而中止:" -#: extras/scripts.py:685 +#: netbox/extras/scripts.py:689 msgid "An exception occurred: " -msgstr "出现异常: " +msgstr "发生异常:" -#: extras/scripts.py:688 +#: netbox/extras/scripts.py:692 msgid "Database changes have been reverted due to error." -msgstr "由于错误,数据库更改已恢复。" +msgstr "由于出现错误,数据库更改已回滚。" -#: extras/signals.py:146 +#: netbox/extras/signals.py:133 #, python-brace-format msgid "Deletion is prevented by a protection rule: {message}" -msgstr "保护规则禁止删除: {message}" +msgstr "保护规则阻止删除: {message}" -#: extras/tables/tables.py:46 extras/tables/tables.py:124 -#: extras/tables/tables.py:148 extras/tables/tables.py:213 -#: extras/tables/tables.py:238 extras/tables/tables.py:290 -#: extras/tables/tables.py:336 templates/extras/customfield.html:93 -#: templates/extras/eventrule.html:27 templates/users/objectpermission.html:64 -#: users/tables.py:80 +#: netbox/extras/tables/tables.py:47 netbox/extras/tables/tables.py:125 +#: netbox/extras/tables/tables.py:149 netbox/extras/tables/tables.py:214 +#: netbox/extras/tables/tables.py:239 netbox/extras/tables/tables.py:291 +#: netbox/extras/tables/tables.py:337 +#: netbox/templates/extras/customfield.html:93 +#: netbox/templates/extras/eventrule.html:27 +#: netbox/templates/users/objectpermission.html:64 netbox/users/tables.py:80 msgid "Object Types" -msgstr "物体类型" +msgstr "对象类型" -#: extras/tables/tables.py:52 +#: netbox/extras/tables/tables.py:53 msgid "Visible" msgstr "可见" -#: extras/tables/tables.py:55 +#: netbox/extras/tables/tables.py:56 msgid "Editable" msgstr "可编辑" -#: extras/tables/tables.py:61 +#: netbox/extras/tables/tables.py:62 msgid "Related Object Type" msgstr "相关对象类型" -#: extras/tables/tables.py:65 templates/extras/customfield.html:47 +#: netbox/extras/tables/tables.py:66 +#: netbox/templates/extras/customfield.html:47 msgid "Choice Set" -msgstr "选择集" +msgstr "选项集" -#: extras/tables/tables.py:73 +#: netbox/extras/tables/tables.py:74 msgid "Is Cloneable" -msgstr "是否可以克隆" +msgstr "可复制" -#: extras/tables/tables.py:103 +#: netbox/extras/tables/tables.py:104 msgid "Count" msgstr "计数" -#: extras/tables/tables.py:106 +#: netbox/extras/tables/tables.py:107 msgid "Order Alphabetically" -msgstr "按字母顺序排序" +msgstr "按字母顺序排列" -#: extras/tables/tables.py:130 templates/extras/customlink.html:33 +#: netbox/extras/tables/tables.py:131 +#: netbox/templates/extras/customlink.html:33 msgid "New Window" msgstr "新窗口" -#: extras/tables/tables.py:151 +#: netbox/extras/tables/tables.py:152 msgid "As Attachment" msgstr "作为附件" -#: extras/tables/tables.py:158 extras/tables/tables.py:377 -#: extras/tables/tables.py:412 templates/core/datafile.html:24 -#: templates/dcim/device/render_config.html:22 -#: templates/extras/configcontext.html:39 -#: templates/extras/configtemplate.html:31 -#: templates/extras/exporttemplate.html:45 -#: templates/generic/bulk_import.html:35 -#: templates/virtualization/virtualmachine/render_config.html:22 +#: netbox/extras/tables/tables.py:159 netbox/extras/tables/tables.py:378 +#: netbox/extras/tables/tables.py:413 netbox/templates/core/datafile.html:24 +#: netbox/templates/dcim/device/render_config.html:22 +#: netbox/templates/extras/configcontext.html:39 +#: netbox/templates/extras/configtemplate.html:31 +#: netbox/templates/extras/exporttemplate.html:45 +#: netbox/templates/generic/bulk_import.html:35 +#: netbox/templates/virtualization/virtualmachine/render_config.html:22 msgid "Data File" msgstr "数据文件" -#: extras/tables/tables.py:163 extras/tables/tables.py:389 -#: extras/tables/tables.py:417 +#: netbox/extras/tables/tables.py:164 netbox/extras/tables/tables.py:390 +#: netbox/extras/tables/tables.py:418 msgid "Synced" -msgstr "已同步" +msgstr "同步" -#: extras/tables/tables.py:190 +#: netbox/extras/tables/tables.py:191 msgid "Image" msgstr "图片" -#: extras/tables/tables.py:195 +#: netbox/extras/tables/tables.py:196 msgid "Size (Bytes)" -msgstr "大小(字节)" +msgstr "大小 (Bytes)" -#: extras/tables/tables.py:260 +#: netbox/extras/tables/tables.py:261 msgid "SSL Validation" -msgstr "SSL 验证" +msgstr "SSL验证" -#: extras/tables/tables.py:305 +#: netbox/extras/tables/tables.py:306 msgid "Job Start" -msgstr "作业开始" +msgstr "开始工作" -#: extras/tables/tables.py:308 +#: netbox/extras/tables/tables.py:309 msgid "Job End" -msgstr "任务结束" +msgstr "结束工作" -#: extras/tables/tables.py:425 netbox/navigation/menu.py:64 -#: templates/dcim/devicerole.html:8 +#: netbox/extras/tables/tables.py:426 netbox/netbox/navigation/menu.py:64 +#: netbox/templates/dcim/devicerole.html:8 msgid "Device Roles" msgstr "设备角色" -#: extras/tables/tables.py:466 templates/account/profile.html:19 -#: templates/users/user.html:21 +#: netbox/extras/tables/tables.py:467 netbox/templates/account/profile.html:19 +#: netbox/templates/users/user.html:21 msgid "Full Name" msgstr "全名" -#: extras/tables/tables.py:483 templates/extras/objectchange.html:67 +#: netbox/extras/tables/tables.py:484 +#: netbox/templates/extras/objectchange.html:68 msgid "Request ID" -msgstr "请求 ID" +msgstr "请求ID" -#: extras/tables/tables.py:520 +#: netbox/extras/tables/tables.py:521 msgid "Comments (Short)" -msgstr "评论(简短)" +msgstr "评论(简短)" -#: extras/tables/tables.py:539 extras/tables/tables.py:561 +#: netbox/extras/tables/tables.py:540 netbox/extras/tables/tables.py:574 msgid "Line" msgstr "线" -#: extras/tables/tables.py:546 extras/tables/tables.py:571 +#: netbox/extras/tables/tables.py:547 netbox/extras/tables/tables.py:584 msgid "Level" -msgstr "级别" +msgstr "等级" -#: extras/tables/tables.py:549 extras/tables/tables.py:580 +#: netbox/extras/tables/tables.py:553 netbox/extras/tables/tables.py:593 msgid "Message" -msgstr "留言" +msgstr "信息" -#: extras/tables/tables.py:564 +#: netbox/extras/tables/tables.py:577 msgid "Method" msgstr "方法" -#: extras/validators.py:16 +#: netbox/extras/validators.py:16 #, python-format msgid "Ensure this value is equal to %(limit_value)s." -msgstr "确保此值等于 %(limit_value)s。" +msgstr "请确保值等于 %(limit_value)s." -#: extras/validators.py:27 +#: netbox/extras/validators.py:27 #, python-format msgid "Ensure this value does not equal %(limit_value)s." -msgstr "确保此值不等于 %(limit_value)s。" +msgstr "请确保值不等于 %(limit_value)s." -#: extras/validators.py:38 +#: netbox/extras/validators.py:38 msgid "This field must be empty." -msgstr "此字段必须为空。" +msgstr "此字段必须为空" -#: extras/validators.py:53 +#: netbox/extras/validators.py:53 msgid "This field must not be empty." -msgstr "此字段不能为空。" +msgstr "此字段必须不为空" -#: extras/validators.py:95 +#: netbox/extras/validators.py:95 msgid "Validation rules must be passed as a dictionary" msgstr "验证规则必须作为字典传递" -#: extras/validators.py:120 +#: netbox/extras/validators.py:120 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" -msgstr "的自定义验证失败 {attribute}: {exception}" +msgstr "{attribute} 的自定义验证失败:{exception}" -#: extras/validators.py:140 +#: netbox/extras/validators.py:140 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" -msgstr "属性无效”{name}“供请求" +msgstr "请求的属性“{name}”无效" -#: extras/validators.py:157 +#: netbox/extras/validators.py:157 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" -msgstr "属性无效”{name}“对于 {model}" +msgstr "{model}的属性 \"{name}\"无效" -#: extras/views.py:889 +#: netbox/extras/views.py:889 msgid "Your dashboard has been reset." -msgstr "您的仪表板已重置。" +msgstr "您的仪表盘已重置。" -#: extras/views.py:935 +#: netbox/extras/views.py:935 msgid "Added widget: " -msgstr "添加了小部件: " +msgstr "添加小组件:" -#: extras/views.py:976 +#: netbox/extras/views.py:976 msgid "Updated widget: " -msgstr "更新的小部件: " +msgstr "更新小组件:" -#: extras/views.py:1012 +#: netbox/extras/views.py:1012 msgid "Deleted widget: " -msgstr "已删除的控件: " +msgstr "删除小组件:" -#: extras/views.py:1014 +#: netbox/extras/views.py:1014 msgid "Error deleting widget: " -msgstr "删除小部件时出错: " +msgstr "删除小组件错误:" -#: extras/views.py:1101 +#: netbox/extras/views.py:1101 msgid "Unable to run script: RQ worker process not running." -msgstr "无法运行脚本:RQ 工作进程未运行。" +msgstr "无法运行脚本:RQ worker进程未运行。" -#: ipam/api/field_serializers.py:17 +#: netbox/ipam/api/field_serializers.py:17 msgid "Enter a valid IPv4 or IPv6 address with optional mask." -msgstr "输入带有可选掩码的有效 IPv4 或 IPv6 地址。" +msgstr "输入有效的 IPv4 或 IPv6 地址以及可选掩码。" -#: ipam/api/field_serializers.py:24 +#: netbox/ipam/api/field_serializers.py:24 #, python-brace-format msgid "Invalid IP address format: {data}" -msgstr "IP 地址格式无效: {data}" +msgstr "IP 地址格式无效: {data}" -#: ipam/api/field_serializers.py:37 +#: netbox/ipam/api/field_serializers.py:37 msgid "Enter a valid IPv4 or IPv6 prefix and mask in CIDR notation." -msgstr "以 CIDR 表示法输入有效的 IPv4 或 IPv6 前缀和掩码。" +msgstr "以CIDR格式输入有效的IPv4或IPv6前缀和掩码。" -#: ipam/api/field_serializers.py:44 +#: netbox/ipam/api/field_serializers.py:44 #, python-brace-format msgid "Invalid IP prefix format: {data}" -msgstr "IP 前缀格式无效: {data}" +msgstr "无效的IP前缀格式: {data}" -#: ipam/api/views.py:358 +#: netbox/ipam/api/views.py:358 msgid "" "Insufficient space is available to accommodate the requested prefix size(s)" -msgstr "可用空间不足,无法容纳请求的前缀大小" +msgstr "可用IP不足,无法容纳此请求的前缀大小(s)" -#: ipam/choices.py:30 +#: netbox/ipam/choices.py:30 msgid "Container" msgstr "容器" -#: ipam/choices.py:72 +#: netbox/ipam/choices.py:72 msgid "DHCP" -msgstr "动态主机设置协议" +msgstr "DHCP" -#: ipam/choices.py:73 +#: netbox/ipam/choices.py:73 msgid "SLAAC" msgstr "SLAAC" -#: ipam/choices.py:89 +#: netbox/ipam/choices.py:89 msgid "Loopback" -msgstr "环回" +msgstr "Loopback" -#: ipam/choices.py:90 tenancy/choices.py:18 +#: netbox/ipam/choices.py:90 netbox/tenancy/choices.py:18 msgid "Secondary" -msgstr "中学" +msgstr "次要联系人" -#: ipam/choices.py:91 +#: netbox/ipam/choices.py:91 msgid "Anycast" msgstr "Anycast" -#: ipam/choices.py:115 +#: netbox/ipam/choices.py:115 msgid "Standard" -msgstr "标准" +msgstr "标准的" -#: ipam/choices.py:120 +#: netbox/ipam/choices.py:120 msgid "CheckPoint" msgstr "检查点" -#: ipam/choices.py:123 +#: netbox/ipam/choices.py:123 msgid "Cisco" msgstr "思科" -#: ipam/choices.py:137 +#: netbox/ipam/choices.py:137 msgid "Plaintext" -msgstr "纯文本" +msgstr "明文" -#: ipam/fields.py:36 +#: netbox/ipam/fields.py:36 #, python-brace-format msgid "Invalid IP address format: {address}" -msgstr "IP 地址格式无效: {address}" +msgstr "IP 地址格式无效: {address}" -#: ipam/filtersets.py:48 vpn/filtersets.py:323 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:323 msgid "Import target" -msgstr "导入目标" +msgstr "引入target" -#: ipam/filtersets.py:54 vpn/filtersets.py:329 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:329 msgid "Import target (name)" -msgstr "导入目标(名称)" +msgstr "引入target(名称)" -#: ipam/filtersets.py:59 vpn/filtersets.py:334 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:334 msgid "Export target" -msgstr "导出目标" +msgstr "输出target" -#: ipam/filtersets.py:65 vpn/filtersets.py:340 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:340 msgid "Export target (name)" -msgstr "导出目标(名称)" +msgstr "输出target(名称)" -#: ipam/filtersets.py:86 +#: netbox/ipam/filtersets.py:86 msgid "Importing VRF" -msgstr "导入 VRF" +msgstr "导入VRF" -#: ipam/filtersets.py:92 +#: netbox/ipam/filtersets.py:92 msgid "Import VRF (RD)" msgstr "导入 VRF (RD)" -#: ipam/filtersets.py:97 +#: netbox/ipam/filtersets.py:97 msgid "Exporting VRF" msgstr "导出 VRF" -#: ipam/filtersets.py:103 +#: netbox/ipam/filtersets.py:103 msgid "Export VRF (RD)" msgstr "导出 VRF (RD)" -#: ipam/filtersets.py:108 +#: netbox/ipam/filtersets.py:108 msgid "Importing L2VPN" -msgstr "正在导入 L2VPN" +msgstr "导入 L2VPN" -#: ipam/filtersets.py:114 +#: netbox/ipam/filtersets.py:114 msgid "Importing L2VPN (identifier)" -msgstr "导入 L2VPN(标识符)" +msgstr "导入 L2VPN (identifier)" -#: ipam/filtersets.py:119 +#: netbox/ipam/filtersets.py:119 msgid "Exporting L2VPN" msgstr "导出 L2VPN" -#: ipam/filtersets.py:125 +#: netbox/ipam/filtersets.py:125 msgid "Exporting L2VPN (identifier)" -msgstr "导出 L2VPN(标识符)" +msgstr "导出L2VPN(标识符)" -#: ipam/filtersets.py:155 ipam/filtersets.py:281 ipam/forms/model_forms.py:227 -#: ipam/tables/ip.py:211 templates/ipam/prefix.html:12 +#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:281 +#: netbox/ipam/forms/model_forms.py:227 netbox/ipam/tables/ip.py:211 +#: netbox/templates/ipam/prefix.html:12 msgid "Prefix" msgstr "前缀" -#: ipam/filtersets.py:159 ipam/filtersets.py:198 ipam/filtersets.py:221 +#: netbox/ipam/filtersets.py:159 netbox/ipam/filtersets.py:198 +#: netbox/ipam/filtersets.py:221 msgid "RIR (ID)" -msgstr "RIR (ID)" +msgstr "RIR(ID)" -#: ipam/filtersets.py:165 ipam/filtersets.py:204 ipam/filtersets.py:227 +#: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204 +#: netbox/ipam/filtersets.py:227 msgid "RIR (slug)" -msgstr "RIR(slug)" +msgstr "RIP(缩写)" -#: ipam/filtersets.py:285 +#: netbox/ipam/filtersets.py:285 msgid "Within prefix" -msgstr "在前缀内" +msgstr "此前缀包含的" -#: ipam/filtersets.py:289 +#: netbox/ipam/filtersets.py:289 msgid "Within and including prefix" -msgstr "在前缀内和包括前缀" +msgstr "此前缀包含的(包含此前缀)" -#: ipam/filtersets.py:293 +#: netbox/ipam/filtersets.py:293 msgid "Prefixes which contain this prefix or IP" -msgstr "包含此前缀或 IP 的前缀" +msgstr "包含此前缀或IP的前缀" -#: ipam/filtersets.py:304 ipam/filtersets.py:572 ipam/forms/bulk_edit.py:327 -#: ipam/forms/filtersets.py:196 ipam/forms/filtersets.py:331 +#: netbox/ipam/filtersets.py:304 netbox/ipam/filtersets.py:572 +#: netbox/ipam/forms/bulk_edit.py:327 netbox/ipam/forms/filtersets.py:196 +#: netbox/ipam/forms/filtersets.py:331 msgid "Mask length" -msgstr "口罩长度" +msgstr "掩码长度" -#: ipam/filtersets.py:373 vpn/filtersets.py:446 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:446 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: ipam/filtersets.py:377 vpn/filtersets.py:441 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:441 msgid "VLAN number (1-4094)" -msgstr "VLAN 编号 (1-4094)" +msgstr "VLAN 号(1-4094)" -#: ipam/filtersets.py:471 ipam/filtersets.py:475 ipam/filtersets.py:567 -#: ipam/forms/model_forms.py:461 templates/tenancy/contact.html:53 -#: tenancy/forms/bulk_edit.py:113 +#: netbox/ipam/filtersets.py:471 netbox/ipam/filtersets.py:475 +#: netbox/ipam/filtersets.py:567 netbox/ipam/forms/model_forms.py:461 +#: netbox/templates/tenancy/contact.html:53 +#: netbox/tenancy/forms/bulk_edit.py:113 msgid "Address" msgstr "地址" -#: ipam/filtersets.py:479 +#: netbox/ipam/filtersets.py:479 msgid "Ranges which contain this prefix or IP" -msgstr "包含此前缀或 IP 的范围" +msgstr "包含此前缀或IP的范围" -#: ipam/filtersets.py:507 ipam/filtersets.py:563 +#: netbox/ipam/filtersets.py:507 netbox/ipam/filtersets.py:563 msgid "Parent prefix" -msgstr "家长前缀" +msgstr "上级前缀" -#: ipam/filtersets.py:616 ipam/filtersets.py:856 ipam/filtersets.py:1091 -#: vpn/filtersets.py:404 +#: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 +#: netbox/ipam/filtersets.py:1091 netbox/vpn/filtersets.py:404 msgid "Virtual machine (name)" -msgstr "虚拟机(名称)" +msgstr "虚拟机(名称)" -#: ipam/filtersets.py:621 ipam/filtersets.py:861 ipam/filtersets.py:1085 -#: virtualization/filtersets.py:278 virtualization/filtersets.py:317 -#: vpn/filtersets.py:409 +#: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 +#: netbox/ipam/filtersets.py:1085 netbox/virtualization/filtersets.py:278 +#: netbox/virtualization/filtersets.py:317 netbox/vpn/filtersets.py:409 msgid "Virtual machine (ID)" -msgstr "虚拟机 (ID)" +msgstr "虚拟机(ID)" -#: ipam/filtersets.py:627 vpn/filtersets.py:97 vpn/filtersets.py:415 +#: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 +#: netbox/vpn/filtersets.py:415 msgid "Interface (name)" -msgstr "接口(名称)" +msgstr "接口(名称)" -#: ipam/filtersets.py:638 vpn/filtersets.py:108 vpn/filtersets.py:426 +#: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 +#: netbox/vpn/filtersets.py:426 msgid "VM interface (name)" -msgstr "虚拟机接口(名称)" +msgstr "虚拟接口(名称)" -#: ipam/filtersets.py:643 vpn/filtersets.py:113 +#: netbox/ipam/filtersets.py:643 netbox/vpn/filtersets.py:113 msgid "VM interface (ID)" -msgstr "虚拟机接口 (ID)" +msgstr "虚拟接口(ID)" -#: ipam/filtersets.py:648 +#: netbox/ipam/filtersets.py:648 msgid "FHRP group (ID)" -msgstr "FHRP 群组 (ID)" +msgstr "FHRP组(ID)" -#: ipam/filtersets.py:652 +#: netbox/ipam/filtersets.py:652 msgid "Is assigned to an interface" -msgstr "已分配给接口" +msgstr "分配给接口" -#: ipam/filtersets.py:656 +#: netbox/ipam/filtersets.py:656 msgid "Is assigned" msgstr "已分配" -#: ipam/filtersets.py:668 +#: netbox/ipam/filtersets.py:668 msgid "Service (ID)" -msgstr "服务 (ID)" +msgstr "服务(ID)" -#: ipam/filtersets.py:673 +#: netbox/ipam/filtersets.py:673 msgid "NAT inside IP address (ID)" -msgstr "NAT 内部 IP 地址 (ID)" +msgstr "NAT 内部 IP 地址(ID)" -#: ipam/filtersets.py:1096 +#: netbox/ipam/filtersets.py:1096 msgid "IP address (ID)" msgstr "IP 地址 (ID)" -#: ipam/filtersets.py:1102 ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1102 netbox/ipam/models/ip.py:788 msgid "IP address" -msgstr "IP 地址" +msgstr "IP地址" -#: ipam/filtersets.py:1131 +#: netbox/ipam/filtersets.py:1131 msgid "Primary IPv4 (ID)" -msgstr "主 IPv4 (ID)" +msgstr "主IPv4(ID)" -#: ipam/filtersets.py:1136 +#: netbox/ipam/filtersets.py:1136 msgid "Primary IPv6 (ID)" -msgstr "主 IPv6 (ID)" +msgstr "主IPv6(ID)" -#: ipam/formfields.py:14 +#: netbox/ipam/formfields.py:14 msgid "Enter a valid IPv4 or IPv6 address (without a mask)." msgstr "输入有效的 IPv4 或 IPv6 地址(不带掩码)。" -#: ipam/formfields.py:32 +#: netbox/ipam/formfields.py:32 #, python-brace-format msgid "Invalid IPv4/IPv6 address format: {address}" -msgstr "IPv4/IPv6 地址格式无效: {address}" +msgstr "IPv4/IPv6 地址格式无效: {address}" -#: ipam/formfields.py:37 +#: netbox/ipam/formfields.py:37 msgid "This field requires an IP address without a mask." -msgstr "此字段需要不带掩码的 IP 地址。" +msgstr "该字段需要一个不带掩码的 IP 地址。" -#: ipam/formfields.py:39 ipam/formfields.py:61 +#: netbox/ipam/formfields.py:39 netbox/ipam/formfields.py:61 msgid "Please specify a valid IPv4 or IPv6 address." msgstr "请指定有效的 IPv4 或 IPv6 地址。" -#: ipam/formfields.py:44 +#: netbox/ipam/formfields.py:44 msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)." msgstr "输入有效的 IPv4 或 IPv6 地址(带有 CIDR 掩码)。" -#: ipam/formfields.py:56 +#: netbox/ipam/formfields.py:56 msgid "CIDR mask (e.g. /24) is required." -msgstr "需要 CIDR 掩码(例如 /24)。" +msgstr "需要CIDR掩码(例如/24)" -#: ipam/forms/bulk_create.py:13 +#: netbox/ipam/forms/bulk_create.py:13 msgid "Address pattern" msgstr "地址模式" -#: ipam/forms/bulk_edit.py:48 +#: netbox/ipam/forms/bulk_edit.py:48 msgid "Enforce unique space" -msgstr "强制使用独特的空间" +msgstr "强制使用唯一空间" -#: ipam/forms/bulk_edit.py:86 +#: netbox/ipam/forms/bulk_edit.py:86 msgid "Is private" -msgstr "是私密的" +msgstr "私有的" -#: ipam/forms/bulk_edit.py:107 ipam/forms/bulk_edit.py:136 -#: ipam/forms/bulk_edit.py:161 ipam/forms/bulk_import.py:88 -#: ipam/forms/bulk_import.py:108 ipam/forms/bulk_import.py:128 -#: ipam/forms/filtersets.py:110 ipam/forms/filtersets.py:125 -#: ipam/forms/filtersets.py:148 ipam/forms/model_forms.py:94 -#: ipam/forms/model_forms.py:107 ipam/forms/model_forms.py:129 -#: ipam/forms/model_forms.py:147 ipam/models/asns.py:31 -#: ipam/models/asns.py:103 ipam/models/ip.py:71 ipam/models/ip.py:90 -#: ipam/tables/asn.py:20 ipam/tables/asn.py:45 -#: templates/ipam/aggregate.html:18 templates/ipam/asn.html:27 -#: templates/ipam/asnrange.html:19 templates/ipam/rir.html:19 +#: netbox/ipam/forms/bulk_edit.py:107 netbox/ipam/forms/bulk_edit.py:136 +#: netbox/ipam/forms/bulk_edit.py:161 netbox/ipam/forms/bulk_import.py:88 +#: netbox/ipam/forms/bulk_import.py:108 netbox/ipam/forms/bulk_import.py:128 +#: netbox/ipam/forms/filtersets.py:110 netbox/ipam/forms/filtersets.py:125 +#: netbox/ipam/forms/filtersets.py:148 netbox/ipam/forms/model_forms.py:94 +#: netbox/ipam/forms/model_forms.py:107 netbox/ipam/forms/model_forms.py:129 +#: netbox/ipam/forms/model_forms.py:147 netbox/ipam/models/asns.py:31 +#: netbox/ipam/models/asns.py:103 netbox/ipam/models/ip.py:71 +#: netbox/ipam/models/ip.py:90 netbox/ipam/tables/asn.py:20 +#: netbox/ipam/tables/asn.py:45 netbox/templates/ipam/aggregate.html:18 +#: netbox/templates/ipam/asn.html:27 netbox/templates/ipam/asnrange.html:19 +#: netbox/templates/ipam/rir.html:19 msgid "RIR" -msgstr "RIR" +msgstr "区域互联网注册管理机构" -#: ipam/forms/bulk_edit.py:169 +#: netbox/ipam/forms/bulk_edit.py:169 msgid "Date added" msgstr "添加日期" -#: ipam/forms/bulk_edit.py:230 +#: netbox/ipam/forms/bulk_edit.py:230 msgid "Prefix length" -msgstr "前缀长度" +msgstr "前缀长" -#: ipam/forms/bulk_edit.py:253 ipam/forms/filtersets.py:241 -#: templates/ipam/prefix.html:85 +#: netbox/ipam/forms/bulk_edit.py:253 netbox/ipam/forms/filtersets.py:241 +#: netbox/templates/ipam/prefix.html:85 msgid "Is a pool" -msgstr "是一个游泳池" +msgstr "是一个池" -#: ipam/forms/bulk_edit.py:258 ipam/forms/bulk_edit.py:302 -#: ipam/forms/filtersets.py:248 ipam/forms/filtersets.py:293 -#: ipam/models/ip.py:272 ipam/models/ip.py:539 +#: netbox/ipam/forms/bulk_edit.py:258 netbox/ipam/forms/bulk_edit.py:302 +#: netbox/ipam/forms/filtersets.py:248 netbox/ipam/forms/filtersets.py:293 +#: netbox/ipam/models/ip.py:272 netbox/ipam/models/ip.py:539 msgid "Treat as fully utilized" -msgstr "视作已充分利用" +msgstr "设置为已被全部占用" -#: ipam/forms/bulk_edit.py:350 ipam/models/ip.py:772 +#: netbox/ipam/forms/bulk_edit.py:350 netbox/ipam/models/ip.py:772 msgid "DNS name" -msgstr "DNS 名称" +msgstr "DNS名称" -#: ipam/forms/bulk_edit.py:371 ipam/forms/bulk_edit.py:572 -#: ipam/forms/bulk_import.py:393 ipam/forms/bulk_import.py:477 -#: ipam/forms/bulk_import.py:503 ipam/forms/filtersets.py:390 -#: ipam/forms/filtersets.py:537 templates/ipam/fhrpgroup.html:22 -#: templates/ipam/inc/panels/fhrp_groups.html:24 -#: templates/ipam/service.html:32 templates/ipam/servicetemplate.html:19 +#: netbox/ipam/forms/bulk_edit.py:371 netbox/ipam/forms/bulk_edit.py:572 +#: netbox/ipam/forms/bulk_import.py:393 netbox/ipam/forms/bulk_import.py:477 +#: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/filtersets.py:390 +#: netbox/ipam/forms/filtersets.py:537 netbox/templates/ipam/fhrpgroup.html:22 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:24 +#: netbox/templates/ipam/service.html:32 +#: netbox/templates/ipam/servicetemplate.html:19 msgid "Protocol" msgstr "协议" -#: ipam/forms/bulk_edit.py:378 ipam/forms/filtersets.py:397 -#: ipam/tables/fhrp.py:22 templates/ipam/fhrpgroup.html:26 +#: netbox/ipam/forms/bulk_edit.py:378 netbox/ipam/forms/filtersets.py:397 +#: netbox/ipam/tables/fhrp.py:22 netbox/templates/ipam/fhrpgroup.html:26 msgid "Group ID" -msgstr "群组 ID" +msgstr "组ID" -#: ipam/forms/bulk_edit.py:383 ipam/forms/filtersets.py:402 -#: wireless/forms/bulk_edit.py:68 wireless/forms/bulk_edit.py:115 -#: wireless/forms/bulk_import.py:62 wireless/forms/bulk_import.py:65 -#: wireless/forms/bulk_import.py:104 wireless/forms/bulk_import.py:107 -#: wireless/forms/filtersets.py:54 wireless/forms/filtersets.py:88 +#: netbox/ipam/forms/bulk_edit.py:383 netbox/ipam/forms/filtersets.py:402 +#: netbox/wireless/forms/bulk_edit.py:68 +#: netbox/wireless/forms/bulk_edit.py:115 +#: netbox/wireless/forms/bulk_import.py:62 +#: netbox/wireless/forms/bulk_import.py:65 +#: netbox/wireless/forms/bulk_import.py:104 +#: netbox/wireless/forms/bulk_import.py:107 +#: netbox/wireless/forms/filtersets.py:54 +#: netbox/wireless/forms/filtersets.py:88 msgid "Authentication type" -msgstr "身份验证类型" +msgstr "认证类型" -#: ipam/forms/bulk_edit.py:388 ipam/forms/filtersets.py:406 +#: netbox/ipam/forms/bulk_edit.py:388 netbox/ipam/forms/filtersets.py:406 msgid "Authentication key" -msgstr "身份验证密钥" +msgstr "认证秘钥" -#: ipam/forms/bulk_edit.py:405 ipam/forms/filtersets.py:383 -#: ipam/forms/model_forms.py:472 netbox/navigation/menu.py:370 -#: templates/ipam/fhrpgroup.html:49 -#: templates/wireless/inc/authentication_attrs.html:5 -#: wireless/forms/bulk_edit.py:91 wireless/forms/bulk_edit.py:138 -#: wireless/forms/filtersets.py:36 wireless/forms/filtersets.py:76 -#: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:164 +#: netbox/ipam/forms/bulk_edit.py:405 netbox/ipam/forms/filtersets.py:383 +#: netbox/ipam/forms/model_forms.py:472 netbox/netbox/navigation/menu.py:370 +#: netbox/templates/ipam/fhrpgroup.html:49 +#: netbox/templates/wireless/inc/authentication_attrs.html:5 +#: netbox/wireless/forms/bulk_edit.py:91 +#: netbox/wireless/forms/bulk_edit.py:138 +#: netbox/wireless/forms/filtersets.py:36 +#: netbox/wireless/forms/filtersets.py:76 +#: netbox/wireless/forms/model_forms.py:55 +#: netbox/wireless/forms/model_forms.py:164 msgid "Authentication" msgstr "身份验证" -#: ipam/forms/bulk_edit.py:415 +#: netbox/ipam/forms/bulk_edit.py:415 msgid "Minimum child VLAN VID" -msgstr "子级 VLAN VID 下限" +msgstr "最小的子VLAN ID" -#: ipam/forms/bulk_edit.py:421 +#: netbox/ipam/forms/bulk_edit.py:421 msgid "Maximum child VLAN VID" -msgstr "子 VLAN VID 的最大值" +msgstr "最大的子VLAN ID" -#: ipam/forms/bulk_edit.py:429 ipam/forms/model_forms.py:566 +#: netbox/ipam/forms/bulk_edit.py:429 netbox/ipam/forms/model_forms.py:566 msgid "Scope type" -msgstr "范围类型" +msgstr "作用域类型" -#: ipam/forms/bulk_edit.py:491 ipam/forms/model_forms.py:641 -#: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:38 +#: netbox/ipam/forms/bulk_edit.py:491 netbox/ipam/forms/model_forms.py:641 +#: netbox/ipam/tables/vlans.py:71 netbox/templates/ipam/vlangroup.html:38 msgid "Scope" -msgstr "范围" +msgstr "作用域" -#: ipam/forms/bulk_edit.py:563 +#: netbox/ipam/forms/bulk_edit.py:563 msgid "Site & Group" -msgstr "网站和群组" +msgstr "站点 & 组" -#: ipam/forms/bulk_edit.py:577 ipam/forms/model_forms.py:705 -#: ipam/forms/model_forms.py:737 ipam/tables/services.py:19 -#: ipam/tables/services.py:49 templates/ipam/service.html:36 -#: templates/ipam/servicetemplate.html:23 +#: netbox/ipam/forms/bulk_edit.py:577 netbox/ipam/forms/model_forms.py:705 +#: netbox/ipam/forms/model_forms.py:737 netbox/ipam/tables/services.py:19 +#: netbox/ipam/tables/services.py:49 netbox/templates/ipam/service.html:36 +#: netbox/templates/ipam/servicetemplate.html:23 msgid "Ports" msgstr "端口" -#: ipam/forms/bulk_import.py:47 +#: netbox/ipam/forms/bulk_import.py:47 msgid "Import route targets" -msgstr "导入路径目标" +msgstr "导入的 Route Targets" -#: ipam/forms/bulk_import.py:53 +#: netbox/ipam/forms/bulk_import.py:53 msgid "Export route targets" -msgstr "导出路径目标" +msgstr "导出的Route Targets" -#: ipam/forms/bulk_import.py:91 ipam/forms/bulk_import.py:111 -#: ipam/forms/bulk_import.py:131 +#: netbox/ipam/forms/bulk_import.py:91 netbox/ipam/forms/bulk_import.py:111 +#: netbox/ipam/forms/bulk_import.py:131 msgid "Assigned RIR" -msgstr "分配的 RIR" +msgstr "指定的 RIR" -#: ipam/forms/bulk_import.py:181 +#: netbox/ipam/forms/bulk_import.py:181 msgid "VLAN's group (if any)" -msgstr "VLAN 的群组(如果有)" +msgstr "VLAN 组(若存在)" -#: ipam/forms/bulk_import.py:184 ipam/forms/filtersets.py:256 -#: ipam/forms/model_forms.py:216 ipam/models/vlans.py:214 -#: ipam/tables/ip.py:254 templates/ipam/prefix.html:60 -#: templates/ipam/vlan.html:12 templates/ipam/vlan/base.html:6 -#: templates/ipam/vlan_edit.html:10 templates/wireless/wirelesslan.html:30 -#: vpn/forms/bulk_import.py:304 vpn/forms/filtersets.py:284 -#: vpn/forms/model_forms.py:433 vpn/forms/model_forms.py:452 -#: wireless/forms/bulk_edit.py:55 wireless/forms/bulk_import.py:48 -#: wireless/forms/model_forms.py:48 wireless/models.py:101 +#: netbox/ipam/forms/bulk_import.py:184 netbox/ipam/forms/filtersets.py:256 +#: netbox/ipam/forms/model_forms.py:216 netbox/ipam/models/vlans.py:214 +#: netbox/ipam/tables/ip.py:254 netbox/templates/ipam/prefix.html:60 +#: netbox/templates/ipam/vlan.html:12 netbox/templates/ipam/vlan/base.html:6 +#: netbox/templates/ipam/vlan_edit.html:10 +#: netbox/templates/wireless/wirelesslan.html:30 +#: netbox/vpn/forms/bulk_import.py:304 netbox/vpn/forms/filtersets.py:284 +#: netbox/vpn/forms/model_forms.py:433 netbox/vpn/forms/model_forms.py:452 +#: netbox/wireless/forms/bulk_edit.py:55 +#: netbox/wireless/forms/bulk_import.py:48 +#: netbox/wireless/forms/model_forms.py:48 netbox/wireless/models.py:101 msgid "VLAN" msgstr "VLAN" -#: ipam/forms/bulk_import.py:307 +#: netbox/ipam/forms/bulk_import.py:307 msgid "Parent device of assigned interface (if any)" -msgstr "已分配接口的父设备(如果有)" +msgstr "指定接口的父设备(如果有)" -#: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496 -#: ipam/forms/model_forms.py:731 virtualization/filtersets.py:284 -#: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:200 -#: virtualization/forms/bulk_edit.py:326 -#: virtualization/forms/bulk_import.py:146 -#: virtualization/forms/bulk_import.py:207 -#: virtualization/forms/filtersets.py:208 -#: virtualization/forms/filtersets.py:244 -#: virtualization/forms/model_forms.py:288 vpn/forms/bulk_import.py:93 -#: vpn/forms/bulk_import.py:290 +#: netbox/ipam/forms/bulk_import.py:310 netbox/ipam/forms/bulk_import.py:496 +#: netbox/ipam/forms/model_forms.py:731 +#: netbox/virtualization/filtersets.py:284 +#: netbox/virtualization/filtersets.py:323 +#: netbox/virtualization/forms/bulk_edit.py:200 +#: netbox/virtualization/forms/bulk_edit.py:326 +#: netbox/virtualization/forms/bulk_import.py:146 +#: netbox/virtualization/forms/bulk_import.py:207 +#: netbox/virtualization/forms/filtersets.py:208 +#: netbox/virtualization/forms/filtersets.py:244 +#: netbox/virtualization/forms/model_forms.py:288 +#: netbox/vpn/forms/bulk_import.py:93 netbox/vpn/forms/bulk_import.py:290 msgid "Virtual machine" msgstr "虚拟机" -#: ipam/forms/bulk_import.py:314 +#: netbox/ipam/forms/bulk_import.py:314 msgid "Parent VM of assigned interface (if any)" -msgstr "已分配接口的父虚拟机(如果有)" +msgstr "指定接口的父虚拟机(如果有)" -#: ipam/forms/bulk_import.py:321 +#: netbox/ipam/forms/bulk_import.py:321 msgid "Assigned interface" msgstr "分配的接口" -#: ipam/forms/bulk_import.py:324 +#: netbox/ipam/forms/bulk_import.py:324 msgid "Is primary" -msgstr "是主要的" +msgstr "是主用的" -#: ipam/forms/bulk_import.py:325 +#: netbox/ipam/forms/bulk_import.py:325 msgid "Make this the primary IP for the assigned device" -msgstr "将此设为分配设备的主 IP" +msgstr "将此IP设置为分配设备的主 IP" -#: ipam/forms/bulk_import.py:364 +#: netbox/ipam/forms/bulk_import.py:364 msgid "No device or virtual machine specified; cannot set as primary IP" -msgstr "未指定设备或虚拟机;无法设置为主 IP" +msgstr "未指定设备或虚拟机;无法设置为主IP" -#: ipam/forms/bulk_import.py:368 +#: netbox/ipam/forms/bulk_import.py:368 msgid "No interface specified; cannot set as primary IP" -msgstr "未指定接口;无法设置为主 IP" +msgstr "未指定接口;无法设置为主IP" -#: ipam/forms/bulk_import.py:397 +#: netbox/ipam/forms/bulk_import.py:397 msgid "Auth type" -msgstr "身份验证类型" +msgstr "认证类型" -#: ipam/forms/bulk_import.py:412 +#: netbox/ipam/forms/bulk_import.py:412 msgid "Scope type (app & model)" -msgstr "范围类型(应用程序和型号)" +msgstr "作用域类型(应用程序&型号)" -#: ipam/forms/bulk_import.py:418 +#: netbox/ipam/forms/bulk_import.py:418 #, python-brace-format msgid "Minimum child VLAN VID (default: {minimum})" -msgstr "子 VLAN VID 的最小值(默认值: {minimum})" +msgstr "最小的子VLAN ID (默认: {minimum})" -#: ipam/forms/bulk_import.py:424 +#: netbox/ipam/forms/bulk_import.py:424 #, python-brace-format msgid "Maximum child VLAN VID (default: {maximum})" -msgstr "子 VLAN VID 的最大值(默认值: {maximum})" +msgstr "最大的子VLAN ID (默认: {maximum})" -#: ipam/forms/bulk_import.py:448 +#: netbox/ipam/forms/bulk_import.py:448 msgid "Assigned VLAN group" -msgstr "已分配的 VLAN 组" +msgstr "分配的VLAN组" -#: ipam/forms/bulk_import.py:479 ipam/forms/bulk_import.py:505 +#: netbox/ipam/forms/bulk_import.py:479 netbox/ipam/forms/bulk_import.py:505 msgid "IP protocol" msgstr "IP 协议" -#: ipam/forms/bulk_import.py:493 +#: netbox/ipam/forms/bulk_import.py:493 msgid "Required if not assigned to a VM" -msgstr "如果未分配给 VM,则为必填项" +msgstr "如果未分配给虚拟机,则为必需" -#: ipam/forms/bulk_import.py:500 +#: netbox/ipam/forms/bulk_import.py:500 msgid "Required if not assigned to a device" -msgstr "如果未分配给设备,则为必填项" +msgstr "如果未分配给设备,则为必需" -#: ipam/forms/bulk_import.py:525 +#: netbox/ipam/forms/bulk_import.py:525 #, python-brace-format msgid "{ip} is not assigned to this device/VM." msgstr "{ip} 未分配给此设备/虚拟机。" -#: ipam/forms/filtersets.py:47 ipam/forms/model_forms.py:61 -#: netbox/navigation/menu.py:176 vpn/forms/model_forms.py:410 +#: netbox/ipam/forms/filtersets.py:47 netbox/ipam/forms/model_forms.py:61 +#: netbox/netbox/navigation/menu.py:176 netbox/vpn/forms/model_forms.py:410 msgid "Route Targets" -msgstr "路线目标" +msgstr "Route Targets" -#: ipam/forms/filtersets.py:53 ipam/forms/model_forms.py:48 -#: vpn/forms/filtersets.py:224 vpn/forms/model_forms.py:397 +#: netbox/ipam/forms/filtersets.py:53 netbox/ipam/forms/model_forms.py:48 +#: netbox/vpn/forms/filtersets.py:224 netbox/vpn/forms/model_forms.py:397 msgid "Import targets" -msgstr "导入目标" +msgstr "引入targets" -#: ipam/forms/filtersets.py:58 ipam/forms/model_forms.py:53 -#: vpn/forms/filtersets.py:229 vpn/forms/model_forms.py:402 +#: netbox/ipam/forms/filtersets.py:58 netbox/ipam/forms/model_forms.py:53 +#: netbox/vpn/forms/filtersets.py:229 netbox/vpn/forms/model_forms.py:402 msgid "Export targets" -msgstr "出口目标" +msgstr "输出targets" -#: ipam/forms/filtersets.py:73 +#: netbox/ipam/forms/filtersets.py:73 msgid "Imported by VRF" -msgstr "由 VRF 进口" +msgstr "由VRF引入" -#: ipam/forms/filtersets.py:78 +#: netbox/ipam/forms/filtersets.py:78 msgid "Exported by VRF" -msgstr "由 VRF 导出" +msgstr "由VRF输出" -#: ipam/forms/filtersets.py:87 ipam/tables/ip.py:89 templates/ipam/rir.html:30 +#: netbox/ipam/forms/filtersets.py:87 netbox/ipam/tables/ip.py:89 +#: netbox/templates/ipam/rir.html:30 msgid "Private" -msgstr "私人" +msgstr "私有的" -#: ipam/forms/filtersets.py:105 ipam/forms/filtersets.py:191 -#: ipam/forms/filtersets.py:272 ipam/forms/filtersets.py:326 +#: netbox/ipam/forms/filtersets.py:105 netbox/ipam/forms/filtersets.py:191 +#: netbox/ipam/forms/filtersets.py:272 netbox/ipam/forms/filtersets.py:326 msgid "Address family" -msgstr "地址家族" +msgstr "地址类型" -#: ipam/forms/filtersets.py:119 templates/ipam/asnrange.html:25 +#: netbox/ipam/forms/filtersets.py:119 netbox/templates/ipam/asnrange.html:25 msgid "Range" msgstr "范围" -#: ipam/forms/filtersets.py:128 +#: netbox/ipam/forms/filtersets.py:128 msgid "Start" msgstr "开始" -#: ipam/forms/filtersets.py:132 +#: netbox/ipam/forms/filtersets.py:132 msgid "End" msgstr "结束" -#: ipam/forms/filtersets.py:171 +#: netbox/ipam/forms/filtersets.py:171 msgid "VLAN Assignment" msgstr "VLAN 分配" -#: ipam/forms/filtersets.py:186 +#: netbox/ipam/forms/filtersets.py:186 msgid "Search within" -msgstr "在里面搜索" +msgstr "在此前缀内查找" -#: ipam/forms/filtersets.py:207 ipam/forms/filtersets.py:342 +#: netbox/ipam/forms/filtersets.py:207 netbox/ipam/forms/filtersets.py:342 msgid "Present in VRF" -msgstr "出现在 VRF 中" +msgstr "存在于VRF中" -#: ipam/forms/filtersets.py:311 +#: netbox/ipam/forms/filtersets.py:311 msgid "Device/VM" msgstr "设备/虚拟机" -#: ipam/forms/filtersets.py:321 +#: netbox/ipam/forms/filtersets.py:321 msgid "Parent Prefix" -msgstr "家长前缀" +msgstr "上级IP前缀" -#: ipam/forms/filtersets.py:347 +#: netbox/ipam/forms/filtersets.py:347 msgid "Assigned Device" -msgstr "分配的设备" +msgstr "指定设备" -#: ipam/forms/filtersets.py:352 +#: netbox/ipam/forms/filtersets.py:352 msgid "Assigned VM" -msgstr "分配的虚拟机" +msgstr "指定虚拟机" -#: ipam/forms/filtersets.py:366 +#: netbox/ipam/forms/filtersets.py:366 msgid "Assigned to an interface" -msgstr "分配给接口" +msgstr "指定给一个接口" -#: ipam/forms/filtersets.py:373 templates/ipam/ipaddress.html:51 +#: netbox/ipam/forms/filtersets.py:373 netbox/templates/ipam/ipaddress.html:51 msgid "DNS Name" -msgstr "DNS 名称" +msgstr "DNS名称" -#: ipam/forms/filtersets.py:416 ipam/forms/filtersets.py:520 -#: ipam/models/vlans.py:156 templates/ipam/vlan.html:31 +#: netbox/ipam/forms/filtersets.py:416 netbox/ipam/forms/filtersets.py:520 +#: netbox/ipam/models/vlans.py:156 netbox/templates/ipam/vlan.html:31 msgid "VLAN ID" msgstr "VLAN ID" -#: ipam/forms/filtersets.py:448 +#: netbox/ipam/forms/filtersets.py:448 msgid "Minimum VID" -msgstr "最低 VID" +msgstr "最小的VLAN ID" -#: ipam/forms/filtersets.py:454 +#: netbox/ipam/forms/filtersets.py:454 msgid "Maximum VID" -msgstr "最大 VID" +msgstr "最大的VLAN ID" -#: ipam/forms/filtersets.py:563 ipam/forms/model_forms.py:318 -#: ipam/forms/model_forms.py:759 ipam/forms/model_forms.py:785 -#: ipam/tables/vlans.py:191 templates/virtualization/virtualdisk.html:21 -#: templates/virtualization/virtualmachine.html:12 -#: templates/virtualization/vminterface.html:21 -#: templates/vpn/tunneltermination.html:25 -#: virtualization/forms/filtersets.py:193 -#: virtualization/forms/filtersets.py:238 -#: virtualization/forms/model_forms.py:220 -#: virtualization/tables/virtualmachines.py:128 -#: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45 -#: vpn/forms/filtersets.py:293 vpn/forms/model_forms.py:160 -#: vpn/forms/model_forms.py:171 vpn/forms/model_forms.py:273 -#: vpn/forms/model_forms.py:454 +#: netbox/ipam/forms/filtersets.py:563 netbox/ipam/forms/model_forms.py:318 +#: netbox/ipam/forms/model_forms.py:759 netbox/ipam/forms/model_forms.py:785 +#: netbox/ipam/tables/vlans.py:191 +#: netbox/templates/virtualization/virtualdisk.html:21 +#: netbox/templates/virtualization/virtualmachine.html:12 +#: netbox/templates/virtualization/vminterface.html:21 +#: netbox/templates/vpn/tunneltermination.html:25 +#: netbox/virtualization/forms/filtersets.py:193 +#: netbox/virtualization/forms/filtersets.py:238 +#: netbox/virtualization/forms/model_forms.py:220 +#: netbox/virtualization/tables/virtualmachines.py:128 +#: netbox/virtualization/tables/virtualmachines.py:183 +#: netbox/vpn/choices.py:45 netbox/vpn/forms/filtersets.py:293 +#: netbox/vpn/forms/model_forms.py:160 netbox/vpn/forms/model_forms.py:171 +#: netbox/vpn/forms/model_forms.py:273 netbox/vpn/forms/model_forms.py:454 msgid "Virtual Machine" msgstr "虚拟机" -#: ipam/forms/model_forms.py:78 templates/ipam/routetarget.html:10 +#: netbox/ipam/forms/model_forms.py:78 +#: netbox/templates/ipam/routetarget.html:10 msgid "Route Target" -msgstr "路线目标" +msgstr "路由目标" -#: ipam/forms/model_forms.py:112 ipam/tables/ip.py:116 -#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:38 +#: netbox/ipam/forms/model_forms.py:112 netbox/ipam/tables/ip.py:116 +#: netbox/templates/ipam/aggregate.html:11 +#: netbox/templates/ipam/prefix.html:38 msgid "Aggregate" -msgstr "聚合" +msgstr "聚合IP" -#: ipam/forms/model_forms.py:133 templates/ipam/asnrange.html:12 +#: netbox/ipam/forms/model_forms.py:133 netbox/templates/ipam/asnrange.html:12 msgid "ASN Range" -msgstr "ASN 范围" +msgstr "ASN范围" -#: ipam/forms/model_forms.py:229 +#: netbox/ipam/forms/model_forms.py:229 msgid "Site/VLAN Assignment" -msgstr "站点/VLAN 分配" +msgstr "Site/VLAN 分配" -#: ipam/forms/model_forms.py:257 templates/ipam/iprange.html:10 +#: netbox/ipam/forms/model_forms.py:257 netbox/templates/ipam/iprange.html:10 msgid "IP Range" -msgstr "IP 范围" +msgstr "IP范围" -#: ipam/forms/model_forms.py:293 ipam/forms/model_forms.py:319 -#: ipam/forms/model_forms.py:471 templates/ipam/fhrpgroup.html:19 +#: netbox/ipam/forms/model_forms.py:293 netbox/ipam/forms/model_forms.py:319 +#: netbox/ipam/forms/model_forms.py:471 +#: netbox/templates/ipam/fhrpgroup.html:19 msgid "FHRP Group" -msgstr "FHRP 集团" +msgstr "FHRP组" -#: ipam/forms/model_forms.py:308 +#: netbox/ipam/forms/model_forms.py:308 msgid "Make this the primary IP for the device/VM" -msgstr "将此设为设备/虚拟机的主 IP" +msgstr "将此IP设置为分配设备的主 IP" -#: ipam/forms/model_forms.py:323 +#: netbox/ipam/forms/model_forms.py:323 msgid "NAT IP (Inside)" -msgstr "NAT IP(内部)" +msgstr "NAT IP (Inside)" -#: ipam/forms/model_forms.py:382 +#: netbox/ipam/forms/model_forms.py:382 msgid "An IP address can only be assigned to a single object." msgstr "IP 地址只能分配给单个对象。" -#: ipam/forms/model_forms.py:388 ipam/models/ip.py:897 +#: netbox/ipam/forms/model_forms.py:388 netbox/ipam/models/ip.py:897 msgid "" "Cannot reassign IP address while it is designated as the primary IP for the " "parent object" -msgstr "当它被指定为父对象的主 IP 时,无法重新分配 IP 地址" +msgstr "当 IP 地址被指定为父对象的主 IP 时,无法重新分配 IP 地址" -#: ipam/forms/model_forms.py:398 +#: netbox/ipam/forms/model_forms.py:398 msgid "" "Only IP addresses assigned to an interface can be designated as primary IPs." msgstr "只有分配给接口的 IP 地址才能指定为主 IP。" -#: ipam/forms/model_forms.py:473 +#: netbox/ipam/forms/model_forms.py:473 msgid "Virtual IP Address" -msgstr "虚拟 IP 地址" +msgstr "虚拟IP地址" -#: ipam/forms/model_forms.py:558 +#: netbox/ipam/forms/model_forms.py:558 msgid "Assignment already exists" -msgstr "任务已经存在" +msgstr "已被分配" -#: ipam/forms/model_forms.py:637 ipam/forms/model_forms.py:679 -#: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37 -#: templates/ipam/vlangroup.html:27 +#: netbox/ipam/forms/model_forms.py:637 netbox/ipam/forms/model_forms.py:679 +#: netbox/ipam/tables/ip.py:250 netbox/templates/ipam/vlan_edit.html:37 +#: netbox/templates/ipam/vlangroup.html:27 msgid "VLAN Group" -msgstr "VLAN 组" +msgstr "VLAN组" -#: ipam/forms/model_forms.py:638 +#: netbox/ipam/forms/model_forms.py:638 msgid "Child VLANs" -msgstr "儿童 VLAN" +msgstr "子类 VLANs" -#: ipam/forms/model_forms.py:710 ipam/forms/model_forms.py:742 +#: netbox/ipam/forms/model_forms.py:710 netbox/ipam/forms/model_forms.py:742 msgid "" "Comma-separated list of one or more port numbers. A range may be specified " "using a hyphen." -msgstr "一个或多个端口号的逗号分隔列表。可以使用连字符指定范围。" +msgstr "一个或多个端口号的列表,逗号分隔。可以使用连字符指定范围。" -#: ipam/forms/model_forms.py:715 templates/ipam/servicetemplate.html:12 +#: netbox/ipam/forms/model_forms.py:715 +#: netbox/templates/ipam/servicetemplate.html:12 msgid "Service Template" -msgstr "服务模板" +msgstr "服务模版" -#: ipam/forms/model_forms.py:762 +#: netbox/ipam/forms/model_forms.py:762 msgid "Port(s)" msgstr "端口" -#: ipam/forms/model_forms.py:763 ipam/forms/model_forms.py:791 -#: templates/ipam/service.html:21 +#: netbox/ipam/forms/model_forms.py:763 netbox/ipam/forms/model_forms.py:791 +#: netbox/templates/ipam/service.html:21 msgid "Service" msgstr "服务" -#: ipam/forms/model_forms.py:776 +#: netbox/ipam/forms/model_forms.py:776 msgid "Service template" -msgstr "服务模板" +msgstr "服务模版" -#: ipam/forms/model_forms.py:788 +#: netbox/ipam/forms/model_forms.py:788 msgid "From Template" -msgstr "来自模板" +msgstr "来自模版" -#: ipam/forms/model_forms.py:789 +#: netbox/ipam/forms/model_forms.py:789 msgid "Custom" msgstr "自定义" -#: ipam/forms/model_forms.py:819 +#: netbox/ipam/forms/model_forms.py:819 msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "如果不使用服务模板,则必须指定名称、协议和端口。" -#: ipam/models/asns.py:34 +#: netbox/ipam/models/asns.py:34 msgid "start" msgstr "开始" -#: ipam/models/asns.py:51 +#: netbox/ipam/models/asns.py:51 msgid "ASN range" -msgstr "ASN 范围" +msgstr "ASN范围" -#: ipam/models/asns.py:52 +#: netbox/ipam/models/asns.py:52 msgid "ASN ranges" -msgstr "ASN 范围" +msgstr "ASN范围" -#: ipam/models/asns.py:72 +#: netbox/ipam/models/asns.py:72 #, python-brace-format msgid "Starting ASN ({start}) must be lower than ending ASN ({end})." -msgstr "启动 ASN ({start}) 必须低于结尾 ASN ({end})。" +msgstr "开始的ASN ({start}) 必须低于结束的ASN({end})。" -#: ipam/models/asns.py:104 +#: netbox/ipam/models/asns.py:104 msgid "Regional Internet Registry responsible for this AS number space" -msgstr "负责此 AS 号码空间的地区互联网注册管理机构" +msgstr "负责此AS号码的区域互联网注册处" -#: ipam/models/asns.py:109 +#: netbox/ipam/models/asns.py:109 msgid "16- or 32-bit autonomous system number" -msgstr "16 或 32 位自治系统编号" +msgstr "16或32位自主系统编号" -#: ipam/models/fhrp.py:22 +#: netbox/ipam/models/fhrp.py:22 msgid "group ID" -msgstr "群组 ID" +msgstr "组ID" -#: ipam/models/fhrp.py:30 ipam/models/services.py:21 +#: netbox/ipam/models/fhrp.py:30 netbox/ipam/models/services.py:22 msgid "protocol" msgstr "协议" -#: ipam/models/fhrp.py:38 wireless/models.py:27 +#: netbox/ipam/models/fhrp.py:38 netbox/wireless/models.py:27 msgid "authentication type" -msgstr "身份验证类型" +msgstr "认证类型" -#: ipam/models/fhrp.py:43 +#: netbox/ipam/models/fhrp.py:43 msgid "authentication key" -msgstr "身份验证密钥" +msgstr "认证秘钥" -#: ipam/models/fhrp.py:56 +#: netbox/ipam/models/fhrp.py:56 msgid "FHRP group" -msgstr "FHRP 小组" +msgstr "FHRP组" -#: ipam/models/fhrp.py:57 +#: netbox/ipam/models/fhrp.py:57 msgid "FHRP groups" -msgstr "FHRP 团体" +msgstr "网关冗余协议组" -#: ipam/models/fhrp.py:93 tenancy/models/contacts.py:134 +#: netbox/ipam/models/fhrp.py:93 netbox/tenancy/models/contacts.py:134 msgid "priority" -msgstr "优先" +msgstr "优先级" -#: ipam/models/fhrp.py:113 +#: netbox/ipam/models/fhrp.py:113 msgid "FHRP group assignment" -msgstr "FHRP 群组分配" +msgstr "指定FHRP组" -#: ipam/models/fhrp.py:114 +#: netbox/ipam/models/fhrp.py:114 msgid "FHRP group assignments" -msgstr "FHRP 小组作业" +msgstr "指定FHRP组" -#: ipam/models/ip.py:65 +#: netbox/ipam/models/ip.py:65 msgid "private" -msgstr "私人的" +msgstr "私有的" -#: ipam/models/ip.py:66 +#: netbox/ipam/models/ip.py:66 msgid "IP space managed by this RIR is considered private" -msgstr "此 RIR 管理的 IP 空间被视为私有空间" +msgstr "由该RIR管理的IP地址空间被认为是私有的" -#: ipam/models/ip.py:72 netbox/navigation/menu.py:169 +#: netbox/ipam/models/ip.py:72 netbox/netbox/navigation/menu.py:169 msgid "RIRs" -msgstr "RIR" +msgstr "区域互联网注册管理机构" -#: ipam/models/ip.py:84 +#: netbox/ipam/models/ip.py:84 msgid "IPv4 or IPv6 network" -msgstr "IPv4 或 IPv6 网络" +msgstr "IPv4或IPv6网络" -#: ipam/models/ip.py:91 +#: netbox/ipam/models/ip.py:91 msgid "Regional Internet Registry responsible for this IP space" -msgstr "负责此 IP 空间的地区互联网注册管理机构" +msgstr "负责此IP地址空间的区域互联网注册管理机构" -#: ipam/models/ip.py:101 +#: netbox/ipam/models/ip.py:101 msgid "date added" msgstr "添加日期" -#: ipam/models/ip.py:115 +#: netbox/ipam/models/ip.py:115 msgid "aggregate" -msgstr "聚合" +msgstr "聚合IP" -#: ipam/models/ip.py:116 +#: netbox/ipam/models/ip.py:116 msgid "aggregates" -msgstr "总量" +msgstr "aggregates" -#: ipam/models/ip.py:132 +#: netbox/ipam/models/ip.py:132 msgid "Cannot create aggregate with /0 mask." -msgstr "无法使用 /0 掩码创建聚合。" +msgstr "无法使用/0掩码创建聚合IP。" -#: ipam/models/ip.py:144 +#: netbox/ipam/models/ip.py:144 #, python-brace-format msgid "" "Aggregates cannot overlap. {prefix} is already covered by an existing " "aggregate ({aggregate})." -msgstr "聚合不能重叠。 {prefix} 已被现有聚合所覆盖 ({aggregate})。" +msgstr "聚合不能重叠。{prefix}已被现有聚合({aggregate})包含。" -#: ipam/models/ip.py:158 +#: netbox/ipam/models/ip.py:158 #, python-brace-format msgid "" "Prefixes cannot overlap aggregates. {prefix} covers an existing aggregate " "({aggregate})." -msgstr "前缀不能与聚合重叠。 {prefix} 涵盖现有聚合 ({aggregate})。" +msgstr "前缀不能与聚合重叠。{prefix} 包含现有聚合({aggregate})。" -#: ipam/models/ip.py:200 ipam/models/ip.py:737 vpn/models/tunnels.py:114 +#: netbox/ipam/models/ip.py:200 netbox/ipam/models/ip.py:737 +#: netbox/vpn/models/tunnels.py:114 msgid "role" msgstr "角色" -#: ipam/models/ip.py:201 +#: netbox/ipam/models/ip.py:201 msgid "roles" msgstr "角色" -#: ipam/models/ip.py:217 ipam/models/ip.py:293 +#: netbox/ipam/models/ip.py:217 netbox/ipam/models/ip.py:293 msgid "prefix" msgstr "前缀" -#: ipam/models/ip.py:218 +#: netbox/ipam/models/ip.py:218 msgid "IPv4 or IPv6 network with mask" -msgstr "带掩码的 IPv4 或 IPv6 网络" +msgstr "带掩码的IPv4或IPv6网络" -#: ipam/models/ip.py:254 +#: netbox/ipam/models/ip.py:254 msgid "Operational status of this prefix" -msgstr "此前缀的运行状态" +msgstr "此前缀的操作状态" -#: ipam/models/ip.py:262 +#: netbox/ipam/models/ip.py:262 msgid "The primary function of this prefix" -msgstr "这个前缀的主要功能" +msgstr "此前缀的主要功能" -#: ipam/models/ip.py:265 +#: netbox/ipam/models/ip.py:265 msgid "is a pool" -msgstr "是一个游泳池" +msgstr "是地址池" -#: ipam/models/ip.py:267 +#: netbox/ipam/models/ip.py:267 msgid "All IP addresses within this prefix are considered usable" -msgstr "此前缀中的所有 IP 地址均视为可用" +msgstr "此前缀内的所有IP地址都可用" -#: ipam/models/ip.py:270 ipam/models/ip.py:537 +#: netbox/ipam/models/ip.py:270 netbox/ipam/models/ip.py:537 msgid "mark utilized" -msgstr "已使用标记" +msgstr "使用标记" -#: ipam/models/ip.py:294 +#: netbox/ipam/models/ip.py:294 msgid "prefixes" msgstr "前缀" -#: ipam/models/ip.py:317 +#: netbox/ipam/models/ip.py:317 msgid "Cannot create prefix with /0 mask." -msgstr "无法使用 /0 掩码创建前缀。" +msgstr "无法创建/0掩码的IP地址前缀。" -#: ipam/models/ip.py:324 ipam/models/ip.py:874 +#: netbox/ipam/models/ip.py:324 netbox/ipam/models/ip.py:874 #, python-brace-format msgid "VRF {vrf}" msgstr "VRF {vrf}" -#: ipam/models/ip.py:324 ipam/models/ip.py:874 +#: netbox/ipam/models/ip.py:324 netbox/ipam/models/ip.py:874 msgid "global table" msgstr "全局表" -#: ipam/models/ip.py:326 +#: netbox/ipam/models/ip.py:326 #, python-brace-format msgid "Duplicate prefix found in {table}: {prefix}" -msgstr "在中找到重复的前缀 {table}: {prefix}" +msgstr "在{table}中发现重复的前缀: {prefix}" -#: ipam/models/ip.py:495 +#: netbox/ipam/models/ip.py:495 msgid "start address" msgstr "起始地址" -#: ipam/models/ip.py:496 ipam/models/ip.py:500 ipam/models/ip.py:712 +#: netbox/ipam/models/ip.py:496 netbox/ipam/models/ip.py:500 +#: netbox/ipam/models/ip.py:712 msgid "IPv4 or IPv6 address (with mask)" msgstr "IPv4 或 IPv6 地址(带掩码)" -#: ipam/models/ip.py:499 +#: netbox/ipam/models/ip.py:499 msgid "end address" msgstr "结束地址" -#: ipam/models/ip.py:526 +#: netbox/ipam/models/ip.py:526 msgid "Operational status of this range" -msgstr "该范围的运行状态" +msgstr "此IP范围的操作状态" -#: ipam/models/ip.py:534 +#: netbox/ipam/models/ip.py:534 msgid "The primary function of this range" -msgstr "这个范围的主要函数" +msgstr "此IP范围的主要功能" -#: ipam/models/ip.py:548 +#: netbox/ipam/models/ip.py:548 msgid "IP range" -msgstr "IP 范围" +msgstr "IP范围" -#: ipam/models/ip.py:549 +#: netbox/ipam/models/ip.py:549 msgid "IP ranges" -msgstr "IP 范围" +msgstr "IP范围" -#: ipam/models/ip.py:565 +#: netbox/ipam/models/ip.py:565 msgid "Starting and ending IP address versions must match" -msgstr "起始和结束 IP 地址版本必须匹配" +msgstr "起始和结束IP地址的版本必须一致" -#: ipam/models/ip.py:571 +#: netbox/ipam/models/ip.py:571 msgid "Starting and ending IP address masks must match" -msgstr "起始和结束 IP 地址掩码必须匹配" +msgstr "起始和结束IP地址的掩码必须一致" -#: ipam/models/ip.py:578 +#: netbox/ipam/models/ip.py:578 #, python-brace-format msgid "" "Ending address must be greater than the starting address ({start_address})" msgstr "结束地址必须大于起始地址 ({start_address})" -#: ipam/models/ip.py:590 +#: netbox/ipam/models/ip.py:590 #, python-brace-format msgid "Defined addresses overlap with range {overlapping_range} in VRF {vrf}" -msgstr "定义的地址与范围重叠 {overlapping_range} 在 VRF 中 {vrf}" +msgstr "定义的地址与 VRF {vrf} 中的范围 {overlapping_range} 重叠" -#: ipam/models/ip.py:599 +#: netbox/ipam/models/ip.py:599 #, python-brace-format msgid "Defined range exceeds maximum supported size ({max_size})" msgstr "定义的范围超过了支持的最大大小 ({max_size})" -#: ipam/models/ip.py:711 tenancy/models/contacts.py:82 +#: netbox/ipam/models/ip.py:711 netbox/tenancy/models/contacts.py:82 msgid "address" msgstr "地址" -#: ipam/models/ip.py:734 +#: netbox/ipam/models/ip.py:734 msgid "The operational status of this IP" -msgstr "此 IP 的运行状态" +msgstr "此IP的运行状态" -#: ipam/models/ip.py:741 +#: netbox/ipam/models/ip.py:741 msgid "The functional role of this IP" -msgstr "这个 IP 的功能作用" +msgstr "此IP的功能作用" -#: ipam/models/ip.py:765 templates/ipam/ipaddress.html:72 +#: netbox/ipam/models/ip.py:765 netbox/templates/ipam/ipaddress.html:72 msgid "NAT (inside)" -msgstr "NAT(内部)" +msgstr "NAT(内部IP)" -#: ipam/models/ip.py:766 +#: netbox/ipam/models/ip.py:766 msgid "The IP for which this address is the \"outside\" IP" -msgstr "此地址作为 “外部” IP 的 IP" +msgstr "此IP地址为外部IP" -#: ipam/models/ip.py:773 +#: netbox/ipam/models/ip.py:773 msgid "Hostname or FQDN (not case-sensitive)" msgstr "主机名或 FQDN(不区分大小写)" -#: ipam/models/ip.py:789 ipam/models/services.py:93 +#: netbox/ipam/models/ip.py:789 netbox/ipam/models/services.py:94 msgid "IP addresses" -msgstr "IP 地址" +msgstr "IP地址" -#: ipam/models/ip.py:845 +#: netbox/ipam/models/ip.py:845 msgid "Cannot create IP address with /0 mask." -msgstr "无法使用 /0 掩码创建 IP 地址。" +msgstr "无法创建/0掩码的IP地址。" -#: ipam/models/ip.py:851 +#: netbox/ipam/models/ip.py:851 #, python-brace-format msgid "{ip} is a network ID, which may not be assigned to an interface." -msgstr "{ip} 是网络 ID,不能分配给接口。" +msgstr "{ip}是一个网络号,不能分配给接口。" -#: ipam/models/ip.py:862 +#: netbox/ipam/models/ip.py:862 #, python-brace-format msgid "" "{ip} is a broadcast address, which may not be assigned to an interface." -msgstr "{ip} 是一个广播地址,不能分配给接口。" +msgstr "{ip}是一个广播地址,不能分配给接口。" -#: ipam/models/ip.py:876 +#: netbox/ipam/models/ip.py:876 #, python-brace-format msgid "Duplicate IP address found in {table}: {ipaddress}" -msgstr "在中找到重复的 IP 地址 {table}: {ipaddress}" +msgstr "在 {table}中发现重复的IP地址: {ipaddress}" -#: ipam/models/ip.py:903 +#: netbox/ipam/models/ip.py:903 msgid "Only IPv6 addresses can be assigned SLAAC status" -msgstr "只能为 IPv6 地址分配 SLAAC 状态" +msgstr "只能为IPv6地址分配SLAAC状态" -#: ipam/models/services.py:32 +#: netbox/ipam/models/services.py:33 msgid "port numbers" msgstr "端口号" -#: ipam/models/services.py:58 +#: netbox/ipam/models/services.py:59 msgid "service template" -msgstr "服务模板" +msgstr "服务模版" -#: ipam/models/services.py:59 +#: netbox/ipam/models/services.py:60 msgid "service templates" msgstr "服务模板" -#: ipam/models/services.py:94 +#: netbox/ipam/models/services.py:95 msgid "The specific IP addresses (if any) to which this service is bound" -msgstr "此服务绑定到的特定 IP 地址(如果有)" +msgstr "此服务绑定到的特定IP地址(如果有)" -#: ipam/models/services.py:101 +#: netbox/ipam/models/services.py:102 msgid "service" msgstr "服务" -#: ipam/models/services.py:102 +#: netbox/ipam/models/services.py:103 msgid "services" msgstr "服务" -#: ipam/models/services.py:116 +#: netbox/ipam/models/services.py:117 msgid "" "A service cannot be associated with both a device and a virtual machine." msgstr "服务不能同时与设备和虚拟机相关联。" -#: ipam/models/services.py:118 +#: netbox/ipam/models/services.py:119 msgid "" "A service must be associated with either a device or a virtual machine." msgstr "服务必须与设备或虚拟机相关联。" -#: ipam/models/vlans.py:49 +#: netbox/ipam/models/vlans.py:49 msgid "minimum VLAN ID" -msgstr "最低 VLAN ID" +msgstr "最小的VLAN ID" -#: ipam/models/vlans.py:55 +#: netbox/ipam/models/vlans.py:55 msgid "Lowest permissible ID of a child VLAN" -msgstr "子 VLAN 的最低允许 ID" +msgstr "子VLAN的最小ID" -#: ipam/models/vlans.py:58 +#: netbox/ipam/models/vlans.py:58 msgid "maximum VLAN ID" -msgstr "最大 VLAN ID" +msgstr "最大VLAN ID" -#: ipam/models/vlans.py:64 +#: netbox/ipam/models/vlans.py:64 msgid "Highest permissible ID of a child VLAN" -msgstr "子 VLAN 的最大允许 ID" +msgstr "子VLAN的最大ID" -#: ipam/models/vlans.py:85 +#: netbox/ipam/models/vlans.py:85 msgid "VLAN groups" -msgstr "VLAN 群组" +msgstr "VLAN组" -#: ipam/models/vlans.py:95 +#: netbox/ipam/models/vlans.py:95 msgid "Cannot set scope_type without scope_id." -msgstr "没有 scope_id 就无法设置 scope_type。" +msgstr "没有作用域id,无法设置作用域。" -#: ipam/models/vlans.py:97 +#: netbox/ipam/models/vlans.py:97 msgid "Cannot set scope_id without scope_type." -msgstr "没有 scope_type 就无法设置 scope_id。" +msgstr "没有作用域类型,无法设置作用域。" -#: ipam/models/vlans.py:102 +#: netbox/ipam/models/vlans.py:102 msgid "Maximum child VID must be greater than or equal to minimum child VID" -msgstr "儿童 VID 的最大值必须大于或等于子项 VID 的最小值" +msgstr "最大子VLAN ID必须大于或等于最小子VLAN ID" -#: ipam/models/vlans.py:145 +#: netbox/ipam/models/vlans.py:145 msgid "The specific site to which this VLAN is assigned (if any)" -msgstr "此 VLAN 分配到的特定站点(如果有)" +msgstr "此VLAN所属的站点(如果有)" -#: ipam/models/vlans.py:153 +#: netbox/ipam/models/vlans.py:153 msgid "VLAN group (optional)" -msgstr "VLAN 组(可选)" +msgstr "VLAN组(可选)" -#: ipam/models/vlans.py:161 +#: netbox/ipam/models/vlans.py:161 msgid "Numeric VLAN ID (1-4094)" -msgstr "数字 VLAN ID (1-4094)" +msgstr "VLAN ID(1-4094)" -#: ipam/models/vlans.py:179 +#: netbox/ipam/models/vlans.py:179 msgid "Operational status of this VLAN" -msgstr "此 VLAN 的运行状态" +msgstr "此VLAN的操作状态" -#: ipam/models/vlans.py:187 +#: netbox/ipam/models/vlans.py:187 msgid "The primary function of this VLAN" -msgstr "此 VLAN 的主要功能" +msgstr "此VLAN的主要功能" -#: ipam/models/vlans.py:215 ipam/tables/ip.py:175 ipam/tables/vlans.py:78 -#: ipam/views.py:978 netbox/navigation/menu.py:180 -#: netbox/navigation/menu.py:182 +#: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175 +#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971 +#: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182 msgid "VLANs" -msgstr "VLAN" +msgstr "VLANs" -#: ipam/models/vlans.py:230 +#: netbox/ipam/models/vlans.py:230 #, python-brace-format msgid "" "VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " "site {site}." -msgstr "VLAN 已分配给群组 {group} (范围: {scope}); 也无法分配给站点 {site}。" +msgstr "VLAN 已分配给组 {group}(作用域:{scope}); 不能再分配给站点:{site}。" -#: ipam/models/vlans.py:238 +#: netbox/ipam/models/vlans.py:238 #, python-brace-format msgid "VID must be between {minimum} and {maximum} for VLANs in group {group}" -msgstr "VID 必须介于 {minimum} 和 {maximum} 对于组中的 VLAN {group}" +msgstr "" +"VID must be between {minimum} and {maximum} for VLANs in group {group}" -#: ipam/models/vrfs.py:30 +#: netbox/ipam/models/vrfs.py:30 msgid "route distinguisher" -msgstr "路线区分器" +msgstr "路由实例" -#: ipam/models/vrfs.py:31 +#: netbox/ipam/models/vrfs.py:31 msgid "Unique route distinguisher (as defined in RFC 4364)" -msgstr "唯一的路由区分器(如 RFC 4364 中所定义)" +msgstr "唯一的路由区分符(如 RFC 4364 中定义)" -#: ipam/models/vrfs.py:42 +#: netbox/ipam/models/vrfs.py:42 msgid "enforce unique space" -msgstr "强制使用独特的空间" +msgstr "强制使用唯一空间" -#: ipam/models/vrfs.py:43 +#: netbox/ipam/models/vrfs.py:43 msgid "Prevent duplicate prefixes/IP addresses within this VRF" -msgstr "防止此 VRF 中出现重复的前缀/IP 地址" +msgstr "防止此 VRF 内出现重复的前缀/IP 地址" -#: ipam/models/vrfs.py:63 netbox/navigation/menu.py:173 -#: netbox/navigation/menu.py:175 +#: netbox/ipam/models/vrfs.py:63 netbox/netbox/navigation/menu.py:173 +#: netbox/netbox/navigation/menu.py:175 msgid "VRFs" -msgstr "VRF" +msgstr "VRFs" -#: ipam/models/vrfs.py:82 +#: netbox/ipam/models/vrfs.py:82 msgid "Route target value (formatted in accordance with RFC 4360)" -msgstr "路径目标值(按照 RFC 4360 进行格式化)" +msgstr "RT值(按照 RFC 4360 格式)" -#: ipam/models/vrfs.py:94 +#: netbox/ipam/models/vrfs.py:94 msgid "route target" -msgstr "路线目标" +msgstr "route target" -#: ipam/models/vrfs.py:95 +#: netbox/ipam/models/vrfs.py:95 msgid "route targets" -msgstr "路线目标" +msgstr "route targets" -#: ipam/tables/asn.py:52 +#: netbox/ipam/tables/asn.py:52 msgid "ASDOT" msgstr "ASDOT" -#: ipam/tables/asn.py:57 +#: netbox/ipam/tables/asn.py:57 msgid "Site Count" -msgstr "站点数量" +msgstr "站点统计" -#: ipam/tables/asn.py:62 +#: netbox/ipam/tables/asn.py:62 msgid "Provider Count" -msgstr "提供商数量" +msgstr "运营商统计" -#: ipam/tables/ip.py:94 netbox/navigation/menu.py:166 -#: netbox/navigation/menu.py:168 +#: netbox/ipam/tables/ip.py:94 netbox/netbox/navigation/menu.py:166 +#: netbox/netbox/navigation/menu.py:168 msgid "Aggregates" -msgstr "聚合" +msgstr "Aggregates" -#: ipam/tables/ip.py:124 +#: netbox/ipam/tables/ip.py:124 msgid "Added" msgstr "已添加" -#: ipam/tables/ip.py:127 ipam/tables/ip.py:165 ipam/tables/vlans.py:138 -#: ipam/views.py:349 netbox/navigation/menu.py:152 -#: netbox/navigation/menu.py:154 templates/ipam/vlan.html:84 +#: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165 +#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346 +#: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154 +#: netbox/templates/ipam/vlan.html:84 msgid "Prefixes" msgstr "前缀" -#: ipam/tables/ip.py:130 ipam/tables/ip.py:267 ipam/tables/ip.py:320 -#: ipam/tables/vlans.py:82 templates/dcim/device.html:252 -#: templates/ipam/aggregate.html:24 templates/ipam/iprange.html:29 -#: templates/ipam/prefix.html:106 +#: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267 +#: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82 +#: netbox/templates/dcim/device.html:260 +#: netbox/templates/ipam/aggregate.html:24 +#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106 msgid "Utilization" msgstr "利用率" -#: ipam/tables/ip.py:170 netbox/navigation/menu.py:148 +#: netbox/ipam/tables/ip.py:170 netbox/netbox/navigation/menu.py:148 msgid "IP Ranges" -msgstr "IP 范围" +msgstr "IP范围" -#: ipam/tables/ip.py:220 +#: netbox/ipam/tables/ip.py:220 msgid "Prefix (Flat)" -msgstr "前缀(平面)" +msgstr "前缀(标记)" -#: ipam/tables/ip.py:224 +#: netbox/ipam/tables/ip.py:224 msgid "Depth" msgstr "深度" -#: ipam/tables/ip.py:261 +#: netbox/ipam/tables/ip.py:261 msgid "Pool" -msgstr "泳池" +msgstr "地址池" -#: ipam/tables/ip.py:264 ipam/tables/ip.py:317 +#: netbox/ipam/tables/ip.py:264 netbox/ipam/tables/ip.py:317 msgid "Marked Utilized" -msgstr "已标记为已使用" +msgstr "标记为已使用" -#: ipam/tables/ip.py:301 +#: netbox/ipam/tables/ip.py:301 msgid "Start address" msgstr "起始地址" -#: ipam/tables/ip.py:379 +#: netbox/ipam/tables/ip.py:379 msgid "NAT (Inside)" -msgstr "NAT(内部)" +msgstr "NAT (内部地址)" -#: ipam/tables/ip.py:384 +#: netbox/ipam/tables/ip.py:384 msgid "NAT (Outside)" -msgstr "NAT(外部)" +msgstr "NAT (外部地址)" -#: ipam/tables/ip.py:389 +#: netbox/ipam/tables/ip.py:389 msgid "Assigned" -msgstr "已分配" +msgstr "分配" -#: ipam/tables/ip.py:424 templates/vpn/l2vpntermination.html:16 -#: vpn/forms/filtersets.py:240 +#: netbox/ipam/tables/ip.py:424 netbox/templates/vpn/l2vpntermination.html:16 +#: netbox/vpn/forms/filtersets.py:240 msgid "Assigned Object" -msgstr "分配的对象" +msgstr "指定对象" -#: ipam/tables/vlans.py:68 +#: netbox/ipam/tables/vlans.py:68 msgid "Scope Type" -msgstr "范围类型" +msgstr "作用域类型" -#: ipam/tables/vlans.py:107 ipam/tables/vlans.py:210 -#: templates/dcim/inc/interface_vlans_table.html:4 +#: netbox/ipam/tables/vlans.py:107 netbox/ipam/tables/vlans.py:210 +#: netbox/templates/dcim/inc/interface_vlans_table.html:4 msgid "VID" -msgstr "视频" +msgstr "VLAN号" -#: ipam/tables/vrfs.py:30 +#: netbox/ipam/tables/vrfs.py:30 msgid "RD" msgstr "RD" -#: ipam/tables/vrfs.py:33 +#: netbox/ipam/tables/vrfs.py:33 msgid "Unique" -msgstr "独特" +msgstr "唯一的" -#: ipam/tables/vrfs.py:36 vpn/tables/l2vpn.py:27 +#: netbox/ipam/tables/vrfs.py:36 netbox/vpn/tables/l2vpn.py:27 msgid "Import Targets" -msgstr "导入目标" +msgstr "引入targets" -#: ipam/tables/vrfs.py:41 vpn/tables/l2vpn.py:32 +#: netbox/ipam/tables/vrfs.py:41 netbox/vpn/tables/l2vpn.py:32 msgid "Export Targets" -msgstr "出口目标" +msgstr "输出targets" -#: ipam/validators.py:9 +#: netbox/ipam/validators.py:9 #, python-brace-format msgid "{prefix} is not a valid prefix. Did you mean {suggested}?" -msgstr "{prefix} 不是有效的前缀。你的意思是 {suggested}?" +msgstr "{prefix} 不是有效的前缀。您是想 {suggested}?" -#: ipam/validators.py:16 +#: netbox/ipam/validators.py:16 #, python-format msgid "The prefix length must be less than or equal to %(limit_value)s." -msgstr "前缀长度必须小于或等于 %(limit_value)s。" +msgstr "前缀长度必须≤ %(limit_value)s." -#: ipam/validators.py:24 +#: netbox/ipam/validators.py:24 #, python-format msgid "The prefix length must be greater than or equal to %(limit_value)s." -msgstr "前缀长度必须大于或等于 %(limit_value)s。" +msgstr "前缀长度必须≥ %(limit_value)s." -#: ipam/validators.py:33 +#: netbox/ipam/validators.py:33 msgid "" "Only alphanumeric characters, asterisks, hyphens, periods, and underscores " "are allowed in DNS names" msgstr "DNS 名称中仅允许使用字母数字字符、星号、连字符、句点和下划线" -#: ipam/views.py:541 +#: netbox/ipam/views.py:533 msgid "Child Prefixes" -msgstr "子前缀" +msgstr "下级前缀" -#: ipam/views.py:576 +#: netbox/ipam/views.py:569 msgid "Child Ranges" -msgstr "儿童系列" +msgstr "子类地址访问" -#: ipam/views.py:902 +#: netbox/ipam/views.py:898 msgid "Related IPs" -msgstr "相关知识产权" +msgstr "关联IP" -#: ipam/views.py:1133 +#: netbox/ipam/views.py:1127 msgid "Device Interfaces" msgstr "设备接口" -#: ipam/views.py:1150 +#: netbox/ipam/views.py:1145 msgid "VM Interfaces" -msgstr "虚拟机接口" +msgstr "VM接口" -#: netbox/api/fields.py:63 +#: netbox/netbox/api/fields.py:63 msgid "This field may not be blank." -msgstr "此字段可能不为空。" +msgstr "此字段不能为空。" -#: netbox/api/fields.py:68 +#: netbox/netbox/api/fields.py:68 msgid "" "Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary " "or list." -msgstr "必须直接传递值(例如 “foo”: 123);不要使用字典或列表。" +msgstr "值必须直接传递(e.g. \"foo\": 123); 不要使用字典或列表。" -#: netbox/api/fields.py:89 +#: netbox/netbox/api/fields.py:89 #, python-brace-format msgid "{value} is not a valid choice." -msgstr "{value} 不是一个有效的选择。" +msgstr "{value}不是一个有效的选项。" -#: netbox/api/fields.py:102 +#: netbox/netbox/api/fields.py:102 #, python-brace-format msgid "Invalid content type: {content_type}" -msgstr "内容类型无效: {content_type}" +msgstr "无效的内容类型: {content_type}" -#: netbox/api/fields.py:103 +#: netbox/netbox/api/fields.py:103 msgid "Invalid value. Specify a content type as '.'." -msgstr "值无效。将内容类型指定为 ''。" +msgstr "无效的值。需要将内容类型指定为 '.'。" -#: netbox/authentication/__init__.py:138 +#: netbox/netbox/authentication/__init__.py:138 #, python-brace-format msgid "Invalid permission {permission} for model {model}" -msgstr "权限无效 {permission} 用于模型 {model}" +msgstr "模型{model}的权限{permission}无效" -#: netbox/choices.py:49 +#: netbox/netbox/choices.py:49 msgid "Dark Red" -msgstr "暗红色" +msgstr "深红" -#: netbox/choices.py:52 +#: netbox/netbox/choices.py:52 msgid "Rose" -msgstr "玫瑰" +msgstr "玫瑰色" -#: netbox/choices.py:53 +#: netbox/netbox/choices.py:53 msgid "Fuchsia" msgstr "紫红色" -#: netbox/choices.py:55 +#: netbox/netbox/choices.py:55 msgid "Dark Purple" msgstr "深紫色" -#: netbox/choices.py:58 +#: netbox/netbox/choices.py:58 msgid "Light Blue" msgstr "浅蓝色" -#: netbox/choices.py:61 +#: netbox/netbox/choices.py:61 msgid "Aqua" -msgstr "Aqua" +msgstr "水色" -#: netbox/choices.py:62 +#: netbox/netbox/choices.py:62 msgid "Dark Green" msgstr "深绿色" -#: netbox/choices.py:64 +#: netbox/netbox/choices.py:64 msgid "Light Green" msgstr "浅绿色" -#: netbox/choices.py:65 +#: netbox/netbox/choices.py:65 msgid "Lime" -msgstr "酸橙" +msgstr "柠檬色" -#: netbox/choices.py:67 +#: netbox/netbox/choices.py:67 msgid "Amber" -msgstr "琥珀" +msgstr "琥珀色" -#: netbox/choices.py:69 +#: netbox/netbox/choices.py:69 msgid "Dark Orange" msgstr "深橙色" -#: netbox/choices.py:70 +#: netbox/netbox/choices.py:70 msgid "Brown" msgstr "棕色" -#: netbox/choices.py:71 +#: netbox/netbox/choices.py:71 msgid "Light Grey" msgstr "浅灰色" -#: netbox/choices.py:72 +#: netbox/netbox/choices.py:72 msgid "Grey" msgstr "灰色" -#: netbox/choices.py:73 +#: netbox/netbox/choices.py:73 msgid "Dark Grey" msgstr "深灰色" -#: netbox/choices.py:131 +#: netbox/netbox/choices.py:131 msgid "Direct" -msgstr "直接" +msgstr "直连" -#: netbox/choices.py:132 +#: netbox/netbox/choices.py:132 msgid "Upload" msgstr "上传" -#: netbox/choices.py:144 netbox/choices.py:158 +#: netbox/netbox/choices.py:144 netbox/netbox/choices.py:158 msgid "Auto-detect" msgstr "自动检测" -#: netbox/choices.py:159 +#: netbox/netbox/choices.py:159 msgid "Comma" msgstr "逗号" -#: netbox/choices.py:160 +#: netbox/netbox/choices.py:160 msgid "Semicolon" msgstr "分号" -#: netbox/choices.py:161 +#: netbox/netbox/choices.py:161 msgid "Tab" -msgstr "选项卡" +msgstr "Tab" -#: netbox/config/__init__.py:67 +#: netbox/netbox/config/__init__.py:67 #, python-brace-format msgid "Invalid configuration parameter: {item}" -msgstr "配置参数无效: {item}" +msgstr "无效的配置参数: {item}" -#: netbox/config/parameters.py:22 templates/core/inc/config_data.html:62 +#: netbox/netbox/config/parameters.py:22 +#: netbox/templates/core/inc/config_data.html:62 msgid "Login banner" -msgstr "登录横幅" +msgstr "登录提示" -#: netbox/config/parameters.py:24 +#: netbox/netbox/config/parameters.py:24 msgid "Additional content to display on the login page" -msgstr "登录页面上显示的其他内容" +msgstr "要在登录页面上显示的其他内容" -#: netbox/config/parameters.py:33 templates/core/inc/config_data.html:66 +#: netbox/netbox/config/parameters.py:33 +#: netbox/templates/core/inc/config_data.html:66 msgid "Maintenance banner" -msgstr "维护横幅" +msgstr "维护提示" -#: netbox/config/parameters.py:35 +#: netbox/netbox/config/parameters.py:35 msgid "Additional content to display when in maintenance mode" -msgstr "在维护模式下要显示的其他内容" +msgstr "要在维护页面上显示的其他内容" -#: netbox/config/parameters.py:44 templates/core/inc/config_data.html:70 +#: netbox/netbox/config/parameters.py:44 +#: netbox/templates/core/inc/config_data.html:70 msgid "Top banner" -msgstr "热门横幅" +msgstr "顶部提示" -#: netbox/config/parameters.py:46 +#: netbox/netbox/config/parameters.py:46 msgid "Additional content to display at the top of every page" -msgstr "在每页顶部显示的其他内容" +msgstr "要在顶部提示显示的其他内容" -#: netbox/config/parameters.py:55 templates/core/inc/config_data.html:74 +#: netbox/netbox/config/parameters.py:55 +#: netbox/templates/core/inc/config_data.html:74 msgid "Bottom banner" -msgstr "底部横幅" +msgstr "底部提示" -#: netbox/config/parameters.py:57 +#: netbox/netbox/config/parameters.py:57 msgid "Additional content to display at the bottom of every page" -msgstr "在每页底部显示其他内容" +msgstr "要在每页底部提示显示的其他内容" -#: netbox/config/parameters.py:68 +#: netbox/netbox/config/parameters.py:68 msgid "Globally unique IP space" -msgstr "全球独一无二的 IP 空间" +msgstr "全局IP地址空间" -#: netbox/config/parameters.py:70 +#: netbox/netbox/config/parameters.py:70 msgid "Enforce unique IP addressing within the global table" -msgstr "在全局表中强制使用唯一的 IP 地址" +msgstr "在全局表中强制执行唯一的 IP 寻址" -#: netbox/config/parameters.py:75 templates/core/inc/config_data.html:44 +#: netbox/netbox/config/parameters.py:75 +#: netbox/templates/core/inc/config_data.html:44 msgid "Prefer IPv4" -msgstr "首选 IPv4" +msgstr "首选IPv4" -#: netbox/config/parameters.py:77 +#: netbox/netbox/config/parameters.py:77 msgid "Prefer IPv4 addresses over IPv6" -msgstr "优先选择 IPv4 地址而不是 IPv6" +msgstr "IPv4地址优先于IPv6地址" -#: netbox/config/parameters.py:84 +#: netbox/netbox/config/parameters.py:84 msgid "Rack unit height" -msgstr "机架单元高度" +msgstr "机柜每U高度" -#: netbox/config/parameters.py:86 +#: netbox/netbox/config/parameters.py:86 msgid "Default unit height for rendered rack elevations" -msgstr "渲染机架高程的默认单位高度" +msgstr "渲染机架标高的默认单位高度" -#: netbox/config/parameters.py:91 +#: netbox/netbox/config/parameters.py:91 msgid "Rack unit width" -msgstr "机架单元宽度" +msgstr "机柜每U宽度" -#: netbox/config/parameters.py:93 +#: netbox/netbox/config/parameters.py:93 msgid "Default unit width for rendered rack elevations" -msgstr "渲染机架高程的默认单位宽度" +msgstr "渲染机架标高的默认单位宽度" -#: netbox/config/parameters.py:100 +#: netbox/netbox/config/parameters.py:100 msgid "Powerfeed voltage" msgstr "供电电压" -#: netbox/config/parameters.py:102 +#: netbox/netbox/config/parameters.py:102 msgid "Default voltage for powerfeeds" -msgstr "供电的默认电压" +msgstr "电源默认电压" -#: netbox/config/parameters.py:107 +#: netbox/netbox/config/parameters.py:107 msgid "Powerfeed amperage" -msgstr "电源电流安培数" +msgstr "供电电流" -#: netbox/config/parameters.py:109 +#: netbox/netbox/config/parameters.py:109 msgid "Default amperage for powerfeeds" -msgstr "供电的默认安培数" +msgstr "电源的默认电流" -#: netbox/config/parameters.py:114 +#: netbox/netbox/config/parameters.py:114 msgid "Powerfeed max utilization" -msgstr "Powerfeed 最大利用率" +msgstr "电源最大利用率" -#: netbox/config/parameters.py:116 +#: netbox/netbox/config/parameters.py:116 msgid "Default max utilization for powerfeeds" -msgstr "供电的默认最大利用率" +msgstr "默认的电源最大利用率" -#: netbox/config/parameters.py:123 templates/core/inc/config_data.html:53 +#: netbox/netbox/config/parameters.py:123 +#: netbox/templates/core/inc/config_data.html:53 msgid "Allowed URL schemes" -msgstr "允许的网址架构" +msgstr "允许的URL方案" -#: netbox/config/parameters.py:128 +#: netbox/netbox/config/parameters.py:128 msgid "Permitted schemes for URLs in user-provided content" -msgstr "允许在用户提供的内容中使用 URL 的方案" +msgstr "用户提供的内容中允许的URL方案" -#: netbox/config/parameters.py:136 +#: netbox/netbox/config/parameters.py:136 msgid "Default page size" msgstr "默认页面大小" -#: netbox/config/parameters.py:142 +#: netbox/netbox/config/parameters.py:142 msgid "Maximum page size" msgstr "最大页面大小" -#: netbox/config/parameters.py:150 templates/core/inc/config_data.html:96 +#: netbox/netbox/config/parameters.py:150 +#: netbox/templates/core/inc/config_data.html:96 msgid "Custom validators" msgstr "自定义验证器" -#: netbox/config/parameters.py:152 +#: netbox/netbox/config/parameters.py:152 msgid "Custom validation rules (JSON)" -msgstr "自定义验证规则 (JSON)" +msgstr "自定义验证规则(JSON)" -#: netbox/config/parameters.py:160 templates/core/inc/config_data.html:104 +#: netbox/netbox/config/parameters.py:160 +#: netbox/templates/core/inc/config_data.html:104 msgid "Protection rules" msgstr "保护规则" -#: netbox/config/parameters.py:162 +#: netbox/netbox/config/parameters.py:162 msgid "Deletion protection rules (JSON)" -msgstr "删除保护规则 (JSON)" +msgstr "删除动作的保护规则(JSON)" -#: netbox/config/parameters.py:172 templates/core/inc/config_data.html:117 +#: netbox/netbox/config/parameters.py:172 +#: netbox/templates/core/inc/config_data.html:117 msgid "Default preferences" msgstr "默认首选项" -#: netbox/config/parameters.py:174 +#: netbox/netbox/config/parameters.py:174 msgid "Default preferences for new users" -msgstr "新用户的默认首选项" +msgstr "新用户默认首选项" -#: netbox/config/parameters.py:181 templates/core/inc/config_data.html:129 +#: netbox/netbox/config/parameters.py:181 +#: netbox/templates/core/inc/config_data.html:129 msgid "Maintenance mode" msgstr "维护模式" -#: netbox/config/parameters.py:183 +#: netbox/netbox/config/parameters.py:183 msgid "Enable maintenance mode" -msgstr "启用维护模式" +msgstr "开启维护模式" -#: netbox/config/parameters.py:188 templates/core/inc/config_data.html:133 +#: netbox/netbox/config/parameters.py:188 +#: netbox/templates/core/inc/config_data.html:133 msgid "GraphQL enabled" -msgstr "启用 GraphQ" +msgstr "GraphQL已启用" -#: netbox/config/parameters.py:190 +#: netbox/netbox/config/parameters.py:190 msgid "Enable the GraphQL API" -msgstr "启用 GraphQL API" +msgstr "启用GraphQL API" -#: netbox/config/parameters.py:195 templates/core/inc/config_data.html:137 +#: netbox/netbox/config/parameters.py:195 +#: netbox/templates/core/inc/config_data.html:137 msgid "Changelog retention" -msgstr "更改日志保留" +msgstr "变更日志保留" -#: netbox/config/parameters.py:197 +#: netbox/netbox/config/parameters.py:197 msgid "Days to retain changelog history (set to zero for unlimited)" -msgstr "保留变更日志历史记录的天数(设置为零表示无限制)" +msgstr "变更日志的保留天数(0表示无限制)" -#: netbox/config/parameters.py:202 +#: netbox/netbox/config/parameters.py:202 msgid "Job result retention" -msgstr "保留工作结果" +msgstr "任务结果保留" -#: netbox/config/parameters.py:204 +#: netbox/netbox/config/parameters.py:204 msgid "Days to retain job result history (set to zero for unlimited)" -msgstr "保留任务结果历史记录的天数(设置为零表示无限制)" +msgstr "任务结果的保留天数(0表示无限制)" -#: netbox/config/parameters.py:209 templates/core/inc/config_data.html:145 +#: netbox/netbox/config/parameters.py:209 +#: netbox/templates/core/inc/config_data.html:145 msgid "Maps URL" -msgstr "地图网址" +msgstr "地图链接" -#: netbox/config/parameters.py:211 +#: netbox/netbox/config/parameters.py:211 msgid "Base URL for mapping geographic locations" -msgstr "用于绘制地理位置的基本 URL" +msgstr "用于映射地理位置的基本URL" -#: netbox/forms/__init__.py:12 +#: netbox/netbox/forms/__init__.py:12 msgid "Partial match" -msgstr "部分比赛" +msgstr "部分匹配" -#: netbox/forms/__init__.py:13 +#: netbox/netbox/forms/__init__.py:13 msgid "Exact match" -msgstr "精确匹配" +msgstr "完全匹配" -#: netbox/forms/__init__.py:14 +#: netbox/netbox/forms/__init__.py:14 msgid "Starts with" -msgstr "开头是" +msgstr "开始于" -#: netbox/forms/__init__.py:15 +#: netbox/netbox/forms/__init__.py:15 msgid "Ends with" -msgstr "结尾为" +msgstr "结束于" -#: netbox/forms/__init__.py:16 +#: netbox/netbox/forms/__init__.py:16 msgid "Regex" msgstr "正则表达式" -#: netbox/forms/__init__.py:34 +#: netbox/netbox/forms/__init__.py:34 msgid "Object type(s)" msgstr "对象类型" -#: netbox/forms/base.py:88 +#: netbox/netbox/forms/__init__.py:40 +msgid "Lookup" +msgstr "查找" + +#: netbox/netbox/forms/base.py:88 msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. " "\"tag1,tag2,tag3\")" -msgstr "用逗号分隔的标签 slug,用双引号括起来(例如 “tag1、tag2、tag3”)" +msgstr "用逗号分隔的标签段,用双引号括起来(例如\"tag1,tag2,tag3\")" -#: netbox/forms/base.py:118 +#: netbox/netbox/forms/base.py:118 msgid "Add tags" -msgstr "添加标签" +msgstr "增加标签" -#: netbox/forms/base.py:123 +#: netbox/netbox/forms/base.py:123 msgid "Remove tags" msgstr "移除标签" -#: netbox/forms/mixins.py:38 +#: netbox/netbox/forms/mixins.py:38 #, python-brace-format msgid "{class_name} must specify a model class." -msgstr "{class_name} 必须指定模型类。" +msgstr "{class_name}必须指定一个模型类。" -#: netbox/models/features.py:277 +#: netbox/netbox/models/features.py:277 #, python-brace-format msgid "Unknown field name '{name}' in custom field data." -msgstr "未知的字段名 '{name}'在自定义字段数据中。" +msgstr "自定义字段中的字段名称 '{name}' 未知。" -#: netbox/models/features.py:283 +#: netbox/netbox/models/features.py:283 #, python-brace-format msgid "Invalid value for custom field '{name}': {error}" -msgstr "自定义字段 '的值无效{name}': {error}" +msgstr "自定义字段'{name}'的值无效: {error}" -#: netbox/models/features.py:290 +#: netbox/netbox/models/features.py:290 #, python-brace-format msgid "Missing required custom field '{name}'." -msgstr "缺少必填的自定义字段 '{name}'。" +msgstr "缺少必需的自定义字段'{name}'." -#: netbox/models/features.py:441 +#: netbox/netbox/models/features.py:441 msgid "Remote data source" msgstr "远程数据源" -#: netbox/models/features.py:451 +#: netbox/netbox/models/features.py:451 msgid "data path" -msgstr "数据路径" +msgstr "文件路径" -#: netbox/models/features.py:455 +#: netbox/netbox/models/features.py:455 msgid "Path to remote file (relative to data source root)" -msgstr "远程文件路径(相对于数据源根目录)" +msgstr "数据源文件路径(相对路径)" -#: netbox/models/features.py:458 +#: netbox/netbox/models/features.py:458 msgid "auto sync enabled" -msgstr "已启用自动同步" +msgstr "使能自动同步" -#: netbox/models/features.py:460 +#: netbox/netbox/models/features.py:460 msgid "Enable automatic synchronization of data when the data file is updated" -msgstr "更新数据文件时启用数据的自动同步" +msgstr "数据文件更新时启用数据自动同步" -#: netbox/models/features.py:463 +#: netbox/netbox/models/features.py:463 msgid "date synced" -msgstr "日期已同步" +msgstr "数据已同步" -#: netbox/models/features.py:557 +#: netbox/netbox/models/features.py:557 #, python-brace-format msgid "{class_name} must implement a sync_data() method." -msgstr "{class_name} 必须实现 sync_data () 方法。" +msgstr "{class_name}必须包含sync_data()方法。" -#: netbox/navigation/menu.py:11 +#: netbox/netbox/navigation/menu.py:11 msgid "Organization" -msgstr "组织" +msgstr "组织机构" -#: netbox/navigation/menu.py:19 +#: netbox/netbox/navigation/menu.py:19 msgid "Site Groups" -msgstr "站点群组" +msgstr "站点组" -#: netbox/navigation/menu.py:27 +#: netbox/netbox/navigation/menu.py:27 msgid "Rack Roles" -msgstr "机架角色" +msgstr "机柜角色" -#: netbox/navigation/menu.py:31 +#: netbox/netbox/navigation/menu.py:31 msgid "Elevations" -msgstr "海拔" +msgstr "机柜立面图" -#: netbox/navigation/menu.py:40 +#: netbox/netbox/navigation/menu.py:40 msgid "Tenant Groups" -msgstr "租户群组" +msgstr "租户组" -#: netbox/navigation/menu.py:47 +#: netbox/netbox/navigation/menu.py:47 msgid "Contact Groups" -msgstr "联系人小组" +msgstr "联系组" -#: netbox/navigation/menu.py:48 templates/tenancy/contactrole.html:8 +#: netbox/netbox/navigation/menu.py:48 +#: netbox/templates/tenancy/contactrole.html:8 msgid "Contact Roles" -msgstr "联系人角色" +msgstr "联系角色" -#: netbox/navigation/menu.py:49 +#: netbox/netbox/navigation/menu.py:49 msgid "Contact Assignments" -msgstr "联系任务" +msgstr "联系分配" -#: netbox/navigation/menu.py:63 +#: netbox/netbox/navigation/menu.py:63 msgid "Modules" -msgstr "模块" +msgstr "设备板卡" -#: netbox/navigation/menu.py:67 templates/dcim/device.html:157 -#: templates/dcim/virtualdevicecontext.html:8 +#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160 +#: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" -msgstr "虚拟设备上下文" +msgstr "设备虚拟实例" -#: netbox/navigation/menu.py:75 +#: netbox/netbox/navigation/menu.py:75 msgid "Manufacturers" -msgstr "制造商" +msgstr "厂商" -#: netbox/navigation/menu.py:79 +#: netbox/netbox/navigation/menu.py:79 msgid "Device Components" -msgstr "设备组件" +msgstr "设备详情" -#: netbox/navigation/menu.py:91 templates/dcim/inventoryitemrole.html:8 +#: netbox/netbox/navigation/menu.py:91 +#: netbox/templates/dcim/inventoryitemrole.html:8 msgid "Inventory Item Roles" -msgstr "库存物品角色" +msgstr "库存物品分类" -#: netbox/navigation/menu.py:98 netbox/navigation/menu.py:102 +#: netbox/netbox/navigation/menu.py:98 netbox/netbox/navigation/menu.py:102 msgid "Connections" msgstr "连接" -#: netbox/navigation/menu.py:104 +#: netbox/netbox/navigation/menu.py:104 msgid "Cables" -msgstr "电缆" +msgstr "链路" -#: netbox/navigation/menu.py:105 +#: netbox/netbox/navigation/menu.py:105 msgid "Wireless Links" -msgstr "无线链接" +msgstr "无线连接" -#: netbox/navigation/menu.py:108 +#: netbox/netbox/navigation/menu.py:108 msgid "Interface Connections" msgstr "接口连接" -#: netbox/navigation/menu.py:113 +#: netbox/netbox/navigation/menu.py:113 msgid "Console Connections" -msgstr "控制台连接" +msgstr "Console 连接" -#: netbox/navigation/menu.py:118 +#: netbox/netbox/navigation/menu.py:118 msgid "Power Connections" msgstr "电源连接" -#: netbox/navigation/menu.py:134 +#: netbox/netbox/navigation/menu.py:134 msgid "Wireless LAN Groups" msgstr "无线局域网组" -#: netbox/navigation/menu.py:155 +#: netbox/netbox/navigation/menu.py:155 msgid "Prefix & VLAN Roles" -msgstr "前缀和 VLAN 角色" +msgstr "前缀和VLAN角色" -#: netbox/navigation/menu.py:161 +#: netbox/netbox/navigation/menu.py:161 msgid "ASN Ranges" msgstr "ASN 范围" -#: netbox/navigation/menu.py:183 +#: netbox/netbox/navigation/menu.py:183 msgid "VLAN Groups" -msgstr "VLAN 群组" +msgstr "VLAN组" -#: netbox/navigation/menu.py:190 +#: netbox/netbox/navigation/menu.py:190 msgid "Service Templates" -msgstr "服务模板" +msgstr "服务模版" -#: netbox/navigation/menu.py:191 templates/dcim/device.html:294 -#: templates/ipam/ipaddress.html:118 -#: templates/virtualization/virtualmachine.html:150 +#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302 +#: netbox/templates/ipam/ipaddress.html:118 +#: netbox/templates/virtualization/virtualmachine.html:150 msgid "Services" msgstr "服务" -#: netbox/navigation/menu.py:198 +#: netbox/netbox/navigation/menu.py:198 msgid "VPN" msgstr "VPN" -#: netbox/navigation/menu.py:202 netbox/navigation/menu.py:204 -#: vpn/tables/tunnels.py:24 +#: netbox/netbox/navigation/menu.py:202 netbox/netbox/navigation/menu.py:204 +#: netbox/vpn/tables/tunnels.py:24 msgid "Tunnels" msgstr "隧道" -#: netbox/navigation/menu.py:205 templates/vpn/tunnelgroup.html:8 +#: netbox/netbox/navigation/menu.py:205 +#: netbox/templates/vpn/tunnelgroup.html:8 msgid "Tunnel Groups" -msgstr "隧道群组" +msgstr "隧道组" -#: netbox/navigation/menu.py:206 +#: netbox/netbox/navigation/menu.py:206 msgid "Tunnel Terminations" -msgstr "隧道终止" +msgstr "隧道终端" -#: netbox/navigation/menu.py:210 netbox/navigation/menu.py:212 -#: vpn/models/l2vpn.py:64 +#: netbox/netbox/navigation/menu.py:210 netbox/netbox/navigation/menu.py:212 +#: netbox/vpn/models/l2vpn.py:64 msgid "L2VPNs" -msgstr "L2VPN" +msgstr "L2VPNs" -#: netbox/navigation/menu.py:213 templates/vpn/l2vpn.html:56 -#: templates/vpn/tunnel.html:72 vpn/tables/tunnels.py:58 +#: netbox/netbox/navigation/menu.py:213 netbox/templates/vpn/l2vpn.html:56 +#: netbox/templates/vpn/tunnel.html:72 netbox/vpn/tables/tunnels.py:58 msgid "Terminations" -msgstr "终止" +msgstr "终端" -#: netbox/navigation/menu.py:219 +#: netbox/netbox/navigation/menu.py:219 msgid "IKE Proposals" -msgstr "IKE 提案" +msgstr "IKE Proposals" -#: netbox/navigation/menu.py:220 templates/vpn/ikeproposal.html:41 +#: netbox/netbox/navigation/menu.py:220 +#: netbox/templates/vpn/ikeproposal.html:41 msgid "IKE Policies" -msgstr "IKE 政策" +msgstr "IKE策略" -#: netbox/navigation/menu.py:221 +#: netbox/netbox/navigation/menu.py:221 msgid "IPSec Proposals" -msgstr "IPsec 提案" +msgstr "IPSEC安全提议" -#: netbox/navigation/menu.py:222 templates/vpn/ipsecproposal.html:37 +#: netbox/netbox/navigation/menu.py:222 +#: netbox/templates/vpn/ipsecproposal.html:37 msgid "IPSec Policies" -msgstr "IPsec 策略" +msgstr "IPSec策略" -#: netbox/navigation/menu.py:223 templates/vpn/ikepolicy.html:38 -#: templates/vpn/ipsecpolicy.html:25 +#: netbox/netbox/navigation/menu.py:223 netbox/templates/vpn/ikepolicy.html:38 +#: netbox/templates/vpn/ipsecpolicy.html:25 msgid "IPSec Profiles" -msgstr "IPsec 配置文件" +msgstr "IPSec通道" -#: netbox/navigation/menu.py:230 templates/dcim/device_edit.html:78 +#: netbox/netbox/navigation/menu.py:230 +#: netbox/templates/dcim/device_edit.html:78 msgid "Virtualization" msgstr "虚拟化" -#: netbox/navigation/menu.py:238 -#: templates/virtualization/virtualmachine.html:170 -#: templates/virtualization/virtualmachine/base.html:32 -#: templates/virtualization/virtualmachine_list.html:21 -#: virtualization/tables/virtualmachines.py:103 virtualization/views.py:388 +#: netbox/netbox/navigation/menu.py:238 +#: netbox/templates/virtualization/virtualmachine.html:170 +#: netbox/templates/virtualization/virtualmachine/base.html:32 +#: netbox/templates/virtualization/virtualmachine_list.html:21 +#: netbox/virtualization/tables/virtualmachines.py:103 +#: netbox/virtualization/views.py:385 msgid "Virtual Disks" msgstr "虚拟磁盘" -#: netbox/navigation/menu.py:245 +#: netbox/netbox/navigation/menu.py:245 msgid "Cluster Types" msgstr "集群类型" -#: netbox/navigation/menu.py:246 +#: netbox/netbox/navigation/menu.py:246 msgid "Cluster Groups" msgstr "集群组" -#: netbox/navigation/menu.py:260 +#: netbox/netbox/navigation/menu.py:260 msgid "Circuit Types" -msgstr "电路类型" +msgstr "链路类型" -#: netbox/navigation/menu.py:261 +#: netbox/netbox/navigation/menu.py:261 msgid "Circuit Terminations" msgstr "电路终端" -#: netbox/navigation/menu.py:265 netbox/navigation/menu.py:267 +#: netbox/netbox/navigation/menu.py:265 netbox/netbox/navigation/menu.py:267 msgid "Providers" -msgstr "提供商" +msgstr "运营商" -#: netbox/navigation/menu.py:268 templates/circuits/provider.html:51 +#: netbox/netbox/navigation/menu.py:268 +#: netbox/templates/circuits/provider.html:51 msgid "Provider Accounts" -msgstr "提供商账户" +msgstr "运营商账户" -#: netbox/navigation/menu.py:269 +#: netbox/netbox/navigation/menu.py:269 msgid "Provider Networks" -msgstr "提供商网络" +msgstr "运营商网络" -#: netbox/navigation/menu.py:283 +#: netbox/netbox/navigation/menu.py:283 msgid "Power Panels" msgstr "电源面板" -#: netbox/navigation/menu.py:294 +#: netbox/netbox/navigation/menu.py:294 msgid "Configurations" msgstr "配置" -#: netbox/navigation/menu.py:296 +#: netbox/netbox/navigation/menu.py:296 msgid "Config Contexts" -msgstr "配置上下文" +msgstr "配置实例" -#: netbox/navigation/menu.py:297 +#: netbox/netbox/navigation/menu.py:297 msgid "Config Templates" msgstr "配置模板" -#: netbox/navigation/menu.py:304 netbox/navigation/menu.py:308 +#: netbox/netbox/navigation/menu.py:304 netbox/netbox/navigation/menu.py:308 msgid "Customization" -msgstr "定制" +msgstr "自定义" -#: netbox/navigation/menu.py:310 templates/dcim/device_edit.html:103 -#: templates/dcim/htmx/cable_edit.html:81 -#: templates/dcim/virtualchassis_add.html:31 -#: templates/dcim/virtualchassis_edit.html:40 -#: templates/generic/bulk_edit.html:76 templates/htmx/form.html:19 -#: templates/inc/filter_list.html:30 templates/inc/panels/custom_fields.html:7 -#: templates/ipam/ipaddress_bulk_add.html:35 templates/ipam/vlan_edit.html:63 +#: netbox/netbox/navigation/menu.py:310 +#: netbox/templates/dcim/device_edit.html:103 +#: netbox/templates/dcim/htmx/cable_edit.html:81 +#: netbox/templates/dcim/virtualchassis_add.html:31 +#: netbox/templates/dcim/virtualchassis_edit.html:40 +#: netbox/templates/generic/bulk_edit.html:76 +#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30 +#: netbox/templates/inc/panels/custom_fields.html:7 +#: netbox/templates/ipam/ipaddress_bulk_add.html:35 +#: netbox/templates/ipam/vlan_edit.html:59 msgid "Custom Fields" msgstr "自定义字段" -#: netbox/navigation/menu.py:311 +#: netbox/netbox/navigation/menu.py:311 msgid "Custom Field Choices" -msgstr "自定义字段选择" +msgstr "自定义字段选项" -#: netbox/navigation/menu.py:312 +#: netbox/netbox/navigation/menu.py:312 msgid "Custom Links" msgstr "自定义链接" -#: netbox/navigation/menu.py:313 +#: netbox/netbox/navigation/menu.py:313 msgid "Export Templates" msgstr "导出模板" -#: netbox/navigation/menu.py:314 +#: netbox/netbox/navigation/menu.py:314 msgid "Saved Filters" msgstr "已保存的过滤器" -#: netbox/navigation/menu.py:316 +#: netbox/netbox/navigation/menu.py:316 msgid "Image Attachments" -msgstr "图像附件" +msgstr "图片附件" -#: netbox/navigation/menu.py:334 +#: netbox/netbox/navigation/menu.py:334 msgid "Operations" -msgstr "运营" +msgstr "操作" -#: netbox/navigation/menu.py:338 +#: netbox/netbox/navigation/menu.py:338 msgid "Integrations" -msgstr "整合" +msgstr "系统集成" -#: netbox/navigation/menu.py:340 +#: netbox/netbox/navigation/menu.py:340 msgid "Data Sources" msgstr "数据源" -#: netbox/navigation/menu.py:341 +#: netbox/netbox/navigation/menu.py:341 msgid "Event Rules" -msgstr "赛事规则" +msgstr "事件规则" -#: netbox/navigation/menu.py:342 +#: netbox/netbox/navigation/menu.py:342 msgid "Webhooks" -msgstr "网络挂钩" +msgstr "Webhooks" -#: netbox/navigation/menu.py:346 netbox/navigation/menu.py:350 -#: netbox/views/generic/feature_views.py:151 -#: templates/extras/report/base.html:37 templates/extras/script/base.html:36 +#: netbox/netbox/navigation/menu.py:346 netbox/netbox/navigation/menu.py:350 +#: netbox/netbox/views/generic/feature_views.py:151 +#: netbox/templates/extras/report/base.html:37 +#: netbox/templates/extras/script/base.html:36 msgid "Jobs" -msgstr "职位" +msgstr "任务" -#: netbox/navigation/menu.py:356 +#: netbox/netbox/navigation/menu.py:356 msgid "Logging" -msgstr "记录" +msgstr "日志" -#: netbox/navigation/menu.py:358 +#: netbox/netbox/navigation/menu.py:358 msgid "Journal Entries" -msgstr "日记条目" +msgstr "日志条目" -#: netbox/navigation/menu.py:359 templates/extras/objectchange.html:8 -#: templates/extras/objectchange_list.html:4 +#: netbox/netbox/navigation/menu.py:359 +#: netbox/templates/extras/objectchange.html:9 +#: netbox/templates/extras/objectchange_list.html:4 msgid "Change Log" -msgstr "更改日志" +msgstr "修改日志" -#: netbox/navigation/menu.py:366 templates/inc/user_menu.html:11 +#: netbox/netbox/navigation/menu.py:366 netbox/templates/inc/user_menu.html:11 msgid "Admin" msgstr "管理员" -#: netbox/navigation/menu.py:374 templates/users/group.html:29 -#: users/forms/model_forms.py:233 users/forms/model_forms.py:245 -#: users/forms/model_forms.py:297 users/tables.py:102 +#: netbox/netbox/navigation/menu.py:374 netbox/templates/users/group.html:29 +#: netbox/users/forms/model_forms.py:233 netbox/users/forms/model_forms.py:245 +#: netbox/users/forms/model_forms.py:297 netbox/users/tables.py:102 msgid "Users" msgstr "用户" -#: netbox/navigation/menu.py:394 users/forms/model_forms.py:182 -#: users/forms/model_forms.py:194 users/forms/model_forms.py:302 -#: users/tables.py:35 users/tables.py:106 +#: netbox/netbox/navigation/menu.py:394 netbox/users/forms/model_forms.py:182 +#: netbox/users/forms/model_forms.py:194 netbox/users/forms/model_forms.py:302 +#: netbox/users/tables.py:35 netbox/users/tables.py:106 msgid "Groups" -msgstr "群组" +msgstr "组" -#: netbox/navigation/menu.py:414 templates/account/base.html:21 -#: templates/inc/user_menu.html:36 +#: netbox/netbox/navigation/menu.py:414 netbox/templates/account/base.html:21 +#: netbox/templates/inc/user_menu.html:36 msgid "API Tokens" -msgstr "API 代币" +msgstr "API Tokens" -#: netbox/navigation/menu.py:421 users/forms/model_forms.py:188 -#: users/forms/model_forms.py:196 users/forms/model_forms.py:239 -#: users/forms/model_forms.py:246 +#: netbox/netbox/navigation/menu.py:421 netbox/users/forms/model_forms.py:188 +#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:239 +#: netbox/users/forms/model_forms.py:246 msgid "Permissions" msgstr "权限" -#: netbox/navigation/menu.py:429 netbox/navigation/menu.py:433 -#: templates/core/system.html:7 +#: netbox/netbox/navigation/menu.py:429 netbox/netbox/navigation/menu.py:433 +#: netbox/templates/core/system.html:7 msgid "System" msgstr "系统" -#: netbox/navigation/menu.py:438 +#: netbox/netbox/navigation/menu.py:438 msgid "Configuration History" msgstr "配置历史记录" -#: netbox/navigation/menu.py:444 templates/core/rq_task.html:8 -#: templates/core/rq_task_list.html:22 +#: netbox/netbox/navigation/menu.py:444 netbox/templates/core/rq_task.html:8 +#: netbox/templates/core/rq_task_list.html:22 msgid "Background Tasks" msgstr "后台任务" -#: netbox/navigation/menu.py:483 templates/500.html:35 -#: templates/account/preferences.html:22 templates/core/system.html:80 +#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35 +#: netbox/templates/account/preferences.html:22 +#: netbox/templates/core/system.html:80 msgid "Plugins" msgstr "插件" -#: netbox/plugins/navigation.py:47 netbox/plugins/navigation.py:69 +#: netbox/netbox/plugins/navigation.py:47 +#: netbox/netbox/plugins/navigation.py:69 msgid "Permissions must be passed as a tuple or list." msgstr "权限必须以元组或列表的形式传递。" -#: netbox/plugins/navigation.py:51 +#: netbox/netbox/plugins/navigation.py:51 msgid "Buttons must be passed as a tuple or list." -msgstr "按钮必须以元组或列表的形式传递。" +msgstr "按钮必须作为元组或列表传递。" -#: netbox/plugins/navigation.py:73 +#: netbox/netbox/plugins/navigation.py:73 msgid "Button color must be a choice within ButtonColorChoices." -msgstr "按钮颜色必须是 buttonColorChoices 中的一个选项。" +msgstr "按钮颜色必须是颜色可选项中的一个。" -#: netbox/plugins/registration.py:25 +#: netbox/netbox/plugins/registration.py:25 #, python-brace-format msgid "" "PluginTemplateExtension class {template_extension} was passed as an " "instance!" -msgstr "PluginTemplate扩展类 {template_extension} 是作为实例传递的!" +msgstr "PluginTemplateExtension类{template_extension}已作为实例传递!" -#: netbox/plugins/registration.py:31 +#: netbox/netbox/plugins/registration.py:31 #, python-brace-format msgid "" "{template_extension} is not a subclass of " "netbox.plugins.PluginTemplateExtension!" -msgstr "{template_extension} 不是 netbox.plugins.plugintEmplateExtension 的子类!" +msgstr "{template_extension} 不是netbox.plugins.PluginTemplateExtension的子类。" -#: netbox/plugins/registration.py:37 +#: netbox/netbox/plugins/registration.py:37 #, python-brace-format msgid "" "PluginTemplateExtension class {template_extension} does not define a valid " "model!" -msgstr "PluginTemplate扩展类 {template_extension} 未定义有效的模型!" +msgstr "PluginTemplateExtension类{template_extension} 未定义有效的模型!" -#: netbox/plugins/registration.py:47 +#: netbox/netbox/plugins/registration.py:47 #, python-brace-format msgid "{item} must be an instance of netbox.plugins.PluginMenuItem" -msgstr "{item} 必须是 netbox.plugins.pluginMenuItem 的实例" +msgstr "{item} 必须是netbox.plugins.PluginMenuItem的实例。" -#: netbox/plugins/registration.py:60 +#: netbox/netbox/plugins/registration.py:60 #, python-brace-format msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem" -msgstr "{menu_link} 必须是 netbox.plugins.pluginMenuItem 的实例" +msgstr "{menu_link} 必须是netbox.plugins.PluginMenuItem的实例。" -#: netbox/plugins/registration.py:65 +#: netbox/netbox/plugins/registration.py:65 #, python-brace-format msgid "{button} must be an instance of netbox.plugins.PluginMenuButton" -msgstr "{button} 必须是 netbox.plugins.pluginMenuButton 的实例" +msgstr "{button}必须是netbox.plugins.PluginMenuButton的实例。" -#: netbox/plugins/templates.py:35 +#: netbox/netbox/plugins/templates.py:35 msgid "extra_context must be a dictionary" -msgstr "extra_context 必须是字典" +msgstr "附加实例必须是字典" -#: netbox/preferences.py:19 +#: netbox/netbox/preferences.py:19 msgid "HTMX Navigation" -msgstr "HTMX 导航" +msgstr "HTMX导航" -#: netbox/preferences.py:24 +#: netbox/netbox/preferences.py:24 msgid "Enable dynamic UI navigation" -msgstr "启用动态 UI 导航" +msgstr "启用动态UI导航" -#: netbox/preferences.py:26 +#: netbox/netbox/preferences.py:26 msgid "Experimental feature" msgstr "实验功能" -#: netbox/preferences.py:29 +#: netbox/netbox/preferences.py:29 msgid "Language" msgstr "语言" -#: netbox/preferences.py:34 +#: netbox/netbox/preferences.py:34 msgid "Forces UI translation to the specified language" msgstr "强制将用户界面翻译成指定语言" -#: netbox/preferences.py:36 +#: netbox/netbox/preferences.py:36 msgid "Support for translation has been disabled locally" msgstr "对翻译的支持已在本地禁用" -#: netbox/preferences.py:42 +#: netbox/netbox/preferences.py:42 msgid "Page length" msgstr "页面长度" -#: netbox/preferences.py:44 +#: netbox/netbox/preferences.py:44 msgid "The default number of objects to display per page" -msgstr "每页显示的默认对象数" +msgstr "每页默认显示的对象数" -#: netbox/preferences.py:48 +#: netbox/netbox/preferences.py:48 msgid "Paginator placement" -msgstr "分页器放置" +msgstr "分页器位置" -#: netbox/preferences.py:50 +#: netbox/netbox/preferences.py:50 msgid "Bottom" msgstr "底部" -#: netbox/preferences.py:51 +#: netbox/netbox/preferences.py:51 msgid "Top" msgstr "顶部" -#: netbox/preferences.py:52 +#: netbox/netbox/preferences.py:52 msgid "Both" -msgstr "两者都" +msgstr "两者皆有" -#: netbox/preferences.py:55 +#: netbox/netbox/preferences.py:55 msgid "Where the paginator controls will be displayed relative to a table" msgstr "分页器控件相对于表格的显示位置" -#: netbox/preferences.py:60 +#: netbox/netbox/preferences.py:60 msgid "Data format" msgstr "数据格式" -#: netbox/preferences.py:65 +#: netbox/netbox/preferences.py:65 msgid "The preferred syntax for displaying generic data within the UI" -msgstr "在 UI 中显示通用数据的首选语法" +msgstr "在UI中显示通用数据的首选语法" -#: netbox/registry.py:14 +#: netbox/netbox/registry.py:14 #, python-brace-format msgid "Invalid store: {key}" -msgstr "商店无效: {key}" +msgstr "无效商店: {key}" -#: netbox/registry.py:17 +#: netbox/netbox/registry.py:17 msgid "Cannot add stores to registry after initialization" -msgstr "初始化后无法将存储添加到注册表" +msgstr "初始化后无法在注册表中添加存储空间" -#: netbox/registry.py:20 +#: netbox/netbox/registry.py:20 msgid "Cannot delete stores from registry" msgstr "无法从注册表中删除存储" -#: netbox/settings.py:722 +#: netbox/netbox/settings.py:741 msgid "German" msgstr "德语" -#: netbox/settings.py:723 +#: netbox/netbox/settings.py:742 msgid "English" msgstr "英语" -#: netbox/settings.py:724 +#: netbox/netbox/settings.py:743 msgid "Spanish" -msgstr "西班牙的" +msgstr "西班牙语" -#: netbox/settings.py:725 +#: netbox/netbox/settings.py:744 msgid "French" msgstr "法语" -#: netbox/settings.py:726 +#: netbox/netbox/settings.py:745 msgid "Japanese" -msgstr "日本人" +msgstr "日语" -#: netbox/settings.py:727 +#: netbox/netbox/settings.py:746 msgid "Portuguese" msgstr "葡萄牙语" -#: netbox/settings.py:728 +#: netbox/netbox/settings.py:747 msgid "Russian" -msgstr "俄国人" +msgstr "俄语" -#: netbox/settings.py:729 +#: netbox/netbox/settings.py:748 msgid "Turkish" -msgstr "土耳其人" +msgstr "土耳其语" -#: netbox/settings.py:730 +#: netbox/netbox/settings.py:749 msgid "Ukrainian" -msgstr "乌克兰人" +msgstr "乌克兰语" -#: netbox/settings.py:731 +#: netbox/netbox/settings.py:750 msgid "Chinese" -msgstr "中国人" +msgstr "中文" -#: netbox/tables/columns.py:185 +#: netbox/netbox/tables/columns.py:188 msgid "Toggle all" msgstr "全部切换" -#: netbox/tables/columns.py:287 +#: netbox/netbox/tables/columns.py:290 msgid "Toggle Dropdown" -msgstr "切换下拉列表" +msgstr "切换下拉菜单" -#: netbox/tables/columns.py:552 templates/core/job.html:35 +#: netbox/netbox/tables/columns.py:555 netbox/templates/core/job.html:35 msgid "Error" msgstr "错误" -#: netbox/tables/tables.py:57 +#: netbox/netbox/tables/tables.py:57 #, python-brace-format msgid "No {model_name} found" msgstr "没有 {model_name} 找到" -#: netbox/tables/tables.py:248 templates/generic/bulk_import.html:117 +#: netbox/netbox/tables/tables.py:248 +#: netbox/templates/generic/bulk_import.html:117 msgid "Field" -msgstr "字段" +msgstr "现场" -#: netbox/tables/tables.py:251 +#: netbox/netbox/tables/tables.py:251 msgid "Value" -msgstr "价值" +msgstr "数值" -#: netbox/tests/dummy_plugin/navigation.py:29 +#: netbox/netbox/tests/dummy_plugin/navigation.py:29 msgid "Dummy Plugin" msgstr "虚拟插件" -#: netbox/views/generic/bulk_views.py:405 +#: netbox/netbox/views/generic/bulk_views.py:405 #, python-brace-format msgid "Row {i}: Object with ID {id} does not exist" -msgstr "行 {i}: 带有 ID 的对象 {id} 不存在" +msgstr "第{i}行: ID为{id}的对象不存在" -#: netbox/views/generic/feature_views.py:38 +#: netbox/netbox/views/generic/feature_views.py:38 msgid "Changelog" msgstr "变更日志" -#: netbox/views/generic/feature_views.py:91 +#: netbox/netbox/views/generic/feature_views.py:91 msgid "Journal" -msgstr "日记" +msgstr "日志" -#: netbox/views/generic/object_views.py:106 +#: netbox/netbox/views/generic/object_views.py:108 #, python-brace-format msgid "{class_name} must implement get_children()" -msgstr "{class_name} 必须实现 get_children ()" +msgstr "{class_name}必须实现get_children()方法" -#: netbox/views/misc.py:43 +#: netbox/netbox/views/misc.py:43 msgid "" "There was an error loading the dashboard configuration. A default dashboard " "is in use." -msgstr "加载仪表板配置时出错。正在使用默认仪表板。" +msgstr "加载仪表盘配置时出错。正在使用默认仪表盘。" -#: templates/403.html:4 +#: netbox/templates/403.html:4 msgid "Access Denied" -msgstr "访问被拒绝" +msgstr "拒绝访问" -#: templates/403.html:9 +#: netbox/templates/403.html:9 msgid "You do not have permission to access this page" -msgstr "您没有权限访问此页面" +msgstr "你没有权限访问该页面" -#: templates/404.html:4 +#: netbox/templates/404.html:4 msgid "Page Not Found" -msgstr "未找到页面" +msgstr "找不到页面" -#: templates/404.html:9 +#: netbox/templates/404.html:9 msgid "The requested page does not exist" msgstr "请求的页面不存在" -#: templates/500.html:7 templates/500.html:18 +#: netbox/templates/500.html:7 netbox/templates/500.html:18 msgid "Server Error" msgstr "服务器错误" -#: templates/500.html:23 +#: netbox/templates/500.html:23 msgid "There was a problem with your request. Please contact an administrator" -msgstr "您的请求有问题。请联系管理员" +msgstr "您的请求有问题。 请联系管理员" -#: templates/500.html:28 +#: netbox/templates/500.html:28 msgid "The complete exception is provided below" -msgstr "完整的例外情况如下所示" +msgstr "以下提供了完整的异常信息" -#: templates/500.html:33 templates/core/system.html:35 +#: netbox/templates/500.html:33 netbox/templates/core/system.html:35 msgid "Python version" msgstr "Python 版本" -#: templates/500.html:34 templates/core/system.html:31 +#: netbox/templates/500.html:34 netbox/templates/core/system.html:31 msgid "NetBox version" msgstr "NetBox 版本" -#: templates/500.html:36 +#: netbox/templates/500.html:36 msgid "None installed" -msgstr "未安装任何内容" +msgstr "未安装" -#: templates/500.html:39 +#: netbox/templates/500.html:39 msgid "If further assistance is required, please post to the" -msgstr "如果需要进一步的帮助,请发帖到" +msgstr "如果需要进一步帮助,请提交到" -#: templates/500.html:39 +#: netbox/templates/500.html:39 msgid "NetBox discussion forum" -msgstr "Netbox 讨论论坛" +msgstr "NetBox论坛" -#: templates/500.html:39 +#: netbox/templates/500.html:39 msgid "on GitHub" -msgstr "GitHub" +msgstr "在GitHub上" -#: templates/500.html:42 templates/base/40x.html:17 +#: netbox/templates/500.html:42 netbox/templates/base/40x.html:17 msgid "Home Page" -msgstr "主页页面" +msgstr "主页" -#: templates/account/base.html:7 templates/inc/user_menu.html:27 -#: vpn/forms/bulk_edit.py:255 vpn/forms/filtersets.py:189 -#: vpn/forms/model_forms.py:379 +#: netbox/templates/account/base.html:7 netbox/templates/inc/user_menu.html:27 +#: netbox/vpn/forms/bulk_edit.py:255 netbox/vpn/forms/filtersets.py:189 +#: netbox/vpn/forms/model_forms.py:379 msgid "Profile" -msgstr "概况" +msgstr "个人资料" -#: templates/account/base.html:13 templates/inc/user_menu.html:33 +#: netbox/templates/account/base.html:13 +#: netbox/templates/inc/user_menu.html:33 msgid "Preferences" msgstr "首选项" -#: templates/account/password.html:5 +#: netbox/templates/account/password.html:5 msgid "Change Password" -msgstr "更改密码" +msgstr "修改密码" -#: templates/account/password.html:17 templates/account/preferences.html:77 -#: templates/core/configrevision_restore.html:63 -#: templates/dcim/devicebay_populate.html:34 -#: templates/dcim/virtualchassis_add_member.html:26 -#: templates/dcim/virtualchassis_edit.html:103 -#: templates/extras/object_journal.html:26 templates/extras/script.html:38 -#: templates/generic/bulk_add_component.html:67 -#: templates/generic/bulk_delete.html:65 templates/generic/bulk_edit.html:106 -#: templates/generic/bulk_import.html:56 templates/generic/bulk_import.html:78 -#: templates/generic/bulk_import.html:100 -#: templates/generic/bulk_remove.html:62 templates/generic/bulk_rename.html:63 -#: templates/generic/confirmation_form.html:19 -#: templates/generic/object_edit.html:72 templates/htmx/delete_form.html:53 -#: templates/htmx/delete_form.html:55 templates/ipam/ipaddress_assign.html:28 -#: templates/virtualization/cluster_add_devices.html:30 +#: netbox/templates/account/password.html:17 +#: netbox/templates/account/preferences.html:77 +#: netbox/templates/core/configrevision_restore.html:63 +#: netbox/templates/dcim/devicebay_populate.html:34 +#: netbox/templates/dcim/virtualchassis_add_member.html:26 +#: netbox/templates/dcim/virtualchassis_edit.html:103 +#: netbox/templates/extras/object_journal.html:26 +#: netbox/templates/extras/script.html:38 +#: netbox/templates/generic/bulk_add_component.html:67 +#: netbox/templates/generic/bulk_delete.html:65 +#: netbox/templates/generic/bulk_edit.html:106 +#: netbox/templates/generic/bulk_import.html:56 +#: netbox/templates/generic/bulk_import.html:78 +#: netbox/templates/generic/bulk_import.html:100 +#: netbox/templates/generic/bulk_remove.html:62 +#: netbox/templates/generic/bulk_rename.html:63 +#: netbox/templates/generic/confirmation_form.html:19 +#: netbox/templates/generic/object_edit.html:72 +#: netbox/templates/htmx/delete_form.html:53 +#: netbox/templates/htmx/delete_form.html:55 +#: netbox/templates/ipam/ipaddress_assign.html:28 +#: netbox/templates/virtualization/cluster_add_devices.html:30 msgid "Cancel" msgstr "取消" -#: templates/account/password.html:18 templates/account/preferences.html:78 -#: templates/dcim/devicebay_populate.html:35 -#: templates/dcim/virtualchassis_add_member.html:28 -#: templates/dcim/virtualchassis_edit.html:105 -#: templates/extras/dashboard/widget_add.html:26 -#: templates/extras/dashboard/widget_config.html:19 -#: templates/extras/object_journal.html:27 -#: templates/generic/object_edit.html:75 -#: utilities/templates/helpers/applied_filters.html:16 -#: utilities/templates/helpers/table_config_form.html:40 +#: netbox/templates/account/password.html:18 +#: netbox/templates/account/preferences.html:78 +#: netbox/templates/dcim/devicebay_populate.html:35 +#: netbox/templates/dcim/virtualchassis_add_member.html:28 +#: netbox/templates/dcim/virtualchassis_edit.html:105 +#: netbox/templates/extras/dashboard/widget_add.html:26 +#: netbox/templates/extras/dashboard/widget_config.html:19 +#: netbox/templates/extras/object_journal.html:27 +#: netbox/templates/generic/object_edit.html:75 +#: netbox/utilities/templates/helpers/applied_filters.html:16 +#: netbox/utilities/templates/helpers/table_config_form.html:40 msgid "Save" msgstr "保存" -#: templates/account/preferences.html:34 +#: netbox/templates/account/preferences.html:34 msgid "Table Configurations" -msgstr "表格配置" +msgstr "配置查看列表" -#: templates/account/preferences.html:39 +#: netbox/templates/account/preferences.html:39 msgid "Clear table preferences" -msgstr "清除表格首选项" +msgstr "清理列表自定义选项" -#: templates/account/preferences.html:47 +#: netbox/templates/account/preferences.html:47 msgid "Toggle All" msgstr "全部切换" -#: templates/account/preferences.html:49 +#: netbox/templates/account/preferences.html:49 msgid "Table" -msgstr "桌子" +msgstr "列表" -#: templates/account/preferences.html:50 +#: netbox/templates/account/preferences.html:50 msgid "Ordering" -msgstr "订购" +msgstr "订阅" -#: templates/account/preferences.html:51 +#: netbox/templates/account/preferences.html:51 msgid "Columns" msgstr "专栏" -#: templates/account/preferences.html:71 templates/dcim/cable_trace.html:113 -#: templates/extras/object_configcontext.html:43 +#: netbox/templates/account/preferences.html:71 +#: netbox/templates/dcim/cable_trace.html:113 +#: netbox/templates/extras/object_configcontext.html:43 msgid "None found" -msgstr "未找到" +msgstr "未找到任何内容" -#: templates/account/profile.html:6 +#: netbox/templates/account/profile.html:6 msgid "User Profile" -msgstr "用户档案" +msgstr "用户个人资料" -#: templates/account/profile.html:12 +#: netbox/templates/account/profile.html:12 msgid "Account Details" msgstr "账户详情" -#: templates/account/profile.html:29 templates/tenancy/contact.html:43 -#: templates/users/user.html:25 tenancy/forms/bulk_edit.py:109 +#: netbox/templates/account/profile.html:29 +#: netbox/templates/tenancy/contact.html:43 +#: netbox/templates/users/user.html:25 netbox/tenancy/forms/bulk_edit.py:109 msgid "Email" -msgstr "电子邮件" +msgstr "电子邮箱" -#: templates/account/profile.html:33 templates/users/user.html:29 +#: netbox/templates/account/profile.html:33 +#: netbox/templates/users/user.html:29 msgid "Account Created" -msgstr "账户已创建" +msgstr "创建账号" -#: templates/account/profile.html:37 templates/users/user.html:33 +#: netbox/templates/account/profile.html:37 +#: netbox/templates/users/user.html:33 msgid "Last Login" -msgstr "上次登录" +msgstr "最后登录" -#: templates/account/profile.html:41 templates/users/user.html:45 +#: netbox/templates/account/profile.html:41 +#: netbox/templates/users/user.html:45 msgid "Superuser" -msgstr "超级用户" +msgstr "超级管理员用户" -#: templates/account/profile.html:45 templates/inc/user_menu.html:13 -#: templates/users/user.html:41 +#: netbox/templates/account/profile.html:45 +#: netbox/templates/inc/user_menu.html:13 netbox/templates/users/user.html:41 msgid "Staff" -msgstr "员工" +msgstr "工作人员" -#: templates/account/profile.html:53 templates/users/objectpermission.html:82 -#: templates/users/user.html:53 +#: netbox/templates/account/profile.html:53 +#: netbox/templates/users/objectpermission.html:82 +#: netbox/templates/users/user.html:53 msgid "Assigned Groups" -msgstr "分配的群组" +msgstr "指定用户组" -#: templates/account/profile.html:58 -#: templates/circuits/circuit_terminations_swap.html:18 -#: templates/circuits/circuit_terminations_swap.html:26 -#: templates/circuits/circuittermination.html:34 -#: templates/circuits/inc/circuit_termination.html:68 -#: templates/dcim/devicebay.html:59 -#: templates/dcim/inc/panels/inventory_items.html:45 -#: templates/dcim/interface.html:296 templates/dcim/modulebay.html:76 -#: templates/extras/configcontext.html:70 templates/extras/eventrule.html:72 -#: templates/extras/htmx/script_result.html:56 -#: templates/extras/objectchange.html:123 -#: templates/extras/objectchange.html:141 templates/extras/webhook.html:67 -#: templates/extras/webhook.html:79 templates/inc/panel_table.html:13 -#: templates/inc/panels/comments.html:12 -#: templates/ipam/inc/panels/fhrp_groups.html:56 templates/users/group.html:34 -#: templates/users/group.html:44 templates/users/objectpermission.html:77 -#: templates/users/objectpermission.html:87 templates/users/user.html:58 -#: templates/users/user.html:68 +#: netbox/templates/account/profile.html:58 +#: netbox/templates/circuits/circuit_terminations_swap.html:18 +#: netbox/templates/circuits/circuit_terminations_swap.html:26 +#: netbox/templates/circuits/circuittermination.html:34 +#: netbox/templates/circuits/inc/circuit_termination.html:68 +#: netbox/templates/dcim/devicebay.html:59 +#: netbox/templates/dcim/inc/panels/inventory_items.html:45 +#: netbox/templates/dcim/interface.html:296 +#: netbox/templates/dcim/modulebay.html:76 +#: netbox/templates/extras/configcontext.html:70 +#: netbox/templates/extras/eventrule.html:72 +#: netbox/templates/extras/htmx/script_result.html:56 +#: netbox/templates/extras/objectchange.html:124 +#: netbox/templates/extras/objectchange.html:142 +#: netbox/templates/extras/webhook.html:67 +#: netbox/templates/extras/webhook.html:79 +#: netbox/templates/inc/panel_table.html:13 +#: netbox/templates/inc/panels/comments.html:12 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:56 +#: netbox/templates/users/group.html:34 netbox/templates/users/group.html:44 +#: netbox/templates/users/objectpermission.html:77 +#: netbox/templates/users/objectpermission.html:87 +#: netbox/templates/users/user.html:58 netbox/templates/users/user.html:68 msgid "None" msgstr "无" -#: templates/account/profile.html:68 templates/users/user.html:78 +#: netbox/templates/account/profile.html:68 +#: netbox/templates/users/user.html:78 msgid "Recent Activity" -msgstr "最近的活动" +msgstr "近期活动" -#: templates/account/token.html:8 templates/account/token_list.html:6 +#: netbox/templates/account/token.html:8 +#: netbox/templates/account/token_list.html:6 msgid "My API Tokens" -msgstr "我的 API 代币" +msgstr "我的 API Tokens" -#: templates/account/token.html:11 templates/account/token.html:19 -#: templates/users/token.html:6 templates/users/token.html:14 -#: users/forms/filtersets.py:121 +#: netbox/templates/account/token.html:11 +#: netbox/templates/account/token.html:19 netbox/templates/users/token.html:6 +#: netbox/templates/users/token.html:14 netbox/users/forms/filtersets.py:121 msgid "Token" -msgstr "代币" +msgstr "Token" -#: templates/account/token.html:39 templates/users/token.html:31 -#: users/forms/bulk_edit.py:107 +#: netbox/templates/account/token.html:39 netbox/templates/users/token.html:31 +#: netbox/users/forms/bulk_edit.py:107 msgid "Write enabled" -msgstr "写入已启用" +msgstr "启用写入" -#: templates/account/token.html:51 templates/users/token.html:43 +#: netbox/templates/account/token.html:51 netbox/templates/users/token.html:43 msgid "Last used" -msgstr "上次使用" +msgstr "最后使用" -#: templates/account/token_list.html:12 +#: netbox/templates/account/token_list.html:12 msgid "Add a Token" -msgstr "添加代币" +msgstr "增加一个 Token" -#: templates/base/base.html:18 templates/home.html:27 +#: netbox/templates/base/base.html:18 netbox/templates/home.html:27 msgid "Home" msgstr "主页" -#: templates/base/layout.html:32 +#: netbox/templates/base/layout.html:32 msgid "NetBox Logo" -msgstr "NetBox 徽标" +msgstr "NetBox Logo" -#: templates/base/layout.html:56 -msgid "Enable dark mode" -msgstr "启用暗黑模式" - -#: templates/base/layout.html:59 -msgid "Enable light mode" -msgstr "启用灯光模式" - -#: templates/base/layout.html:145 +#: netbox/templates/base/layout.html:139 msgid "Docs" msgstr "文档" -#: templates/base/layout.html:151 templates/rest_framework/api.html:10 +#: netbox/templates/base/layout.html:145 +#: netbox/templates/rest_framework/api.html:10 msgid "REST API" -msgstr "休息 API" +msgstr "REST API" -#: templates/base/layout.html:157 +#: netbox/templates/base/layout.html:151 msgid "REST API documentation" msgstr "REST API 文档" -#: templates/base/layout.html:164 +#: netbox/templates/base/layout.html:158 msgid "GraphQL API" msgstr "GraphQL API" -#: templates/base/layout.html:171 +#: netbox/templates/base/layout.html:165 msgid "Source Code" msgstr "源代码" -#: templates/base/layout.html:177 +#: netbox/templates/base/layout.html:171 msgid "Community" msgstr "社区" -#: templates/circuits/circuit.html:47 +#: netbox/templates/circuits/circuit.html:47 msgid "Install Date" -msgstr "安装日期" +msgstr "安装时间" -#: templates/circuits/circuit.html:51 +#: netbox/templates/circuits/circuit.html:51 msgid "Termination Date" -msgstr "终止日期" +msgstr "维护模式" -#: templates/circuits/circuit_terminations_swap.html:4 +#: netbox/templates/circuits/circuit_terminations_swap.html:4 msgid "Swap Circuit Terminations" -msgstr "交换电路终端" +msgstr "交换线路终点" -#: templates/circuits/circuit_terminations_swap.html:8 +#: netbox/templates/circuits/circuit_terminations_swap.html:8 #, python-format msgid "Swap these terminations for circuit %(circuit)s?" -msgstr "将这些终端换成电路 %(circuit)s?" +msgstr "将这些终结换成线路 %(circuit)s?" -#: templates/circuits/circuit_terminations_swap.html:14 +#: netbox/templates/circuits/circuit_terminations_swap.html:14 msgid "A side" -msgstr "一面" +msgstr "A端" -#: templates/circuits/circuit_terminations_swap.html:22 +#: netbox/templates/circuits/circuit_terminations_swap.html:22 msgid "Z side" -msgstr "Z 面" +msgstr "Z端" -#: templates/circuits/circuittype.html:10 +#: netbox/templates/circuits/circuittype.html:10 msgid "Add Circuit" -msgstr "添加电路" +msgstr "增加线路" -#: templates/circuits/circuittype.html:19 +#: netbox/templates/circuits/circuittype.html:19 msgid "Circuit Type" -msgstr "电路类型" +msgstr "线路类型" -#: templates/circuits/inc/circuit_termination.html:10 -#: templates/dcim/devicetype/component_templates.html:33 -#: templates/dcim/manufacturer.html:11 -#: templates/dcim/moduletype/component_templates.html:29 -#: templates/generic/bulk_add_component.html:22 -#: templates/users/objectpermission.html:38 -#: utilities/templates/buttons/add.html:4 -#: utilities/templates/helpers/table_config_form.html:20 +#: netbox/templates/circuits/inc/circuit_termination.html:10 +#: netbox/templates/dcim/devicetype/component_templates.html:33 +#: netbox/templates/dcim/manufacturer.html:11 +#: netbox/templates/dcim/moduletype/component_templates.html:29 +#: netbox/templates/generic/bulk_add_component.html:22 +#: netbox/templates/users/objectpermission.html:38 +#: netbox/utilities/templates/buttons/add.html:4 +#: netbox/utilities/templates/helpers/table_config_form.html:20 msgid "Add" msgstr "添加" -#: templates/circuits/inc/circuit_termination.html:15 -#: templates/circuits/inc/circuit_termination_fields.html:36 -#: templates/dcim/inc/panels/inventory_items.html:32 -#: templates/dcim/moduletype/component_templates.html:20 -#: templates/dcim/powerpanel.html:56 templates/extras/script_list.html:32 -#: templates/generic/object_edit.html:47 -#: templates/ipam/inc/ipaddress_edit_header.html:7 -#: templates/ipam/inc/panels/fhrp_groups.html:43 -#: utilities/templates/buttons/edit.html:3 +#: netbox/templates/circuits/inc/circuit_termination.html:15 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:36 +#: netbox/templates/dcim/inc/panels/inventory_items.html:32 +#: netbox/templates/dcim/moduletype/component_templates.html:20 +#: netbox/templates/dcim/powerpanel.html:56 +#: netbox/templates/extras/script_list.html:32 +#: netbox/templates/generic/object_edit.html:47 +#: netbox/templates/ipam/inc/ipaddress_edit_header.html:7 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:43 +#: netbox/utilities/templates/buttons/edit.html:3 msgid "Edit" msgstr "编辑" -#: templates/circuits/inc/circuit_termination.html:18 +#: netbox/templates/circuits/inc/circuit_termination.html:18 msgid "Swap" msgstr "交换" -#: templates/circuits/inc/circuit_termination_fields.html:19 -#: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:60 -#: templates/dcim/powerfeed.html:114 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:19 +#: netbox/templates/dcim/consoleport.html:59 +#: netbox/templates/dcim/consoleserverport.html:60 +#: netbox/templates/dcim/powerfeed.html:114 msgid "Marked as connected" -msgstr "标记为已连接" +msgstr "标记已连接" -#: templates/circuits/inc/circuit_termination_fields.html:21 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:21 msgid "to" msgstr "到" -#: templates/circuits/inc/circuit_termination_fields.html:31 -#: templates/circuits/inc/circuit_termination_fields.html:32 -#: templates/dcim/frontport.html:80 -#: templates/dcim/inc/connection_endpoints.html:7 -#: templates/dcim/interface.html:154 templates/dcim/rearport.html:76 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:31 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:32 +#: netbox/templates/dcim/frontport.html:80 +#: netbox/templates/dcim/inc/connection_endpoints.html:7 +#: netbox/templates/dcim/interface.html:154 +#: netbox/templates/dcim/rearport.html:76 msgid "Trace" -msgstr "追踪" +msgstr "跟踪" -#: templates/circuits/inc/circuit_termination_fields.html:35 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:35 msgid "Edit cable" -msgstr "编辑电缆" +msgstr "编辑线缆" -#: templates/circuits/inc/circuit_termination_fields.html:40 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:40 msgid "Remove cable" -msgstr "拆下电缆" +msgstr "删除线缆" -#: templates/circuits/inc/circuit_termination_fields.html:41 -#: templates/dcim/bulk_disconnect.html:5 -#: templates/dcim/device/consoleports.html:12 -#: templates/dcim/device/consoleserverports.html:12 -#: templates/dcim/device/frontports.html:12 -#: templates/dcim/device/interfaces.html:16 -#: templates/dcim/device/poweroutlets.html:12 -#: templates/dcim/device/powerports.html:12 -#: templates/dcim/device/rearports.html:12 templates/dcim/powerpanel.html:61 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:41 +#: netbox/templates/dcim/bulk_disconnect.html:5 +#: netbox/templates/dcim/device/consoleports.html:12 +#: netbox/templates/dcim/device/consoleserverports.html:12 +#: netbox/templates/dcim/device/frontports.html:12 +#: netbox/templates/dcim/device/interfaces.html:16 +#: netbox/templates/dcim/device/poweroutlets.html:12 +#: netbox/templates/dcim/device/powerports.html:12 +#: netbox/templates/dcim/device/rearports.html:12 +#: netbox/templates/dcim/powerpanel.html:61 msgid "Disconnect" -msgstr "断开连接" +msgstr "断开" -#: templates/circuits/inc/circuit_termination_fields.html:48 -#: templates/dcim/consoleport.html:69 templates/dcim/consoleserverport.html:70 -#: templates/dcim/frontport.html:102 templates/dcim/interface.html:180 -#: templates/dcim/interface.html:200 templates/dcim/powerfeed.html:127 -#: templates/dcim/poweroutlet.html:71 templates/dcim/poweroutlet.html:72 -#: templates/dcim/powerport.html:73 templates/dcim/rearport.html:98 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:48 +#: netbox/templates/dcim/consoleport.html:69 +#: netbox/templates/dcim/consoleserverport.html:70 +#: netbox/templates/dcim/frontport.html:102 +#: netbox/templates/dcim/interface.html:180 +#: netbox/templates/dcim/interface.html:200 +#: netbox/templates/dcim/powerfeed.html:127 +#: netbox/templates/dcim/poweroutlet.html:71 +#: netbox/templates/dcim/poweroutlet.html:72 +#: netbox/templates/dcim/powerport.html:73 +#: netbox/templates/dcim/rearport.html:98 msgid "Connect" msgstr "连接" -#: templates/circuits/inc/circuit_termination_fields.html:70 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:70 msgid "Downstream" msgstr "下游" -#: templates/circuits/inc/circuit_termination_fields.html:71 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:71 msgid "Upstream" msgstr "上游" -#: templates/circuits/inc/circuit_termination_fields.html:80 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:80 msgid "Cross-Connect" msgstr "交叉连接" -#: templates/circuits/inc/circuit_termination_fields.html:84 +#: netbox/templates/circuits/inc/circuit_termination_fields.html:84 msgid "Patch Panel/Port" msgstr "配线架/端口" -#: templates/circuits/provider.html:11 +#: netbox/templates/circuits/provider.html:11 msgid "Add circuit" -msgstr "添加电路" +msgstr "添加线路" -#: templates/circuits/provideraccount.html:17 +#: netbox/templates/circuits/provideraccount.html:17 msgid "Provider Account" -msgstr "提供商账户" +msgstr "运营商帐户" -#: templates/core/configrevision.html:35 +#: netbox/templates/core/configrevision.html:35 msgid "Configuration Data" msgstr "配置数据" -#: templates/core/configrevision.html:40 +#: netbox/templates/core/configrevision.html:40 msgid "Comment" msgstr "评论" -#: templates/core/configrevision_restore.html:8 -#: templates/core/configrevision_restore.html:25 -#: templates/core/configrevision_restore.html:64 +#: netbox/templates/core/configrevision_restore.html:8 +#: netbox/templates/core/configrevision_restore.html:25 +#: netbox/templates/core/configrevision_restore.html:64 msgid "Restore" -msgstr "恢复" +msgstr "还原" -#: templates/core/configrevision_restore.html:36 +#: netbox/templates/core/configrevision_restore.html:36 msgid "Parameter" msgstr "参数" -#: templates/core/configrevision_restore.html:37 +#: netbox/templates/core/configrevision_restore.html:37 msgid "Current Value" -msgstr "当前值" +msgstr "当前变量" -#: templates/core/configrevision_restore.html:38 +#: netbox/templates/core/configrevision_restore.html:38 msgid "New Value" -msgstr "新价值" +msgstr "新变量" -#: templates/core/configrevision_restore.html:50 +#: netbox/templates/core/configrevision_restore.html:50 msgid "Changed" msgstr "已更改" -#: templates/core/datafile.html:38 +#: netbox/templates/core/datafile.html:38 msgid "Last Updated" -msgstr "上次更新时间" +msgstr "最后更新" -#: templates/core/datafile.html:42 templates/ipam/iprange.html:25 -#: templates/virtualization/virtualdisk.html:29 +#: netbox/templates/core/datafile.html:42 +#: netbox/templates/ipam/iprange.html:25 +#: netbox/templates/virtualization/virtualdisk.html:29 msgid "Size" msgstr "大小" -#: templates/core/datafile.html:43 +#: netbox/templates/core/datafile.html:43 msgid "bytes" -msgstr "字节" +msgstr "bytes" -#: templates/core/datafile.html:46 +#: netbox/templates/core/datafile.html:46 msgid "SHA256 Hash" -msgstr "SHA256 哈希" +msgstr "SHA256 Hash" -#: templates/core/datasource.html:14 templates/core/datasource.html:20 -#: utilities/templates/buttons/sync.html:5 +#: netbox/templates/core/datasource.html:14 +#: netbox/templates/core/datasource.html:20 +#: netbox/utilities/templates/buttons/sync.html:5 msgid "Sync" msgstr "同步" -#: templates/core/datasource.html:50 +#: netbox/templates/core/datasource.html:50 msgid "Last synced" -msgstr "上次同步" +msgstr "最后同步" -#: templates/core/datasource.html:84 +#: netbox/templates/core/datasource.html:84 msgid "Backend" -msgstr "后端" +msgstr "后台" -#: templates/core/datasource.html:99 +#: netbox/templates/core/datasource.html:99 msgid "No parameters defined" -msgstr "未定义任何参数" +msgstr "未定义参数" -#: templates/core/datasource.html:114 +#: netbox/templates/core/datasource.html:114 msgid "Files" -msgstr "档案" +msgstr "文件" -#: templates/core/inc/config_data.html:7 +#: netbox/templates/core/inc/config_data.html:7 msgid "Rack elevations" -msgstr "机架高度" +msgstr "机柜立面图" -#: templates/core/inc/config_data.html:10 +#: netbox/templates/core/inc/config_data.html:10 msgid "Default unit height" -msgstr "默认单位高度" +msgstr "默认U位高度" -#: templates/core/inc/config_data.html:14 +#: netbox/templates/core/inc/config_data.html:14 msgid "Default unit width" -msgstr "默认单位宽度" +msgstr "默认U位宽度" -#: templates/core/inc/config_data.html:20 +#: netbox/templates/core/inc/config_data.html:20 msgid "Power feeds" -msgstr "供电" +msgstr "供电线路" -#: templates/core/inc/config_data.html:23 +#: netbox/templates/core/inc/config_data.html:23 msgid "Default voltage" msgstr "默认电压" -#: templates/core/inc/config_data.html:27 +#: netbox/templates/core/inc/config_data.html:27 msgid "Default amperage" -msgstr "默认安培数" +msgstr "默认电流" -#: templates/core/inc/config_data.html:31 +#: netbox/templates/core/inc/config_data.html:31 msgid "Default max utilization" -msgstr "默认最大利用率" +msgstr "默认最高功率" -#: templates/core/inc/config_data.html:40 +#: netbox/templates/core/inc/config_data.html:40 msgid "Enforce global unique" -msgstr "强制执行全局唯一" +msgstr "执行全局唯一" -#: templates/core/inc/config_data.html:83 +#: netbox/templates/core/inc/config_data.html:83 msgid "Paginate count" -msgstr "分页数" +msgstr "分页数量" -#: templates/core/inc/config_data.html:87 +#: netbox/templates/core/inc/config_data.html:87 msgid "Max page size" msgstr "最大页面大小" -#: templates/core/inc/config_data.html:114 +#: netbox/templates/core/inc/config_data.html:114 msgid "User preferences" -msgstr "用户偏好" +msgstr "用户首选项" -#: templates/core/inc/config_data.html:141 +#: netbox/templates/core/inc/config_data.html:141 msgid "Job retention" -msgstr "留住工作" +msgstr "任务保留" -#: templates/core/job.html:17 templates/core/rq_task.html:12 -#: templates/core/rq_task.html:49 templates/core/rq_task.html:58 +#: netbox/templates/core/job.html:17 netbox/templates/core/rq_task.html:12 +#: netbox/templates/core/rq_task.html:49 netbox/templates/core/rq_task.html:58 msgid "Job" -msgstr "工作" +msgstr "任务" -#: templates/core/job.html:40 templates/extras/journalentry.html:26 +#: netbox/templates/core/job.html:40 +#: netbox/templates/extras/journalentry.html:26 msgid "Created By" msgstr "创建者" -#: templates/core/job.html:48 +#: netbox/templates/core/job.html:48 msgid "Scheduling" msgstr "日程安排" -#: templates/core/job.html:59 +#: netbox/templates/core/job.html:59 #, python-format msgid "every %(interval)s minutes" -msgstr "每个 %(interval)s 分钟" +msgstr "每 %(interval)s 分钟" -#: templates/core/rq_queue_list.html:5 templates/core/rq_queue_list.html:13 -#: templates/core/rq_task_list.html:14 templates/core/rq_worker.html:7 +#: netbox/templates/core/rq_queue_list.html:5 +#: netbox/templates/core/rq_queue_list.html:13 +#: netbox/templates/core/rq_task_list.html:14 +#: netbox/templates/core/rq_worker.html:7 msgid "Background Queues" msgstr "后台队列" -#: templates/core/rq_queue_list.html:24 templates/core/rq_queue_list.html:25 -#: templates/core/rq_worker_list.html:44 templates/core/rq_worker_list.html:45 -#: templates/extras/script_result.html:49 -#: templates/extras/script_result.html:51 -#: templates/inc/table_controls_htmx.html:18 -#: templates/inc/table_controls_htmx.html:20 +#: netbox/templates/core/rq_queue_list.html:24 +#: netbox/templates/core/rq_queue_list.html:25 +#: netbox/templates/core/rq_worker_list.html:44 +#: netbox/templates/core/rq_worker_list.html:45 +#: netbox/templates/extras/script_result.html:49 +#: netbox/templates/extras/script_result.html:51 +#: netbox/templates/inc/table_controls_htmx.html:30 +#: netbox/templates/inc/table_controls_htmx.html:33 msgid "Configure Table" -msgstr "配置表" +msgstr "列设置" -#: templates/core/rq_task.html:29 +#: netbox/templates/core/rq_task.html:29 msgid "Stop" -msgstr "停下来" +msgstr "停止" -#: templates/core/rq_task.html:34 +#: netbox/templates/core/rq_task.html:34 msgid "Requeue" -msgstr "Requeue" +msgstr "请求" -#: templates/core/rq_task.html:39 +#: netbox/templates/core/rq_task.html:39 msgid "Enqueue" msgstr "排队" -#: templates/core/rq_task.html:61 +#: netbox/templates/core/rq_task.html:61 msgid "Queue" msgstr "队列" -#: templates/core/rq_task.html:65 +#: netbox/templates/core/rq_task.html:65 msgid "Timeout" msgstr "超时" -#: templates/core/rq_task.html:69 +#: netbox/templates/core/rq_task.html:69 msgid "Result TTL" -msgstr "结果 TTL" +msgstr "TTL结果" -#: templates/core/rq_task.html:89 +#: netbox/templates/core/rq_task.html:89 msgid "Meta" -msgstr "Meta" +msgstr "元数据" -#: templates/core/rq_task.html:93 +#: netbox/templates/core/rq_task.html:93 msgid "Arguments" -msgstr "论点" +msgstr "参数" -#: templates/core/rq_task.html:97 +#: netbox/templates/core/rq_task.html:97 msgid "Keyword Arguments" -msgstr "关键字参数" +msgstr "关键参数" -#: templates/core/rq_task.html:103 +#: netbox/templates/core/rq_task.html:103 msgid "Depends on" msgstr "取决于" -#: templates/core/rq_task.html:109 +#: netbox/templates/core/rq_task.html:109 msgid "Exception" msgstr "例外" -#: templates/core/rq_task_list.html:28 +#: netbox/templates/core/rq_task_list.html:28 msgid "tasks in " -msgstr "中的任务 " +msgstr "任务进行中" -#: templates/core/rq_task_list.html:33 +#: netbox/templates/core/rq_task_list.html:33 msgid "Queued Jobs" -msgstr "排队的作业" +msgstr "排队中的任务" -#: templates/core/rq_task_list.html:64 templates/extras/script_result.html:68 +#: netbox/templates/core/rq_task_list.html:64 +#: netbox/templates/extras/script_result.html:68 #, python-format msgid "" "Select all %(count)s %(object_type_plural)s matching query" -msgstr "选择 所有 %(count)s %(object_type_plural)s 匹配查询" +msgstr "选择 所有的 %(count)s 个 %(object_type_plural)s进行查找" -#: templates/core/rq_worker.html:10 +#: netbox/templates/core/rq_worker.html:10 msgid "Worker Info" -msgstr "工人信息" +msgstr "任务信息" -#: templates/core/rq_worker.html:31 templates/core/rq_worker.html:40 +#: netbox/templates/core/rq_worker.html:31 +#: netbox/templates/core/rq_worker.html:40 msgid "Worker" -msgstr "工人" +msgstr "Worker" -#: templates/core/rq_worker.html:55 +#: netbox/templates/core/rq_worker.html:55 msgid "Queues" msgstr "队列" -#: templates/core/rq_worker.html:63 +#: netbox/templates/core/rq_worker.html:63 msgid "Curent Job" -msgstr "目前的工作" +msgstr "当前任务" -#: templates/core/rq_worker.html:67 +#: netbox/templates/core/rq_worker.html:67 msgid "Successful job count" -msgstr "成功的任务数" +msgstr "完成的任务数" -#: templates/core/rq_worker.html:71 +#: netbox/templates/core/rq_worker.html:71 msgid "Failed job count" msgstr "失败的任务数" -#: templates/core/rq_worker.html:75 +#: netbox/templates/core/rq_worker.html:75 msgid "Total working time" -msgstr "总工作时间" +msgstr "任务总计时长" -#: templates/core/rq_worker.html:76 +#: netbox/templates/core/rq_worker.html:76 msgid "seconds" msgstr "秒" -#: templates/core/rq_worker_list.html:13 templates/core/rq_worker_list.html:21 +#: netbox/templates/core/rq_worker_list.html:13 +#: netbox/templates/core/rq_worker_list.html:21 msgid "Background Workers" -msgstr "后台工作人员" +msgstr "后台任务" -#: templates/core/rq_worker_list.html:27 +#: netbox/templates/core/rq_worker_list.html:27 msgid "Workers in " -msgstr "工人在 " +msgstr "工作中" -#: templates/core/system.html:11 utilities/templates/buttons/export.html:4 +#: netbox/templates/core/system.html:11 +#: netbox/utilities/templates/buttons/export.html:4 msgid "Export" -msgstr "出口" +msgstr "导出" -#: templates/core/system.html:28 +#: netbox/templates/core/system.html:28 msgid "System Status" msgstr "系统状态" -#: templates/core/system.html:39 +#: netbox/templates/core/system.html:39 msgid "Django version" -msgstr "Django 版本" +msgstr "Django版本" -#: templates/core/system.html:43 +#: netbox/templates/core/system.html:43 msgid "PostgreSQL version" msgstr "PostgreSQL 版本" -#: templates/core/system.html:47 +#: netbox/templates/core/system.html:47 msgid "Database name" -msgstr "数据库名" +msgstr "数据库名称" -#: templates/core/system.html:51 +#: netbox/templates/core/system.html:51 msgid "Database size" msgstr "数据库大小" -#: templates/core/system.html:56 +#: netbox/templates/core/system.html:56 msgid "Unavailable" msgstr "不可用" -#: templates/core/system.html:61 +#: netbox/templates/core/system.html:61 msgid "RQ workers" -msgstr "RQ 工作人员" +msgstr "RQ workers" -#: templates/core/system.html:64 +#: netbox/templates/core/system.html:64 msgid "default queue" msgstr "默认队列" -#: templates/core/system.html:68 +#: netbox/templates/core/system.html:68 msgid "System time" msgstr "系统时间" -#: templates/core/system.html:90 +#: netbox/templates/core/system.html:90 msgid "Current Configuration" msgstr "当前配置" -#: templates/dcim/bulk_disconnect.html:9 +#: netbox/templates/dcim/bulk_disconnect.html:9 #, python-format msgid "" "Are you sure you want to disconnect these %(count)s %(obj_type_plural)s?" -msgstr "你确定要断开这些连接吗 %(count)s %(obj_type_plural)s?" +msgstr "您确定要断开这些连接 %(count)s %(obj_type_plural)s?" -#: templates/dcim/cable_trace.html:10 +#: netbox/templates/dcim/cable_trace.html:10 #, python-format msgid "Cable Trace for %(object_type)s %(object)s" -msgstr "电缆追踪 %(object_type)s %(object)s" +msgstr "电缆走线用于 %(object_type)s %(object)s" -#: templates/dcim/cable_trace.html:24 templates/dcim/inc/rack_elevation.html:7 +#: netbox/templates/dcim/cable_trace.html:24 +#: netbox/templates/dcim/inc/rack_elevation.html:7 msgid "Download SVG" -msgstr "下载 SVG" +msgstr "下载 SVG文件" -#: templates/dcim/cable_trace.html:30 +#: netbox/templates/dcim/cable_trace.html:30 msgid "Asymmetric Path" msgstr "非对称路径" -#: templates/dcim/cable_trace.html:31 +#: netbox/templates/dcim/cable_trace.html:31 msgid "The nodes below have no links and result in an asymmetric path" -msgstr "下面的节点没有链接,导致路径不对称" +msgstr "下面的节点没有链接,因此路径不对称" -#: templates/dcim/cable_trace.html:38 +#: netbox/templates/dcim/cable_trace.html:38 msgid "Path split" -msgstr "路径分割" +msgstr "(意见) 分歧" -#: templates/dcim/cable_trace.html:39 +#: netbox/templates/dcim/cable_trace.html:39 msgid "Select a node below to continue" -msgstr "选择下面的节点继续" +msgstr "选择以下节点继续" -#: templates/dcim/cable_trace.html:55 +#: netbox/templates/dcim/cable_trace.html:55 msgid "Trace Completed" -msgstr "追踪已完成" +msgstr "跟踪已完成" -#: templates/dcim/cable_trace.html:58 +#: netbox/templates/dcim/cable_trace.html:58 msgid "Total segments" -msgstr "分段总数" +msgstr "总分段" -#: templates/dcim/cable_trace.html:62 +#: netbox/templates/dcim/cable_trace.html:62 msgid "Total length" -msgstr "总长度" +msgstr "总计长度" -#: templates/dcim/cable_trace.html:77 +#: netbox/templates/dcim/cable_trace.html:77 msgid "No paths found" msgstr "未找到路径" -#: templates/dcim/cable_trace.html:85 +#: netbox/templates/dcim/cable_trace.html:85 msgid "Related Paths" -msgstr "相关路径" +msgstr "关联路径" -#: templates/dcim/cable_trace.html:89 +#: netbox/templates/dcim/cable_trace.html:89 msgid "Origin" -msgstr "起源" +msgstr "源" -#: templates/dcim/cable_trace.html:90 +#: netbox/templates/dcim/cable_trace.html:90 msgid "Destination" -msgstr "目的地" +msgstr "目的" -#: templates/dcim/cable_trace.html:91 +#: netbox/templates/dcim/cable_trace.html:91 msgid "Segments" -msgstr "细分市场" +msgstr "分隔符" -#: templates/dcim/cable_trace.html:104 +#: netbox/templates/dcim/cable_trace.html:104 msgid "Incomplete" -msgstr "不完整" +msgstr "未完成" -#: templates/dcim/component_list.html:14 +#: netbox/templates/dcim/component_list.html:14 msgid "Rename Selected" -msgstr "重命名所选" +msgstr "重命名选中项" -#: templates/dcim/consoleport.html:65 templates/dcim/consoleserverport.html:66 -#: templates/dcim/frontport.html:98 templates/dcim/interface.html:176 -#: templates/dcim/poweroutlet.html:69 templates/dcim/powerport.html:69 +#: netbox/templates/dcim/consoleport.html:65 +#: netbox/templates/dcim/consoleserverport.html:66 +#: netbox/templates/dcim/frontport.html:98 +#: netbox/templates/dcim/interface.html:176 +#: netbox/templates/dcim/poweroutlet.html:69 +#: netbox/templates/dcim/powerport.html:69 msgid "Not Connected" msgstr "未连接" -#: templates/dcim/device.html:33 +#: netbox/templates/dcim/device.html:34 msgid "Highlight device in rack" msgstr "突出显示机架中的设备" -#: templates/dcim/device.html:54 +#: netbox/templates/dcim/device.html:55 msgid "Not racked" -msgstr "不是架子上的" +msgstr "未上架" -#: templates/dcim/device.html:61 templates/dcim/site.html:93 +#: netbox/templates/dcim/device.html:62 netbox/templates/dcim/site.html:94 msgid "GPS Coordinates" -msgstr "GPS 坐标" +msgstr "GPS坐标" -#: templates/dcim/device.html:67 templates/dcim/site.html:99 +#: netbox/templates/dcim/device.html:68 netbox/templates/dcim/site.html:100 msgid "Map It" -msgstr "绘制地图" +msgstr "在地图中定位" -#: templates/dcim/device.html:107 templates/dcim/inventoryitem.html:56 -#: templates/dcim/module.html:78 templates/dcim/modulebay.html:70 -#: templates/dcim/rack.html:59 +#: netbox/templates/dcim/device.html:108 +#: netbox/templates/dcim/inventoryitem.html:56 +#: netbox/templates/dcim/module.html:78 +#: netbox/templates/dcim/modulebay.html:70 netbox/templates/dcim/rack.html:59 msgid "Asset Tag" msgstr "资产标签" -#: templates/dcim/device.html:122 +#: netbox/templates/dcim/device.html:123 msgid "View Virtual Chassis" -msgstr "查看虚拟机箱" +msgstr "查看堆叠设备" -#: templates/dcim/device.html:161 +#: netbox/templates/dcim/device.html:164 msgid "Create VDC" -msgstr "创建 VDC" +msgstr "创建VDC" -#: templates/dcim/device.html:172 templates/dcim/device_edit.html:64 -#: virtualization/forms/model_forms.py:223 +#: netbox/templates/dcim/device.html:175 +#: netbox/templates/dcim/device_edit.html:64 +#: netbox/virtualization/forms/model_forms.py:223 msgid "Management" msgstr "管理" -#: templates/dcim/device.html:192 templates/dcim/device.html:208 -#: templates/virtualization/virtualmachine.html:53 -#: templates/virtualization/virtualmachine.html:69 +#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211 +#: netbox/templates/dcim/device.html:227 +#: netbox/templates/virtualization/virtualmachine.html:53 +#: netbox/templates/virtualization/virtualmachine.html:69 msgid "NAT for" -msgstr "NAT 用于" +msgstr "NAT for" -#: templates/dcim/device.html:194 templates/dcim/device.html:210 -#: templates/virtualization/virtualmachine.html:55 -#: templates/virtualization/virtualmachine.html:71 +#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213 +#: netbox/templates/dcim/device.html:229 +#: netbox/templates/virtualization/virtualmachine.html:55 +#: netbox/templates/virtualization/virtualmachine.html:71 msgid "NAT" msgstr "NAT" -#: templates/dcim/device.html:244 templates/dcim/rack.html:67 +#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67 msgid "Power Utilization" -msgstr "能量利用率" +msgstr "电力容量利用率" -#: templates/dcim/device.html:248 +#: netbox/templates/dcim/device.html:256 msgid "Input" msgstr "输入" -#: templates/dcim/device.html:249 +#: netbox/templates/dcim/device.html:257 msgid "Outlets" -msgstr "网点" +msgstr "电源插座" -#: templates/dcim/device.html:250 +#: netbox/templates/dcim/device.html:258 msgid "Allocated" -msgstr "已分配" +msgstr "分配" -#: templates/dcim/device.html:260 templates/dcim/device.html:262 -#: templates/dcim/device.html:278 templates/dcim/powerfeed.html:67 +#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270 +#: netbox/templates/dcim/device.html:286 +#: netbox/templates/dcim/powerfeed.html:67 msgid "VA" msgstr "VA" -#: templates/dcim/device.html:272 +#: netbox/templates/dcim/device.html:280 msgctxt "Leg of a power feed" msgid "Leg" -msgstr "腿" +msgstr "针" -#: templates/dcim/device.html:298 -#: templates/virtualization/virtualmachine.html:154 +#: netbox/templates/dcim/device.html:306 +#: netbox/templates/virtualization/virtualmachine.html:154 msgid "Add a service" msgstr "添加服务" -#: templates/dcim/device/base.html:21 templates/dcim/device_list.html:9 -#: templates/dcim/devicetype/base.html:18 templates/dcim/module.html:18 -#: templates/dcim/moduletype/base.html:18 -#: templates/virtualization/virtualmachine/base.html:22 -#: templates/virtualization/virtualmachine_list.html:8 +#: netbox/templates/dcim/device/base.html:21 +#: netbox/templates/dcim/device_list.html:9 +#: netbox/templates/dcim/devicetype/base.html:18 +#: netbox/templates/dcim/module.html:18 +#: netbox/templates/dcim/moduletype/base.html:18 +#: netbox/templates/virtualization/virtualmachine/base.html:22 +#: netbox/templates/virtualization/virtualmachine_list.html:8 msgid "Add Components" msgstr "添加组件" -#: templates/dcim/device/consoleports.html:24 +#: netbox/templates/dcim/device/consoleports.html:24 msgid "Add Console Ports" -msgstr "添加控制台端口" +msgstr "增加 Console端口" -#: templates/dcim/device/consoleserverports.html:24 +#: netbox/templates/dcim/device/consoleserverports.html:24 msgid "Add Console Server Ports" -msgstr "添加控制台服务器端口" +msgstr "增加console服务器端口" -#: templates/dcim/device/devicebays.html:10 +#: netbox/templates/dcim/device/devicebays.html:10 msgid "Add Device Bays" msgstr "添加设备托架" -#: templates/dcim/device/frontports.html:24 +#: netbox/templates/dcim/device/frontports.html:24 msgid "Add Front Ports" -msgstr "添加前端口" +msgstr "添加前向端口" -#: templates/dcim/device/inc/interface_table_controls.html:9 +#: netbox/templates/dcim/device/inc/interface_table_controls.html:9 msgid "Hide Enabled" -msgstr "隐藏已启用" +msgstr "已启用隐藏" -#: templates/dcim/device/inc/interface_table_controls.html:10 +#: netbox/templates/dcim/device/inc/interface_table_controls.html:10 msgid "Hide Disabled" -msgstr "隐藏已禁用" +msgstr "已禁用隐藏" -#: templates/dcim/device/inc/interface_table_controls.html:11 +#: netbox/templates/dcim/device/inc/interface_table_controls.html:11 msgid "Hide Virtual" -msgstr "隐藏虚拟" +msgstr "隐藏虚拟对象" -#: templates/dcim/device/inc/interface_table_controls.html:12 +#: netbox/templates/dcim/device/inc/interface_table_controls.html:12 msgid "Hide Disconnected" -msgstr "隐藏已断开连接" +msgstr "隐藏未连接的" -#: templates/dcim/device/interfaces.html:27 +#: netbox/templates/dcim/device/interfaces.html:27 msgid "Add Interfaces" -msgstr "添加接口" +msgstr "增加接口" -#: templates/dcim/device/inventory.html:10 -#: templates/dcim/inc/panels/inventory_items.html:10 +#: netbox/templates/dcim/device/inventory.html:10 +#: netbox/templates/dcim/inc/panels/inventory_items.html:10 msgid "Add Inventory Item" -msgstr "添加库存物品" +msgstr "添加库存项" -#: templates/dcim/device/modulebays.html:10 +#: netbox/templates/dcim/device/modulebays.html:10 msgid "Add Module Bays" -msgstr "添加模块托架" +msgstr "增加设备板卡插槽" -#: templates/dcim/device/poweroutlets.html:24 +#: netbox/templates/dcim/device/poweroutlets.html:24 msgid "Add Power Outlets" msgstr "添加电源插座" -#: templates/dcim/device/powerports.html:24 +#: netbox/templates/dcim/device/powerports.html:24 msgid "Add Power Port" -msgstr "添加电源端口" +msgstr "添加电源接口" -#: templates/dcim/device/rearports.html:24 +#: netbox/templates/dcim/device/rearports.html:24 msgid "Add Rear Ports" -msgstr "添加后端口" +msgstr "添加后置端口" -#: templates/dcim/device/render_config.html:5 -#: templates/virtualization/virtualmachine/render_config.html:5 +#: netbox/templates/dcim/device/render_config.html:5 +#: netbox/templates/virtualization/virtualmachine/render_config.html:5 msgid "Config" msgstr "配置" -#: templates/dcim/device/render_config.html:35 -#: templates/virtualization/virtualmachine/render_config.html:35 +#: netbox/templates/dcim/device/render_config.html:35 +#: netbox/templates/virtualization/virtualmachine/render_config.html:35 msgid "Context Data" -msgstr "上下文数据" +msgstr "实例数据" -#: templates/dcim/device/render_config.html:53 -#: templates/virtualization/virtualmachine/render_config.html:53 +#: netbox/templates/dcim/device/render_config.html:53 +#: netbox/templates/virtualization/virtualmachine/render_config.html:53 msgid "Rendered Config" -msgstr "渲染的配置" +msgstr "提交配置" -#: templates/dcim/device/render_config.html:55 -#: templates/virtualization/virtualmachine/render_config.html:55 +#: netbox/templates/dcim/device/render_config.html:55 +#: netbox/templates/virtualization/virtualmachine/render_config.html:55 msgid "Download" msgstr "下载" -#: templates/dcim/device/render_config.html:61 -#: templates/virtualization/virtualmachine/render_config.html:61 +#: netbox/templates/dcim/device/render_config.html:61 +#: netbox/templates/virtualization/virtualmachine/render_config.html:61 msgid "No configuration template found" -msgstr "未找到配置模板" +msgstr "找不到配置模板" -#: templates/dcim/device_edit.html:44 +#: netbox/templates/dcim/device_edit.html:44 msgid "Parent Bay" -msgstr "家长湾" +msgstr "父托架" -#: templates/dcim/device_edit.html:48 -#: utilities/templates/form_helpers/render_field.html:20 +#: netbox/templates/dcim/device_edit.html:48 +#: netbox/utilities/templates/form_helpers/render_field.html:20 msgid "Regenerate Slug" -msgstr "再生弹头" +msgstr "重新生成缩写" -#: templates/dcim/device_edit.html:49 templates/generic/bulk_remove.html:21 -#: utilities/templates/helpers/table_config_form.html:23 +#: netbox/templates/dcim/device_edit.html:49 +#: netbox/templates/generic/bulk_remove.html:21 +#: netbox/utilities/templates/helpers/table_config_form.html:23 msgid "Remove" -msgstr "移除" +msgstr "删除" -#: templates/dcim/device_edit.html:110 +#: netbox/templates/dcim/device_edit.html:110 msgid "Local Config Context Data" -msgstr "本地配置上下文数据" +msgstr "本地配置数据实例" -#: templates/dcim/device_list.html:82 -#: templates/dcim/moduletype/component_templates.html:17 -#: templates/generic/bulk_rename.html:57 -#: templates/virtualization/virtualmachine/interfaces.html:11 -#: templates/virtualization/virtualmachine/virtual_disks.html:11 +#: netbox/templates/dcim/device_list.html:82 +#: netbox/templates/dcim/moduletype/component_templates.html:17 +#: netbox/templates/generic/bulk_rename.html:57 +#: netbox/templates/virtualization/virtualmachine/interfaces.html:11 +#: netbox/templates/virtualization/virtualmachine/virtual_disks.html:11 msgid "Rename" msgstr "重命名" -#: templates/dcim/devicebay.html:17 +#: netbox/templates/dcim/devicebay.html:17 msgid "Device Bay" msgstr "设备托架" -#: templates/dcim/devicebay.html:43 +#: netbox/templates/dcim/devicebay.html:43 msgid "Installed Device" -msgstr "已安装的设备" +msgstr "已安装设备" -#: templates/dcim/devicebay_depopulate.html:6 +#: netbox/templates/dcim/devicebay_depopulate.html:6 #, python-format msgid "Remove %(device)s from %(device_bay)s?" -msgstr "移除 %(device)s 从 %(device_bay)s?" +msgstr "确认从%(device_bay)s移除%(device)s?" -#: templates/dcim/devicebay_depopulate.html:13 +#: netbox/templates/dcim/devicebay_depopulate.html:13 #, python-format msgid "" "Are you sure you want to remove %(device)s from " "%(device_bay)s?" -msgstr "" -"你确定要移除吗 %(device)s%(device_bay)s?" +msgstr "确认从%(device_bay)s移除%(device)s?" -#: templates/dcim/devicebay_populate.html:13 +#: netbox/templates/dcim/devicebay_populate.html:13 msgid "Populate" msgstr "填充" -#: templates/dcim/devicebay_populate.html:22 +#: netbox/templates/dcim/devicebay_populate.html:22 msgid "Bay" -msgstr "湾" +msgstr "托架" -#: templates/dcim/devicerole.html:14 templates/dcim/platform.html:17 +#: netbox/templates/dcim/devicerole.html:14 +#: netbox/templates/dcim/platform.html:17 msgid "Add Device" -msgstr "添加设备" +msgstr "增加设备" -#: templates/dcim/devicerole.html:40 +#: netbox/templates/dcim/devicerole.html:40 msgid "VM Role" msgstr "虚拟机角色" -#: templates/dcim/devicetype.html:18 templates/dcim/moduletype.html:18 +#: netbox/templates/dcim/devicetype.html:18 +#: netbox/templates/dcim/moduletype.html:18 msgid "Model Name" -msgstr "型号名称" +msgstr "模块名称" -#: templates/dcim/devicetype.html:25 templates/dcim/moduletype.html:22 +#: netbox/templates/dcim/devicetype.html:25 +#: netbox/templates/dcim/moduletype.html:22 msgid "Part Number" -msgstr "零件号" +msgstr "部件编码(PN)" -#: templates/dcim/devicetype.html:41 +#: netbox/templates/dcim/devicetype.html:41 msgid "Exclude From Utilization" -msgstr "排除在使用范围之外" +msgstr "从利用率中排除" -#: templates/dcim/devicetype.html:59 +#: netbox/templates/dcim/devicetype.html:59 msgid "Parent/Child" -msgstr "父母/子女" +msgstr "父/子" -#: templates/dcim/devicetype.html:71 +#: netbox/templates/dcim/devicetype.html:71 msgid "Front Image" -msgstr "正面图片" +msgstr "正视图" -#: templates/dcim/devicetype.html:83 +#: netbox/templates/dcim/devicetype.html:83 msgid "Rear Image" -msgstr "背面影像" +msgstr "后视图" -#: templates/dcim/frontport.html:54 +#: netbox/templates/dcim/frontport.html:54 msgid "Rear Port Position" -msgstr "后部端口位置" +msgstr "后向端口位置" -#: templates/dcim/frontport.html:72 templates/dcim/interface.html:144 -#: templates/dcim/poweroutlet.html:63 templates/dcim/powerport.html:63 -#: templates/dcim/rearport.html:68 +#: netbox/templates/dcim/frontport.html:72 +#: netbox/templates/dcim/interface.html:144 +#: netbox/templates/dcim/poweroutlet.html:63 +#: netbox/templates/dcim/powerport.html:63 +#: netbox/templates/dcim/rearport.html:68 msgid "Marked as Connected" -msgstr "标记为已连接" +msgstr "标记已连接" -#: templates/dcim/frontport.html:86 templates/dcim/rearport.html:82 +#: netbox/templates/dcim/frontport.html:86 +#: netbox/templates/dcim/rearport.html:82 msgid "Connection Status" msgstr "连接状态" -#: templates/dcim/htmx/cable_edit.html:10 +#: netbox/templates/dcim/htmx/cable_edit.html:10 msgid "A Side" -msgstr "A 面" +msgstr "A端" -#: templates/dcim/htmx/cable_edit.html:30 +#: netbox/templates/dcim/htmx/cable_edit.html:30 msgid "B Side" -msgstr "B 面" +msgstr "B端" -#: templates/dcim/inc/cable_termination.html:65 +#: netbox/templates/dcim/inc/cable_termination.html:65 msgid "No termination" -msgstr "不终止" +msgstr "未成端" -#: templates/dcim/inc/cable_toggle_buttons.html:3 +#: netbox/templates/dcim/inc/cable_toggle_buttons.html:3 msgid "Mark Planned" -msgstr "标记为已计划" +msgstr "标记为计划中" -#: templates/dcim/inc/cable_toggle_buttons.html:6 +#: netbox/templates/dcim/inc/cable_toggle_buttons.html:6 msgid "Mark Installed" -msgstr "标记已安装" +msgstr "标记为已安装" -#: templates/dcim/inc/connection_endpoints.html:13 +#: netbox/templates/dcim/inc/connection_endpoints.html:13 msgid "Path Status" msgstr "路径状态" -#: templates/dcim/inc/connection_endpoints.html:18 +#: netbox/templates/dcim/inc/connection_endpoints.html:18 msgid "Not Reachable" -msgstr "无法到达" +msgstr "不可达" -#: templates/dcim/inc/connection_endpoints.html:23 +#: netbox/templates/dcim/inc/connection_endpoints.html:23 msgid "Path Endpoints" -msgstr "路径端点" +msgstr "路径终点" -#: templates/dcim/inc/endpoint_connection.html:8 -#: templates/dcim/powerfeed.html:120 templates/dcim/rearport.html:94 +#: netbox/templates/dcim/inc/endpoint_connection.html:8 +#: netbox/templates/dcim/powerfeed.html:120 +#: netbox/templates/dcim/rearport.html:94 msgid "Not connected" msgstr "未连接" -#: templates/dcim/inc/interface_vlans_table.html:6 +#: netbox/templates/dcim/inc/interface_vlans_table.html:6 msgid "Untagged" -msgstr "未标记" +msgstr "Untagged" -#: templates/dcim/inc/interface_vlans_table.html:37 +#: netbox/templates/dcim/inc/interface_vlans_table.html:37 msgid "No VLANs Assigned" msgstr "未分配 VLAN" -#: templates/dcim/inc/interface_vlans_table.html:44 -#: templates/ipam/prefix_list.html:16 templates/ipam/prefix_list.html:33 +#: netbox/templates/dcim/inc/interface_vlans_table.html:44 +#: netbox/templates/ipam/prefix_list.html:16 +#: netbox/templates/ipam/prefix_list.html:33 msgid "Clear" msgstr "清除" -#: templates/dcim/inc/interface_vlans_table.html:47 +#: netbox/templates/dcim/inc/interface_vlans_table.html:47 msgid "Clear All" -msgstr "全部清除" +msgstr "清除所有" -#: templates/dcim/interface.html:17 +#: netbox/templates/dcim/interface.html:17 msgid "Add Child Interface" msgstr "添加子接口" -#: templates/dcim/interface.html:50 +#: netbox/templates/dcim/interface.html:50 msgid "Speed/Duplex" -msgstr "速度/双工" +msgstr "速率/双工模式" -#: templates/dcim/interface.html:73 +#: netbox/templates/dcim/interface.html:73 msgid "PoE Mode" -msgstr "PoE 模式" +msgstr "PoE模式" -#: templates/dcim/interface.html:77 +#: netbox/templates/dcim/interface.html:77 msgid "PoE Type" -msgstr "PoE 类型" +msgstr "PoE类型" -#: templates/dcim/interface.html:81 -#: templates/virtualization/vminterface.html:63 +#: netbox/templates/dcim/interface.html:81 +#: netbox/templates/virtualization/vminterface.html:63 msgid "802.1Q Mode" msgstr "802.1Q 模式" -#: templates/dcim/interface.html:125 -#: templates/virtualization/vminterface.html:59 +#: netbox/templates/dcim/interface.html:125 +#: netbox/templates/virtualization/vminterface.html:59 msgid "MAC Address" -msgstr "MAC 地址" +msgstr "MAC地址" -#: templates/dcim/interface.html:151 +#: netbox/templates/dcim/interface.html:151 msgid "Wireless Link" -msgstr "无线链接" +msgstr "无线连接" -#: templates/dcim/interface.html:218 vpn/choices.py:55 +#: netbox/templates/dcim/interface.html:218 netbox/vpn/choices.py:55 msgid "Peer" -msgstr "同行" +msgstr "对端" -#: templates/dcim/interface.html:230 -#: templates/wireless/inc/wirelesslink_interface.html:26 +#: netbox/templates/dcim/interface.html:230 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:26 msgid "Channel" -msgstr "频道" +msgstr "通道" -#: templates/dcim/interface.html:239 -#: templates/wireless/inc/wirelesslink_interface.html:32 +#: netbox/templates/dcim/interface.html:239 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:32 msgid "Channel Frequency" -msgstr "频道频率" +msgstr "通道频率" -#: templates/dcim/interface.html:242 templates/dcim/interface.html:250 -#: templates/dcim/interface.html:261 templates/dcim/interface.html:269 +#: netbox/templates/dcim/interface.html:242 +#: netbox/templates/dcim/interface.html:250 +#: netbox/templates/dcim/interface.html:261 +#: netbox/templates/dcim/interface.html:269 msgid "MHz" -msgstr "兆赫" +msgstr "MHz" -#: templates/dcim/interface.html:258 -#: templates/wireless/inc/wirelesslink_interface.html:42 +#: netbox/templates/dcim/interface.html:258 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:42 msgid "Channel Width" -msgstr "信道宽度" +msgstr "信道频率" -#: templates/dcim/interface.html:285 templates/wireless/wirelesslan.html:14 -#: templates/wireless/wirelesslink.html:21 wireless/forms/bulk_edit.py:60 -#: wireless/forms/bulk_edit.py:102 wireless/forms/filtersets.py:40 -#: wireless/forms/filtersets.py:80 wireless/models.py:81 -#: wireless/models.py:155 wireless/tables/wirelesslan.py:44 +#: netbox/templates/dcim/interface.html:285 +#: netbox/templates/wireless/wirelesslan.html:14 +#: netbox/templates/wireless/wirelesslink.html:21 +#: netbox/wireless/forms/bulk_edit.py:60 +#: netbox/wireless/forms/bulk_edit.py:102 +#: netbox/wireless/forms/filtersets.py:40 +#: netbox/wireless/forms/filtersets.py:80 netbox/wireless/models.py:81 +#: netbox/wireless/models.py:155 netbox/wireless/tables/wirelesslan.py:44 msgid "SSID" msgstr "SSID" -#: templates/dcim/interface.html:305 +#: netbox/templates/dcim/interface.html:305 msgid "LAG Members" -msgstr "LAG 会员" +msgstr "聚合组成员" -#: templates/dcim/interface.html:323 +#: netbox/templates/dcim/interface.html:323 msgid "No member interfaces" -msgstr "没有成员接口" +msgstr "无成员接口" -#: templates/dcim/interface.html:343 templates/ipam/fhrpgroup.html:73 -#: templates/ipam/iprange/ip_addresses.html:7 -#: templates/ipam/prefix/ip_addresses.html:7 -#: templates/virtualization/vminterface.html:89 +#: netbox/templates/dcim/interface.html:343 +#: netbox/templates/ipam/fhrpgroup.html:73 +#: netbox/templates/ipam/iprange/ip_addresses.html:7 +#: netbox/templates/ipam/prefix/ip_addresses.html:7 +#: netbox/templates/virtualization/vminterface.html:89 msgid "Add IP Address" -msgstr "添加 IP 地址" +msgstr "增加 IP 地址" -#: templates/dcim/inventoryitem.html:24 +#: netbox/templates/dcim/inventoryitem.html:24 msgid "Parent Item" -msgstr "父物品" +msgstr "父项" -#: templates/dcim/inventoryitem.html:48 +#: netbox/templates/dcim/inventoryitem.html:48 msgid "Part ID" -msgstr "零件编号" +msgstr "零件ID" -#: templates/dcim/location.html:17 +#: netbox/templates/dcim/location.html:17 msgid "Add Child Location" -msgstr "添加孩子位置" +msgstr "增加子类室内位置" -#: templates/dcim/location.html:58 templates/dcim/site.html:55 +#: netbox/templates/dcim/location.html:58 netbox/templates/dcim/site.html:56 msgid "Facility" msgstr "设施" -#: templates/dcim/location.html:77 +#: netbox/templates/dcim/location.html:77 msgid "Child Locations" -msgstr "儿童地点" +msgstr "子位置" -#: templates/dcim/location.html:81 templates/dcim/site.html:130 +#: netbox/templates/dcim/location.html:81 netbox/templates/dcim/site.html:131 msgid "Add a Location" -msgstr "添加地点" +msgstr "添加一个室内位置" -#: templates/dcim/location.html:94 templates/dcim/site.html:143 +#: netbox/templates/dcim/location.html:94 netbox/templates/dcim/site.html:144 msgid "Add a Device" -msgstr "添加设备" +msgstr "增加设备" -#: templates/dcim/manufacturer.html:16 +#: netbox/templates/dcim/manufacturer.html:16 msgid "Add Device Type" -msgstr "添加设备类型" +msgstr "增加设备型号" -#: templates/dcim/manufacturer.html:21 +#: netbox/templates/dcim/manufacturer.html:21 msgid "Add Module Type" -msgstr "添加模块类型" +msgstr "添加一个模块类型" -#: templates/dcim/powerfeed.html:53 +#: netbox/templates/dcim/powerfeed.html:53 msgid "Connected Device" -msgstr "连接的设备" +msgstr "连接设备" -#: templates/dcim/powerfeed.html:63 +#: netbox/templates/dcim/powerfeed.html:63 msgid "Utilization (Allocated" -msgstr "利用率(已分配)" +msgstr "利用率(已分配" -#: templates/dcim/powerfeed.html:80 +#: netbox/templates/dcim/powerfeed.html:80 msgid "Electrical Characteristics" msgstr "电气特性" -#: templates/dcim/powerfeed.html:88 +#: netbox/templates/dcim/powerfeed.html:88 msgctxt "Abbreviation for volts" msgid "V" msgstr "V" -#: templates/dcim/powerfeed.html:92 +#: netbox/templates/dcim/powerfeed.html:92 msgctxt "Abbreviation for amperes" msgid "A" -msgstr "一个" +msgstr "A" -#: templates/dcim/poweroutlet.html:48 +#: netbox/templates/dcim/poweroutlet.html:48 msgid "Feed Leg" -msgstr "喂腿" +msgstr "电源针脚" -#: templates/dcim/powerpanel.html:72 +#: netbox/templates/dcim/powerpanel.html:72 msgid "Add Power Feeds" -msgstr "添加供电" +msgstr "添加一个供电线路" -#: templates/dcim/powerport.html:44 +#: netbox/templates/dcim/powerport.html:44 msgid "Maximum Draw" -msgstr "最大抽奖量" +msgstr "最大功率" -#: templates/dcim/powerport.html:48 +#: netbox/templates/dcim/powerport.html:48 msgid "Allocated Draw" -msgstr "已分配抽奖" +msgstr "允许功率" -#: templates/dcim/rack.html:63 +#: netbox/templates/dcim/rack.html:63 msgid "Space Utilization" -msgstr "空间利用率" +msgstr "机柜空间利用率" -#: templates/dcim/rack.html:91 +#: netbox/templates/dcim/rack.html:91 msgid "descending" -msgstr "降" +msgstr "降序" -#: templates/dcim/rack.html:91 +#: netbox/templates/dcim/rack.html:91 msgid "ascending" -msgstr "上升的" +msgstr "升序" -#: templates/dcim/rack.html:94 +#: netbox/templates/dcim/rack.html:94 msgid "Starting Unit" -msgstr "起始单位" +msgstr "起始U位" -#: templates/dcim/rack.html:120 +#: netbox/templates/dcim/rack.html:120 msgid "Mounting Depth" msgstr "安装深度" -#: templates/dcim/rack.html:130 +#: netbox/templates/dcim/rack.html:130 msgid "Rack Weight" -msgstr "机架重量" +msgstr "机柜重量" -#: templates/dcim/rack.html:140 +#: netbox/templates/dcim/rack.html:140 msgid "Maximum Weight" -msgstr "最大重量" +msgstr "最大承重" -#: templates/dcim/rack.html:150 +#: netbox/templates/dcim/rack.html:150 msgid "Total Weight" msgstr "总重量" -#: templates/dcim/rack.html:167 templates/dcim/rack_elevation_list.html:15 +#: netbox/templates/dcim/rack.html:167 +#: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" -msgstr "图像和标签" +msgstr "图片和标签" -#: templates/dcim/rack.html:168 templates/dcim/rack_elevation_list.html:16 +#: netbox/templates/dcim/rack.html:168 +#: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" -msgstr "仅限图片" +msgstr "仅图像" -#: templates/dcim/rack.html:169 templates/dcim/rack_elevation_list.html:17 +#: netbox/templates/dcim/rack.html:169 +#: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" -msgstr "仅限标签" +msgstr "仅标签" -#: templates/dcim/rack/reservations.html:8 +#: netbox/templates/dcim/rack/reservations.html:8 msgid "Add reservation" -msgstr "添加预订" +msgstr "增加预留" -#: templates/dcim/rack_elevation_list.html:12 +#: netbox/templates/dcim/rack_elevation_list.html:12 msgid "View List" -msgstr "查看清单" +msgstr "查看列表" -#: templates/dcim/rack_elevation_list.html:25 +#: netbox/templates/dcim/rack_elevation_list.html:25 msgid "Sort By" -msgstr "排序依据" +msgstr "排序方式" -#: templates/dcim/rack_elevation_list.html:74 +#: netbox/templates/dcim/rack_elevation_list.html:74 msgid "No Racks Found" -msgstr "未找到机架" +msgstr "找不到机柜" -#: templates/dcim/rack_list.html:8 +#: netbox/templates/dcim/rack_list.html:8 msgid "View Elevations" -msgstr "查看海拔" +msgstr "查看机柜立面图" -#: templates/dcim/rackreservation.html:42 +#: netbox/templates/dcim/rackreservation.html:42 msgid "Reservation Details" -msgstr "预订详情" +msgstr "预留详情" -#: templates/dcim/rackrole.html:10 +#: netbox/templates/dcim/rackrole.html:10 msgid "Add Rack" -msgstr "添加机架" +msgstr "增加机柜" -#: templates/dcim/rearport.html:50 +#: netbox/templates/dcim/rearport.html:50 msgid "Positions" msgstr "职位" -#: templates/dcim/region.html:17 templates/dcim/sitegroup.html:17 +#: netbox/templates/dcim/region.html:17 +#: netbox/templates/dcim/sitegroup.html:17 msgid "Add Site" -msgstr "添加站点" +msgstr "增加站点" -#: templates/dcim/region.html:55 +#: netbox/templates/dcim/region.html:55 msgid "Child Regions" -msgstr "儿童区域" +msgstr "子区域" -#: templates/dcim/region.html:59 +#: netbox/templates/dcim/region.html:59 msgid "Add Region" -msgstr "添加区域" +msgstr "增加地区" -#: templates/dcim/site.html:63 +#: netbox/templates/dcim/site.html:64 msgid "Time Zone" msgstr "时区" -#: templates/dcim/site.html:66 +#: netbox/templates/dcim/site.html:67 msgid "UTC" -msgstr "世界标准时间" +msgstr "UTC" -#: templates/dcim/site.html:67 +#: netbox/templates/dcim/site.html:68 msgid "Site time" -msgstr "站点时间" +msgstr "站点时区" -#: templates/dcim/site.html:74 +#: netbox/templates/dcim/site.html:75 msgid "Physical Address" -msgstr "物理地址" +msgstr "实体地址" -#: templates/dcim/site.html:80 +#: netbox/templates/dcim/site.html:81 msgid "Map" msgstr "地图" -#: templates/dcim/site.html:89 +#: netbox/templates/dcim/site.html:90 msgid "Shipping Address" -msgstr "送货地址" +msgstr "物流地址" -#: templates/dcim/sitegroup.html:55 templates/tenancy/contactgroup.html:46 -#: templates/tenancy/tenantgroup.html:55 -#: templates/wireless/wirelesslangroup.html:55 +#: netbox/templates/dcim/sitegroup.html:55 +#: netbox/templates/tenancy/contactgroup.html:46 +#: netbox/templates/tenancy/tenantgroup.html:55 +#: netbox/templates/wireless/wirelesslangroup.html:55 msgid "Child Groups" -msgstr "儿童群体" +msgstr "子类组" -#: templates/dcim/sitegroup.html:59 +#: netbox/templates/dcim/sitegroup.html:59 msgid "Add Site Group" -msgstr "添加站点组" +msgstr "增加站点组" -#: templates/dcim/trace/attachment.html:5 -#: templates/extras/exporttemplate.html:31 +#: netbox/templates/dcim/trace/attachment.html:5 +#: netbox/templates/extras/exporttemplate.html:31 msgid "Attachment" msgstr "附件" -#: templates/dcim/virtualchassis.html:57 +#: netbox/templates/dcim/virtualchassis.html:57 msgid "Add Member" -msgstr "添加会员" +msgstr "增加成员" -#: templates/dcim/virtualchassis_add.html:18 +#: netbox/templates/dcim/virtualchassis_add.html:18 msgid "Member Devices" msgstr "成员设备" -#: templates/dcim/virtualchassis_add_member.html:10 +#: netbox/templates/dcim/virtualchassis_add_member.html:10 #, python-format msgid "Add New Member to Virtual Chassis %(virtual_chassis)s" -msgstr "向虚拟机箱添加新成员 %(virtual_chassis)s" +msgstr "添加新成员到堆叠%(virtual_chassis)s中" -#: templates/dcim/virtualchassis_add_member.html:19 +#: netbox/templates/dcim/virtualchassis_add_member.html:19 msgid "Add New Member" -msgstr "添加新会员" +msgstr "新增会员" -#: templates/dcim/virtualchassis_add_member.html:27 -#: templates/generic/object_edit.html:78 -#: templates/users/objectpermission.html:31 users/forms/filtersets.py:68 -#: users/forms/model_forms.py:309 +#: netbox/templates/dcim/virtualchassis_add_member.html:27 +#: netbox/templates/generic/object_edit.html:78 +#: netbox/templates/users/objectpermission.html:31 +#: netbox/users/forms/filtersets.py:68 netbox/users/forms/model_forms.py:309 msgid "Actions" -msgstr "行动" +msgstr "激活" -#: templates/dcim/virtualchassis_add_member.html:29 +#: netbox/templates/dcim/virtualchassis_add_member.html:29 msgid "Save & Add Another" msgstr "保存并添加另一个" -#: templates/dcim/virtualchassis_edit.html:7 +#: netbox/templates/dcim/virtualchassis_edit.html:7 #, python-format msgid "Editing Virtual Chassis %(name)s" -msgstr "编辑虚拟机箱 %(name)s" +msgstr "编辑堆叠%(name)s" -#: templates/dcim/virtualchassis_edit.html:53 +#: netbox/templates/dcim/virtualchassis_edit.html:53 msgid "Rack/Unit" -msgstr "机架/单元" +msgstr "机柜/单元" -#: templates/dcim/virtualchassis_remove_member.html:5 +#: netbox/templates/dcim/virtualchassis_remove_member.html:5 msgid "Remove Virtual Chassis Member" -msgstr "移除虚拟机箱成员" +msgstr "移除堆叠成员" -#: templates/dcim/virtualchassis_remove_member.html:9 +#: netbox/templates/dcim/virtualchassis_remove_member.html:9 #, python-format msgid "" "Are you sure you want to remove %(device)s from virtual " "chassis %(name)s?" -msgstr "你确定要移除吗 %(device)s 来自虚拟机箱 %(name)s?" +msgstr "确认从%(name)s中移除%(device)s?" -#: templates/dcim/virtualdevicecontext.html:26 templates/vpn/l2vpn.html:18 +#: netbox/templates/dcim/virtualdevicecontext.html:26 +#: netbox/templates/vpn/l2vpn.html:18 msgid "Identifier" msgstr "标识符" -#: templates/exceptions/import_error.html:6 +#: netbox/templates/exceptions/import_error.html:6 msgid "" "A module import error occurred during this request. Common causes include " "the following:" -msgstr "此请求期间出现模块导入错误。常见原因包括以下几点:" +msgstr "此请求过程中发生模块导入错误。常见原因包括:" -#: templates/exceptions/import_error.html:10 +#: netbox/templates/exceptions/import_error.html:10 msgid "Missing required packages" -msgstr "缺少必需的包裹" +msgstr "缺少必需的程序包" -#: templates/exceptions/import_error.html:11 +#: netbox/templates/exceptions/import_error.html:11 msgid "" "This installation of NetBox might be missing one or more required Python " "packages. These packages are listed in requirements.txt and " @@ -11487,448 +12148,456 @@ msgid "" "pip freeze from the console and compare the output to the list " "of required packages." msgstr "" -"此次安装的 NetBox 可能缺少一个或多个必需的 Python 包。这些软件包列于 requirements.txt 和 " -"local_requirements.txt,通常作为安装或升级过程的一部分进行安装。要验证已安装的软件包,请运行 " -"pip 冻结 从控制台将输出与所需软件包列表进行比较。" +"NetBox 的此安装可能缺少一个或多个必需的 Python 包。 这些包列在 requirements.txt 和 " +"local_requirements.txt, and are normally installed as part of " +"the installation or upgrade process. To verify installed packages, run " +"pip freeze from the console and compare the output to the list " +"of required packages." -#: templates/exceptions/import_error.html:20 +#: netbox/templates/exceptions/import_error.html:20 msgid "WSGI service not restarted after upgrade" -msgstr "升级后 WSGI 服务未重新启动" +msgstr "升级后未重新启动WSGI服务" -#: templates/exceptions/import_error.html:21 +#: netbox/templates/exceptions/import_error.html:21 msgid "" "If this installation has recently been upgraded, check that the WSGI service" " (e.g. gunicorn or uWSGI) has been restarted. This ensures that the new code" " is running." -msgstr "如果此安装程序最近已升级,请检查WSGI服务(例如gunicorn或uWSGI)是否已重新启动。这样可以确保新代码正在运行。" +msgstr "如果系统最近已升级,请检查WSGI服务(例如gunicorn或uWSGI)是否已重新启动。这样可以确保正在运行新代码。" -#: templates/exceptions/permission_error.html:6 +#: netbox/templates/exceptions/permission_error.html:6 msgid "" "A file permission error was detected while processing this request. Common " "causes include the following:" -msgstr "处理此请求时检测到文件权限错误。常见原因包括以下几点:" +msgstr "处理此请求时检测到文件权限错误。常见原因包括:" -#: templates/exceptions/permission_error.html:10 +#: netbox/templates/exceptions/permission_error.html:10 msgid "Insufficient write permission to the media root" -msgstr "对媒体根的写入权限不足" +msgstr "对media目录的写入权限不足" -#: templates/exceptions/permission_error.html:11 +#: netbox/templates/exceptions/permission_error.html:11 #, python-format msgid "" "The configured media root is %(media_root)s. Ensure that the " "user NetBox runs as has access to write files to all locations within this " "path." -msgstr "" -"配置的媒体根目录是 %(media_root)s。确保运行 NetBox 的用户有权将文件写入此路径中的所有位置。" +msgstr "media目录为%(media_root)s。确保用户NetBox已有权将文件写入此路径" -#: templates/exceptions/programming_error.html:6 +#: netbox/templates/exceptions/programming_error.html:6 msgid "" "A database programming error was detected while processing this request. " "Common causes include the following:" -msgstr "处理此请求时检测到数据库编程错误。常见原因包括以下几点:" +msgstr "处理此请求时检测到数据库错误。常见原因包括:" -#: templates/exceptions/programming_error.html:10 +#: netbox/templates/exceptions/programming_error.html:10 msgid "Database migrations missing" msgstr "缺少数据库迁移" -#: templates/exceptions/programming_error.html:11 +#: netbox/templates/exceptions/programming_error.html:11 msgid "" "When upgrading to a new NetBox release, the upgrade script must be run to " "apply any new database migrations. You can run migrations manually by " "executing python3 manage.py migrate from the command line." msgstr "" -"升级到新的 NetBox 版本时,必须运行升级脚本以应用任何新的数据库迁移。您可以通过执行来手动运行迁移 python3 manage.py" -" 迁移 来自命令行。" +"升级到新的NetBox版本时,必须运行升级脚本才能应用任何新的数据库迁移。您可以通过从命令行执行python3 manage.py " +"migrate手动进行迁移。" -#: templates/exceptions/programming_error.html:18 +#: netbox/templates/exceptions/programming_error.html:18 msgid "Unsupported PostgreSQL version" -msgstr "不支持的 PostgreSQL 版本" +msgstr "不支持当前PostgreSQL版本" -#: templates/exceptions/programming_error.html:19 +#: netbox/templates/exceptions/programming_error.html:19 msgid "" "Ensure that PostgreSQL version 12 or later is in use. You can check this by " "connecting to the database using NetBox's credentials and issuing a query " "for SELECT VERSION()." msgstr "" -"确保正在使用 PostgreSQL 版本 12 或更高版本。您可以通过使用 NetBox 的凭据连接到数据库并发出查询来检查这一点 选择版本" -" ()。" +"请确保正在使用PostgreSQL版本12或更高版本。您可以通过使用NetBox用户连接到数据库并执行SELECT " +"VERSION()来进行检查。" -#: templates/extras/configcontext.html:45 -#: templates/extras/configtemplate.html:37 -#: templates/extras/exporttemplate.html:51 +#: netbox/templates/extras/configcontext.html:45 +#: netbox/templates/extras/configtemplate.html:37 +#: netbox/templates/extras/exporttemplate.html:51 msgid "The data file associated with this object has been deleted" -msgstr "与该对象关联的数据文件已被删除" +msgstr "与此对象关联的数据文件已被删除" -#: templates/extras/configcontext.html:54 -#: templates/extras/configtemplate.html:46 -#: templates/extras/exporttemplate.html:60 +#: netbox/templates/extras/configcontext.html:54 +#: netbox/templates/extras/configtemplate.html:46 +#: netbox/templates/extras/exporttemplate.html:60 msgid "Data Synced" msgstr "数据已同步" -#: templates/extras/configcontext_list.html:7 -#: templates/extras/configtemplate_list.html:7 -#: templates/extras/exporttemplate_list.html:7 +#: netbox/templates/extras/configcontext_list.html:7 +#: netbox/templates/extras/configtemplate_list.html:7 +#: netbox/templates/extras/exporttemplate_list.html:7 msgid "Sync Data" msgstr "同步数据" -#: templates/extras/configtemplate.html:56 +#: netbox/templates/extras/configtemplate.html:56 msgid "Environment Parameters" msgstr "环境参数" -#: templates/extras/configtemplate.html:67 -#: templates/extras/exporttemplate.html:79 +#: netbox/templates/extras/configtemplate.html:67 +#: netbox/templates/extras/exporttemplate.html:79 msgid "Template" -msgstr "模板" +msgstr "模版" -#: templates/extras/customfield.html:30 templates/extras/customlink.html:21 +#: netbox/templates/extras/customfield.html:30 +#: netbox/templates/extras/customlink.html:21 msgid "Group Name" -msgstr "群组名称" +msgstr "组名称" -#: templates/extras/customfield.html:42 +#: netbox/templates/extras/customfield.html:42 msgid "Cloneable" -msgstr "可克隆" +msgstr "可复制" -#: templates/extras/customfield.html:52 +#: netbox/templates/extras/customfield.html:52 msgid "Default Value" msgstr "默认值" -#: templates/extras/customfield.html:61 +#: netbox/templates/extras/customfield.html:61 msgid "Search Weight" -msgstr "搜索重量" +msgstr "搜索权重" -#: templates/extras/customfield.html:71 +#: netbox/templates/extras/customfield.html:71 msgid "Filter Logic" -msgstr "过滤器逻辑" +msgstr "过滤器规则" -#: templates/extras/customfield.html:75 +#: netbox/templates/extras/customfield.html:75 msgid "Display Weight" -msgstr "显示重量" +msgstr "显示权重" -#: templates/extras/customfield.html:79 +#: netbox/templates/extras/customfield.html:79 msgid "UI Visible" -msgstr "用户界面可见" +msgstr "页面中可见" -#: templates/extras/customfield.html:83 +#: netbox/templates/extras/customfield.html:83 msgid "UI Editable" -msgstr "用户界面可编辑" +msgstr "页面中可编辑" -#: templates/extras/customfield.html:103 +#: netbox/templates/extras/customfield.html:103 msgid "Validation Rules" msgstr "验证规则" -#: templates/extras/customfield.html:106 +#: netbox/templates/extras/customfield.html:106 msgid "Minimum Value" msgstr "最小值" -#: templates/extras/customfield.html:110 +#: netbox/templates/extras/customfield.html:110 msgid "Maximum Value" msgstr "最大值" -#: templates/extras/customfield.html:114 +#: netbox/templates/extras/customfield.html:114 msgid "Regular Expression" msgstr "正则表达式" -#: templates/extras/customlink.html:29 +#: netbox/templates/extras/customlink.html:29 msgid "Button Class" -msgstr "按钮类别" +msgstr "按钮类型" -#: templates/extras/customlink.html:39 templates/extras/exporttemplate.html:66 -#: templates/extras/savedfilter.html:39 +#: netbox/templates/extras/customlink.html:39 +#: netbox/templates/extras/exporttemplate.html:66 +#: netbox/templates/extras/savedfilter.html:39 msgid "Assigned Models" -msgstr "分配的模型" +msgstr "指定模块" -#: templates/extras/customlink.html:53 +#: netbox/templates/extras/customlink.html:53 msgid "Link Text" msgstr "链接文本" -#: templates/extras/customlink.html:61 +#: netbox/templates/extras/customlink.html:61 msgid "Link URL" -msgstr "链接网址" +msgstr "链接URL" -#: templates/extras/dashboard/reset.html:4 templates/home.html:66 +#: netbox/templates/extras/dashboard/reset.html:4 +#: netbox/templates/home.html:66 msgid "Reset Dashboard" -msgstr "重置控制面板" +msgstr "重置仪表盘" -#: templates/extras/dashboard/reset.html:8 +#: netbox/templates/extras/dashboard/reset.html:8 msgid "" "This will remove all configured widgets and restore the " "default dashboard configuration." -msgstr "这将删除 所有 配置小部件并恢复默认仪表板配置。" +msgstr "这将删除所有小组件,并恢复默认的仪表板配置。" -#: templates/extras/dashboard/reset.html:13 +#: netbox/templates/extras/dashboard/reset.html:13 msgid "" "This change affects only your dashboard, and will not impact other " "users." -msgstr "此更改仅影响 您的 仪表板,不会影响其他用户。" +msgstr "此更改仅影响的仪表盘,不会影响其他用户。" -#: templates/extras/dashboard/widget_add.html:7 +#: netbox/templates/extras/dashboard/widget_add.html:7 msgid "Add a Widget" -msgstr "添加小工具" +msgstr "添加小组件" -#: templates/extras/dashboard/widgets/bookmarks.html:14 +#: netbox/templates/extras/dashboard/widgets/bookmarks.html:14 msgid "No bookmarks have been added yet." -msgstr "尚未添加任何书签。" +msgstr "尚未添加书签。" -#: templates/extras/dashboard/widgets/objectcounts.html:10 +#: netbox/templates/extras/dashboard/widgets/objectcounts.html:10 msgid "No permission" -msgstr "没有权限" +msgstr "无权限" -#: templates/extras/dashboard/widgets/objectlist.html:6 +#: netbox/templates/extras/dashboard/widgets/objectlist.html:6 msgid "No permission to view this content" -msgstr "无权查看此内容" +msgstr "没有查看此内容的权限" -#: templates/extras/dashboard/widgets/objectlist.html:10 +#: netbox/templates/extras/dashboard/widgets/objectlist.html:10 msgid "Unable to load content. Invalid view name" -msgstr "无法加载内容。视图名称无效" +msgstr "无法加载内容。无效的视图名称" -#: templates/extras/dashboard/widgets/rssfeed.html:12 +#: netbox/templates/extras/dashboard/widgets/rssfeed.html:12 msgid "No content found" -msgstr "未找到任何内容" +msgstr "未找到内容" -#: templates/extras/dashboard/widgets/rssfeed.html:18 +#: netbox/templates/extras/dashboard/widgets/rssfeed.html:18 msgid "There was a problem fetching the RSS feed" -msgstr "获取 RSS 提要时出现问题" +msgstr "获取RSS源时出现问题" -#: templates/extras/dashboard/widgets/rssfeed.html:21 +#: netbox/templates/extras/dashboard/widgets/rssfeed.html:21 msgid "HTTP" msgstr "HTTP" -#: templates/extras/eventrule.html:52 +#: netbox/templates/extras/eventrule.html:52 msgid "Job start" -msgstr "作业开始" +msgstr "开始工作" -#: templates/extras/eventrule.html:56 +#: netbox/templates/extras/eventrule.html:56 msgid "Job end" -msgstr "任务结束" +msgstr "结束工作" -#: templates/extras/exporttemplate.html:23 +#: netbox/templates/extras/exporttemplate.html:23 msgid "MIME Type" -msgstr "哑剧类型" +msgstr "MIME类型" -#: templates/extras/exporttemplate.html:27 +#: netbox/templates/extras/exporttemplate.html:27 msgid "File Extension" msgstr "文件扩展名" -#: templates/extras/htmx/script_result.html:10 +#: netbox/templates/extras/htmx/script_result.html:10 msgid "Scheduled for" -msgstr "预定于" +msgstr "计划为" -#: templates/extras/htmx/script_result.html:15 +#: netbox/templates/extras/htmx/script_result.html:15 msgid "Duration" msgstr "持续时间" -#: templates/extras/htmx/script_result.html:23 +#: netbox/templates/extras/htmx/script_result.html:23 msgid "Test Summary" -msgstr "测试摘要" +msgstr "测试总结" -#: templates/extras/htmx/script_result.html:43 +#: netbox/templates/extras/htmx/script_result.html:43 msgid "Log" msgstr "日志" -#: templates/extras/htmx/script_result.html:52 +#: netbox/templates/extras/htmx/script_result.html:52 msgid "Output" msgstr "输出" -#: templates/extras/inc/result_pending.html:4 +#: netbox/templates/extras/inc/result_pending.html:4 msgid "Loading" msgstr "加载中" -#: templates/extras/inc/result_pending.html:6 +#: netbox/templates/extras/inc/result_pending.html:6 msgid "Results pending" msgstr "结果待定" -#: templates/extras/journalentry.html:15 +#: netbox/templates/extras/journalentry.html:15 msgid "Journal Entry" -msgstr "日记条目" +msgstr "日志条目" -#: templates/extras/object_changelog.html:15 -#: templates/extras/objectchange_list.html:9 +#: netbox/templates/extras/object_changelog.html:15 +#: netbox/templates/extras/objectchange_list.html:9 msgid "Change log retention" -msgstr "更改日志保留时间" +msgstr "变更日志保留" -#: templates/extras/object_changelog.html:15 -#: templates/extras/objectchange_list.html:9 +#: netbox/templates/extras/object_changelog.html:15 +#: netbox/templates/extras/objectchange_list.html:9 msgid "days" msgstr "天" -#: templates/extras/object_changelog.html:15 -#: templates/extras/objectchange_list.html:9 +#: netbox/templates/extras/object_changelog.html:15 +#: netbox/templates/extras/objectchange_list.html:9 msgid "Indefinite" -msgstr "无限期" +msgstr "无限期的" -#: templates/extras/object_configcontext.html:19 +#: netbox/templates/extras/object_configcontext.html:19 msgid "The local config context overwrites all source contexts" -msgstr "本地配置上下文会覆盖所有源上下文" +msgstr "本地实例覆盖数据源上的实例" -#: templates/extras/object_configcontext.html:25 +#: netbox/templates/extras/object_configcontext.html:25 msgid "Source Contexts" -msgstr "源上下文" +msgstr "数据源实例" -#: templates/extras/object_journal.html:17 +#: netbox/templates/extras/object_journal.html:17 msgid "New Journal Entry" -msgstr "新日记文章" +msgstr "新的日志条目" -#: templates/extras/objectchange.html:28 -#: templates/users/objectpermission.html:42 +#: netbox/templates/extras/objectchange.html:29 +#: netbox/templates/users/objectpermission.html:42 msgid "Change" -msgstr "改变" +msgstr "更改" -#: templates/extras/objectchange.html:78 +#: netbox/templates/extras/objectchange.html:79 msgid "Difference" -msgstr "区别" +msgstr "差异" -#: templates/extras/objectchange.html:81 +#: netbox/templates/extras/objectchange.html:82 msgid "Previous" -msgstr "以前" +msgstr "上一个" -#: templates/extras/objectchange.html:84 +#: netbox/templates/extras/objectchange.html:85 msgid "Next" -msgstr "下一步" +msgstr "下一个" -#: templates/extras/objectchange.html:92 +#: netbox/templates/extras/objectchange.html:93 msgid "Object Created" msgstr "对象已创建" -#: templates/extras/objectchange.html:94 +#: netbox/templates/extras/objectchange.html:95 msgid "Object Deleted" msgstr "对象已删除" -#: templates/extras/objectchange.html:96 +#: netbox/templates/extras/objectchange.html:97 msgid "No Changes" -msgstr "没有变化" +msgstr "没有改变" -#: templates/extras/objectchange.html:110 +#: netbox/templates/extras/objectchange.html:111 msgid "Pre-Change Data" -msgstr "变更前数据" +msgstr "变更前配置" -#: templates/extras/objectchange.html:121 +#: netbox/templates/extras/objectchange.html:122 msgid "Warning: Comparing non-atomic change to previous change record" -msgstr "警告:将非原子更改与先前的更改记录进行比较" +msgstr "警告:将非原子更改与以前的更改记录进行比较" -#: templates/extras/objectchange.html:130 +#: netbox/templates/extras/objectchange.html:131 msgid "Post-Change Data" -msgstr "变更后的数据" +msgstr "变更后配置" -#: templates/extras/objectchange.html:153 +#: netbox/templates/extras/objectchange.html:162 #, python-format msgid "See All %(count)s Changes" -msgstr "查看全部 %(count)s 变更" +msgstr "查看所有的%(count)s个变更" -#: templates/extras/report/base.html:30 +#: netbox/templates/extras/report/base.html:30 msgid "Report" -msgstr "举报" +msgstr "报告" -#: templates/extras/script.html:14 +#: netbox/templates/extras/script.html:14 msgid "You do not have permission to run scripts" -msgstr "你没有权限运行脚本" +msgstr "您没有权限执行脚本" -#: templates/extras/script.html:41 templates/extras/script.html:45 -#: templates/extras/script_list.html:88 +#: netbox/templates/extras/script.html:41 +#: netbox/templates/extras/script.html:45 +#: netbox/templates/extras/script_list.html:88 msgid "Run Script" -msgstr "运行脚本" +msgstr "保存运行脚本计划" -#: templates/extras/script.html:51 templates/extras/script/source.html:10 +#: netbox/templates/extras/script.html:51 +#: netbox/templates/extras/script/source.html:10 msgid "Error loading script" msgstr "加载脚本时出错" -#: templates/extras/script/jobs.html:16 +#: netbox/templates/extras/script/jobs.html:16 msgid "Script no longer exists in the source file." -msgstr "脚本不再存在于源文件中。" +msgstr "源文件中没有该脚本。" -#: templates/extras/script_list.html:48 +#: netbox/templates/extras/script_list.html:48 msgid "Last Run" -msgstr "最后一次运行" +msgstr "上一次运行" -#: templates/extras/script_list.html:63 +#: netbox/templates/extras/script_list.html:63 msgid "Script is no longer present in the source file" -msgstr "脚本不再存在于源文件中" +msgstr "源文件中没有该脚本。" -#: templates/extras/script_list.html:76 +#: netbox/templates/extras/script_list.html:76 msgid "Never" -msgstr "永远不要" +msgstr "从不" -#: templates/extras/script_list.html:86 +#: netbox/templates/extras/script_list.html:86 msgid "Run Again" -msgstr "再跑一次" +msgstr "重新运行" -#: templates/extras/script_list.html:140 +#: netbox/templates/extras/script_list.html:140 msgid "No Scripts Found" -msgstr "未找到脚本" +msgstr "找不到脚本" -#: templates/extras/script_list.html:143 +#: netbox/templates/extras/script_list.html:143 #, python-format msgid "" "Get started by creating a script from " "an uploaded file or data source." -msgstr "开始吧 创建脚本 来自上传的文件或数据源。" +msgstr "从上传的文件或数据源开始创建脚本。" -#: templates/extras/script_result.html:35 -#: templates/generic/object_list.html:50 templates/search.html:13 +#: netbox/templates/extras/script_result.html:35 +#: netbox/templates/generic/object_list.html:50 +#: netbox/templates/search.html:13 msgid "Results" msgstr "结果" -#: templates/extras/tag.html:32 +#: netbox/templates/extras/tag.html:32 msgid "Tagged Items" -msgstr "带标签的物品" +msgstr "标记的项目" -#: templates/extras/tag.html:43 +#: netbox/templates/extras/tag.html:43 msgid "Allowed Object Types" msgstr "允许的对象类型" -#: templates/extras/tag.html:51 +#: netbox/templates/extras/tag.html:51 msgid "Any" -msgstr "任何" +msgstr "所有" -#: templates/extras/tag.html:57 +#: netbox/templates/extras/tag.html:57 msgid "Tagged Item Types" -msgstr "带标签的物品类型" +msgstr "标记的项目类型" -#: templates/extras/tag.html:81 +#: netbox/templates/extras/tag.html:81 msgid "Tagged Objects" -msgstr "带标签的对象" +msgstr "标记的对象" -#: templates/extras/webhook.html:26 +#: netbox/templates/extras/webhook.html:26 msgid "HTTP Method" -msgstr "HTTP 方法" +msgstr "HTTP方式" -#: templates/extras/webhook.html:34 +#: netbox/templates/extras/webhook.html:34 msgid "HTTP Content Type" -msgstr "HTTP 内容类型" +msgstr "HTTP内容类型" -#: templates/extras/webhook.html:47 +#: netbox/templates/extras/webhook.html:47 msgid "SSL Verification" -msgstr "SSL 验证" +msgstr "SSL验证" -#: templates/extras/webhook.html:61 +#: netbox/templates/extras/webhook.html:61 msgid "Additional Headers" -msgstr "其他标题" +msgstr "附加标头" -#: templates/extras/webhook.html:73 +#: netbox/templates/extras/webhook.html:73 msgid "Body Template" -msgstr "正文模板" +msgstr "内容模版" -#: templates/generic/bulk_add_component.html:29 +#: netbox/templates/generic/bulk_add_component.html:29 msgid "Bulk Creation" msgstr "批量创建" -#: templates/generic/bulk_add_component.html:34 -#: templates/generic/bulk_delete.html:32 templates/generic/bulk_edit.html:33 +#: netbox/templates/generic/bulk_add_component.html:34 +#: netbox/templates/generic/bulk_delete.html:32 +#: netbox/templates/generic/bulk_edit.html:33 msgid "Selected Objects" -msgstr "所选对象" +msgstr "选定的对象" -#: templates/generic/bulk_add_component.html:58 +#: netbox/templates/generic/bulk_add_component.html:58 msgid "to Add" -msgstr "待添加" +msgstr "添加" -#: templates/generic/bulk_delete.html:27 +#: netbox/templates/generic/bulk_delete.html:27 msgid "Bulk Delete" msgstr "批量删除" -#: templates/generic/bulk_delete.html:49 +#: netbox/templates/generic/bulk_delete.html:49 msgid "Confirm Bulk Deletion" -msgstr "确认批量删除" +msgstr "批量删除确认" -#: templates/generic/bulk_delete.html:50 +#: netbox/templates/generic/bulk_delete.html:50 #, python-format msgid "" "The following operation will delete %(count)s " @@ -11936,2335 +12605,2399 @@ msgid "" "this action." msgstr "以下操作将删除 %(count)s %(type_plural)s。请仔细检查所选对象并确认此操作。" -#: templates/generic/bulk_edit.html:21 templates/generic/object_edit.html:22 +#: netbox/templates/generic/bulk_edit.html:21 +#: netbox/templates/generic/object_edit.html:22 msgid "Editing" -msgstr "正在编辑" +msgstr "编辑中" -#: templates/generic/bulk_edit.html:28 +#: netbox/templates/generic/bulk_edit.html:28 msgid "Bulk Edit" msgstr "批量编辑" -#: templates/generic/bulk_edit.html:107 templates/generic/bulk_rename.html:66 +#: netbox/templates/generic/bulk_edit.html:107 +#: netbox/templates/generic/bulk_rename.html:66 msgid "Apply" -msgstr "申请" +msgstr "应用" -#: templates/generic/bulk_import.html:19 +#: netbox/templates/generic/bulk_import.html:19 msgid "Bulk Import" msgstr "批量导入" -#: templates/generic/bulk_import.html:25 +#: netbox/templates/generic/bulk_import.html:25 msgid "Direct Import" msgstr "直接导入" -#: templates/generic/bulk_import.html:30 +#: netbox/templates/generic/bulk_import.html:30 msgid "Upload File" msgstr "上传文件" -#: templates/generic/bulk_import.html:58 templates/generic/bulk_import.html:80 -#: templates/generic/bulk_import.html:102 +#: netbox/templates/generic/bulk_import.html:58 +#: netbox/templates/generic/bulk_import.html:80 +#: netbox/templates/generic/bulk_import.html:102 msgid "Submit" msgstr "提交" -#: templates/generic/bulk_import.html:113 +#: netbox/templates/generic/bulk_import.html:113 msgid "Field Options" msgstr "字段选项" -#: templates/generic/bulk_import.html:119 +#: netbox/templates/generic/bulk_import.html:119 msgid "Accessor" -msgstr "存取器" +msgstr "Accessor" -#: templates/generic/bulk_import.html:161 +#: netbox/templates/generic/bulk_import.html:161 msgid "Import Value" -msgstr "进口价值" +msgstr "导入值" -#: templates/generic/bulk_import.html:181 +#: netbox/templates/generic/bulk_import.html:181 msgid "Format: YYYY-MM-DD" -msgstr "格式:YYYY-MM-DD" +msgstr "格式:年-月-日" -#: templates/generic/bulk_import.html:183 +#: netbox/templates/generic/bulk_import.html:183 msgid "Specify true or false" -msgstr "指定对或错" +msgstr "指定true或false" -#: templates/generic/bulk_import.html:195 +#: netbox/templates/generic/bulk_import.html:195 msgid "Required fields must be specified for all objects." -msgstr "必填字段 必须 为所有对象指定。" +msgstr "必须为所有对象指定必填字段" -#: templates/generic/bulk_import.html:201 +#: netbox/templates/generic/bulk_import.html:201 #, python-format msgid "" "Related objects may be referenced by any unique attribute. For example, " "%(example)s would identify a VRF by its route distinguisher." -msgstr "任何唯一的属性都可以引用相关对象。例如, %(example)s 将通过其路线区分器识别 VRF。" +msgstr "相关对象可以由任何唯一的属性引用。例如,%(example)s将通过RD来识别VRF" -#: templates/generic/bulk_remove.html:28 +#: netbox/templates/generic/bulk_remove.html:28 msgid "Bulk Remove" msgstr "批量移除" -#: templates/generic/bulk_remove.html:42 +#: netbox/templates/generic/bulk_remove.html:42 msgid "Confirm Bulk Removal" -msgstr "确认批量移除" +msgstr "确认批量删除" -#: templates/generic/bulk_remove.html:43 +#: netbox/templates/generic/bulk_remove.html:43 #, python-format msgid "" "The following operation will remove %(count)s %(obj_type_plural)s from " "%(parent_obj)s. Please carefully review the %(obj_type_plural)s to be " "removed and confirm below." msgstr "" -"以下操作将删除 %(count)s %(obj_type_plural)s 从 %(parent_obj)s。请仔细查看 " -"%(obj_type_plural)s 待删除并在下方确认。" +"以下操作将从%(parent_obj)s中删除%(count)s个%(obj_type_plural)s,请仔细查看要删除的%(obj_type_plural)s,并在下面进行确认。" -#: templates/generic/bulk_remove.html:64 +#: netbox/templates/generic/bulk_remove.html:64 #, python-format msgid "Remove these %(count)s %(obj_type_plural)s" -msgstr "移除这些 %(count)s %(obj_type_plural)s" +msgstr "删除%(count)s个 %(obj_type_plural)s" -#: templates/generic/bulk_rename.html:20 +#: netbox/templates/generic/bulk_rename.html:20 msgid "Renaming" msgstr "重命名" -#: templates/generic/bulk_rename.html:27 +#: netbox/templates/generic/bulk_rename.html:27 msgid "Bulk Rename" msgstr "批量重命名" -#: templates/generic/bulk_rename.html:39 +#: netbox/templates/generic/bulk_rename.html:39 msgid "Current Name" -msgstr "当前姓名" +msgstr "当前名称" -#: templates/generic/bulk_rename.html:40 +#: netbox/templates/generic/bulk_rename.html:40 msgid "New Name" -msgstr "新名字" +msgstr "新名称" -#: templates/generic/bulk_rename.html:64 -#: utilities/templates/widgets/markdown_input.html:11 +#: netbox/templates/generic/bulk_rename.html:64 +#: netbox/utilities/templates/widgets/markdown_input.html:11 msgid "Preview" msgstr "预览" -#: templates/generic/confirmation_form.html:16 +#: netbox/templates/generic/confirmation_form.html:16 msgid "Are you sure" -msgstr "你确定吗" +msgstr "确认吗" -#: templates/generic/confirmation_form.html:20 +#: netbox/templates/generic/confirmation_form.html:20 msgid "Confirm" msgstr "确认" -#: templates/generic/object_children.html:47 -#: utilities/templates/buttons/bulk_edit.html:4 +#: netbox/templates/generic/object_children.html:47 +#: netbox/utilities/templates/buttons/bulk_edit.html:4 msgid "Edit Selected" -msgstr "编辑选定内容" +msgstr "修改选中项" -#: templates/generic/object_children.html:61 -#: utilities/templates/buttons/bulk_delete.html:4 +#: netbox/templates/generic/object_children.html:61 +#: netbox/utilities/templates/buttons/bulk_delete.html:4 msgid "Delete Selected" -msgstr "删除选定内容" +msgstr "删除选中项" -#: templates/generic/object_edit.html:24 +#: netbox/templates/generic/object_edit.html:24 #, python-format msgid "Add a new %(object_type)s" msgstr "添加一个新的 %(object_type)s" -#: templates/generic/object_edit.html:35 +#: netbox/templates/generic/object_edit.html:35 msgid "View model documentation" -msgstr "查看模型文档" +msgstr "查看model文档" -#: templates/generic/object_edit.html:36 +#: netbox/templates/generic/object_edit.html:36 msgid "Help" -msgstr "帮帮我" +msgstr "帮助" -#: templates/generic/object_edit.html:83 +#: netbox/templates/generic/object_edit.html:83 msgid "Create & Add Another" msgstr "创建并添加另一个" -#: templates/generic/object_list.html:57 +#: netbox/templates/generic/object_list.html:57 msgid "Filters" -msgstr "过滤器" +msgstr "筛选" -#: templates/generic/object_list.html:96 +#: netbox/templates/generic/object_list.html:96 #, python-format msgid "" "Select all %(count)s " "%(object_type_plural)s matching query" msgstr "" -"选择 所有 %(count)s " -"%(object_type_plural)s 匹配查询" +"选择 所有的 %(count)s个 " +"%(object_type_plural)s 查询到的记录" -#: templates/home.html:15 +#: netbox/templates/home.html:15 msgid "New Release Available" -msgstr "新版本可用" +msgstr "有新版本可用" -#: templates/home.html:16 +#: netbox/templates/home.html:16 msgid "is available" msgstr "可用" -#: templates/home.html:18 +#: netbox/templates/home.html:18 msgctxt "Document title" msgid "Upgrade Instructions" msgstr "升级说明" -#: templates/home.html:40 +#: netbox/templates/home.html:40 msgid "Unlock Dashboard" msgstr "解锁仪表板" -#: templates/home.html:49 +#: netbox/templates/home.html:49 msgid "Lock Dashboard" msgstr "锁定仪表板" -#: templates/home.html:60 +#: netbox/templates/home.html:60 msgid "Add Widget" -msgstr "添加小工具" +msgstr "添加小组件" -#: templates/home.html:63 +#: netbox/templates/home.html:63 msgid "Save Layout" -msgstr "保存布局" +msgstr "保存仪表盘" -#: templates/htmx/delete_form.html:7 +#: netbox/templates/htmx/delete_form.html:7 msgid "Confirm Deletion" -msgstr "确认删除" +msgstr "删除确认" -#: templates/htmx/delete_form.html:11 +#: netbox/templates/htmx/delete_form.html:11 #, python-format msgid "" "Are you sure you want to delete " "%(object_type)s %(object)s?" msgstr "" -"你确定要吗 删除 %(object_type)s " -"%(object)s?" +"确认删除 %(object_type)s " +"%(object)s?" -#: templates/htmx/delete_form.html:17 +#: netbox/templates/htmx/delete_form.html:17 msgid "The following objects will be deleted as a result of this action." -msgstr "此操作将导致以下对象被删除。" +msgstr "此操作将删除以下对象。" -#: templates/htmx/object_selector.html:5 +#: netbox/templates/htmx/object_selector.html:5 msgid "Select" msgstr "选择" -#: templates/inc/filter_list.html:42 -#: utilities/templates/helpers/table_config_form.html:39 +#: netbox/templates/inc/filter_list.html:42 +#: netbox/utilities/templates/helpers/table_config_form.html:39 msgid "Reset" msgstr "重置" -#: templates/inc/missing_prerequisites.html:8 +#: netbox/templates/inc/light_toggle.html:4 +msgid "Enable dark mode" +msgstr "启用深色模式" + +#: netbox/templates/inc/light_toggle.html:7 +msgid "Enable light mode" +msgstr "启用浅色模式" + +#: netbox/templates/inc/missing_prerequisites.html:8 #, python-format msgid "" "Before you can add a %(model)s you must first create a " "%(prerequisite_model)s." -msgstr "在你添加之前 %(model)s 你必须先创建一个 %(prerequisite_model)s。" +msgstr "添加%(model)s之前,必须先创建%(prerequisite_model)s." -#: templates/inc/paginator.html:15 +#: netbox/templates/inc/paginator.html:15 msgid "Page selection" msgstr "页面选择" -#: templates/inc/paginator.html:75 +#: netbox/templates/inc/paginator.html:75 #, python-format msgid "Showing %(start)s-%(end)s of %(total)s" -msgstr "显示 %(start)s-%(end)s 的 %(total)s" +msgstr "显示 %(start)s-%(end)s 共 %(total)s" -#: templates/inc/paginator.html:82 +#: netbox/templates/inc/paginator.html:82 msgid "Pagination options" msgstr "分页选项" -#: templates/inc/paginator.html:86 +#: netbox/templates/inc/paginator.html:86 msgid "Per Page" msgstr "每页" -#: templates/inc/panels/image_attachments.html:10 +#: netbox/templates/inc/panels/image_attachments.html:10 msgid "Attach an image" -msgstr "附上图片" +msgstr "增加图片" -#: templates/inc/panels/related_objects.html:5 +#: netbox/templates/inc/panels/related_objects.html:5 msgid "Related Objects" msgstr "相关对象" -#: templates/inc/panels/tags.html:11 +#: netbox/templates/inc/panels/tags.html:11 msgid "No tags assigned" -msgstr "未分配标签" +msgstr "没有分配标签" -#: templates/inc/sync_warning.html:10 +#: netbox/templates/inc/sync_warning.html:10 msgid "Data is out of sync with upstream file" msgstr "数据与上游文件不同步" -#: templates/inc/user_menu.html:23 -msgid "Django Admin" -msgstr "Django 管理员" +#: netbox/templates/inc/table_controls_htmx.html:7 +msgid "Quick search" +msgstr "快速搜索" -#: templates/inc/user_menu.html:40 +#: netbox/templates/inc/table_controls_htmx.html:20 +msgid "Saved filter" +msgstr "保存的筛选" + +#: netbox/templates/inc/user_menu.html:23 +msgid "Django Admin" +msgstr "Django Admin" + +#: netbox/templates/inc/user_menu.html:40 msgid "Log Out" msgstr "登出" -#: templates/inc/user_menu.html:47 templates/login.html:36 +#: netbox/templates/inc/user_menu.html:47 netbox/templates/login.html:36 msgid "Log In" msgstr "登录" -#: templates/ipam/aggregate.html:14 templates/ipam/ipaddress.html:14 -#: templates/ipam/iprange.html:13 templates/ipam/prefix.html:15 +#: netbox/templates/ipam/aggregate.html:14 +#: netbox/templates/ipam/ipaddress.html:14 +#: netbox/templates/ipam/iprange.html:13 netbox/templates/ipam/prefix.html:15 msgid "Family" -msgstr "家庭" +msgstr "Family" -#: templates/ipam/aggregate.html:39 +#: netbox/templates/ipam/aggregate.html:39 msgid "Date Added" msgstr "添加日期" -#: templates/ipam/aggregate/prefixes.html:8 -#: templates/ipam/prefix/prefixes.html:8 templates/ipam/role.html:10 +#: netbox/templates/ipam/aggregate/prefixes.html:8 +#: netbox/templates/ipam/prefix/prefixes.html:8 +#: netbox/templates/ipam/role.html:10 msgid "Add Prefix" -msgstr "添加前缀" +msgstr "增加IP前缀" -#: templates/ipam/asn.html:23 +#: netbox/templates/ipam/asn.html:23 msgid "AS Number" -msgstr "AS 编号" +msgstr "AS号码" -#: templates/ipam/fhrpgroup.html:52 +#: netbox/templates/ipam/fhrpgroup.html:52 msgid "Authentication Type" -msgstr "身份验证类型" +msgstr "认证类型" -#: templates/ipam/fhrpgroup.html:56 +#: netbox/templates/ipam/fhrpgroup.html:56 msgid "Authentication Key" -msgstr "身份验证密钥" +msgstr "认证密钥" -#: templates/ipam/fhrpgroup.html:69 +#: netbox/templates/ipam/fhrpgroup.html:69 msgid "Virtual IP Addresses" -msgstr "虚拟 IP 地址" +msgstr "虚拟IP地址" -#: templates/ipam/inc/ipaddress_edit_header.html:13 +#: netbox/templates/ipam/inc/ipaddress_edit_header.html:13 msgid "Assign IP" -msgstr "分配 IP" +msgstr "分配IP" -#: templates/ipam/inc/ipaddress_edit_header.html:19 +#: netbox/templates/ipam/inc/ipaddress_edit_header.html:19 msgid "Bulk Create" msgstr "批量创建" -#: templates/ipam/inc/panels/fhrp_groups.html:10 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:10 msgid "Create Group" -msgstr "创建群组" +msgstr "创建组" -#: templates/ipam/inc/panels/fhrp_groups.html:15 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:15 msgid "Assign Group" -msgstr "分配群组" +msgstr "分配组" -#: templates/ipam/inc/panels/fhrp_groups.html:25 +#: netbox/templates/ipam/inc/panels/fhrp_groups.html:25 msgid "Virtual IPs" -msgstr "虚拟 IP" +msgstr "虚拟IP" -#: templates/ipam/inc/toggle_available.html:7 +#: netbox/templates/ipam/inc/toggle_available.html:7 msgid "Show Assigned" -msgstr "显示已分配" +msgstr "查看指定的" -#: templates/ipam/inc/toggle_available.html:10 +#: netbox/templates/ipam/inc/toggle_available.html:10 msgid "Show Available" -msgstr "显示可用" +msgstr "查看可用" -#: templates/ipam/inc/toggle_available.html:13 +#: netbox/templates/ipam/inc/toggle_available.html:13 msgid "Show All" -msgstr "显示全部" +msgstr "全部显示" -#: templates/ipam/ipaddress.html:23 templates/ipam/iprange.html:45 -#: templates/ipam/prefix.html:24 +#: netbox/templates/ipam/ipaddress.html:23 +#: netbox/templates/ipam/iprange.html:45 netbox/templates/ipam/prefix.html:24 msgid "Global" -msgstr "全球" +msgstr "全局" -#: templates/ipam/ipaddress.html:85 +#: netbox/templates/ipam/ipaddress.html:85 msgid "NAT (outside)" -msgstr "NAT(外部)" +msgstr "NAT(外部ip)" -#: templates/ipam/ipaddress_assign.html:8 +#: netbox/templates/ipam/ipaddress_assign.html:8 msgid "Assign an IP Address" -msgstr "分配 IP 地址" +msgstr "分配IP地址" -#: templates/ipam/ipaddress_assign.html:22 +#: netbox/templates/ipam/ipaddress_assign.html:22 msgid "Select IP Address" -msgstr "选择 IP 地址" +msgstr "选择IP地址" -#: templates/ipam/ipaddress_assign.html:35 +#: netbox/templates/ipam/ipaddress_assign.html:35 msgid "Search Results" -msgstr "搜寻结果" +msgstr "搜索结果" -#: templates/ipam/ipaddress_bulk_add.html:6 +#: netbox/templates/ipam/ipaddress_bulk_add.html:6 msgid "Bulk Add IP Addresses" -msgstr "批量添加 IP 地址" +msgstr "批量创建IP地址" -#: templates/ipam/iprange.html:17 +#: netbox/templates/ipam/iprange.html:17 msgid "Starting Address" -msgstr "起始地址" +msgstr "开始地址" -#: templates/ipam/iprange.html:21 +#: netbox/templates/ipam/iprange.html:21 msgid "Ending Address" msgstr "结束地址" -#: templates/ipam/iprange.html:33 templates/ipam/prefix.html:110 +#: netbox/templates/ipam/iprange.html:33 netbox/templates/ipam/prefix.html:110 msgid "Marked fully utilized" -msgstr "标记为已完全使用" +msgstr "标记为已全部被使用" -#: templates/ipam/prefix.html:99 +#: netbox/templates/ipam/prefix.html:99 msgid "Addressing Details" -msgstr "地址详情" +msgstr "IP地址详细信息" -#: templates/ipam/prefix.html:118 +#: netbox/templates/ipam/prefix.html:118 msgid "Child IPs" -msgstr "儿童 IP" +msgstr "子IP" -#: templates/ipam/prefix.html:126 +#: netbox/templates/ipam/prefix.html:126 msgid "Available IPs" -msgstr "可用的 IP" +msgstr "可用IP" -#: templates/ipam/prefix.html:138 +#: netbox/templates/ipam/prefix.html:138 msgid "First available IP" -msgstr "第一个可用的 IP" +msgstr "第一个可用IP" -#: templates/ipam/prefix.html:179 +#: netbox/templates/ipam/prefix.html:179 msgid "Prefix Details" -msgstr "前缀详情" +msgstr "前缀详细信息" -#: templates/ipam/prefix.html:185 +#: netbox/templates/ipam/prefix.html:185 msgid "Network Address" -msgstr "网络地址" +msgstr "网络位地址" -#: templates/ipam/prefix.html:189 +#: netbox/templates/ipam/prefix.html:189 msgid "Network Mask" -msgstr "网络掩码" +msgstr "网络掩码/子网掩码" -#: templates/ipam/prefix.html:193 +#: netbox/templates/ipam/prefix.html:193 msgid "Wildcard Mask" -msgstr "通配符掩码" +msgstr "反掩码" -#: templates/ipam/prefix.html:197 +#: netbox/templates/ipam/prefix.html:197 msgid "Broadcast Address" msgstr "广播地址" -#: templates/ipam/prefix/ip_ranges.html:7 +#: netbox/templates/ipam/prefix/ip_ranges.html:7 msgid "Add IP Range" -msgstr "添加 IP 范围" +msgstr "添加IP范围" -#: templates/ipam/prefix_list.html:7 +#: netbox/templates/ipam/prefix_list.html:7 msgid "Hide Depth Indicators" -msgstr "隐藏深度指示器" +msgstr "隐藏深度值" -#: templates/ipam/prefix_list.html:11 +#: netbox/templates/ipam/prefix_list.html:11 msgid "Max Depth" msgstr "最大深度" -#: templates/ipam/prefix_list.html:28 +#: netbox/templates/ipam/prefix_list.html:28 msgid "Max Length" msgstr "最大长度" -#: templates/ipam/rir.html:10 +#: netbox/templates/ipam/rir.html:10 msgid "Add Aggregate" -msgstr "添加聚合" +msgstr "添加聚合IP" -#: templates/ipam/routetarget.html:38 +#: netbox/templates/ipam/routetarget.html:38 msgid "Importing VRFs" -msgstr "导入 VRF" +msgstr "导入VFR" -#: templates/ipam/routetarget.html:44 +#: netbox/templates/ipam/routetarget.html:44 msgid "Exporting VRFs" -msgstr "导出 VRF" +msgstr "导出VFR" -#: templates/ipam/routetarget.html:52 +#: netbox/templates/ipam/routetarget.html:52 msgid "Importing L2VPNs" -msgstr "导入 L2VPN" +msgstr "导入L2VPN" -#: templates/ipam/routetarget.html:58 +#: netbox/templates/ipam/routetarget.html:58 msgid "Exporting L2VPNs" -msgstr "导出 L2VPN" +msgstr "导出L2VPN" -#: templates/ipam/vlan.html:88 +#: netbox/templates/ipam/vlan.html:88 msgid "Add a Prefix" -msgstr "添加前缀" +msgstr "添加一个前缀" -#: templates/ipam/vlangroup.html:18 +#: netbox/templates/ipam/vlangroup.html:18 msgid "Add VLAN" -msgstr "添加 VLAN" +msgstr "添加VLAN" -#: templates/ipam/vlangroup.html:42 +#: netbox/templates/ipam/vlangroup.html:42 msgid "Permitted VIDs" -msgstr "允许的 VID" +msgstr "允许的VID" -#: templates/ipam/vrf.html:16 +#: netbox/templates/ipam/vrf.html:16 msgid "Route Distinguisher" -msgstr "路线区分器" +msgstr "路由实例" -#: templates/ipam/vrf.html:29 +#: netbox/templates/ipam/vrf.html:29 msgid "Unique IP Space" -msgstr "独一无二的 IP 空间" +msgstr "独立IP空间" -#: templates/login.html:14 +#: netbox/templates/login.html:14 msgid "NetBox logo" -msgstr "NetBox 徽标" +msgstr "NetBox logo" -#: templates/login.html:27 -#: utilities/templates/form_helpers/render_errors.html:7 +#: netbox/templates/login.html:27 +#: netbox/utilities/templates/form_helpers/render_errors.html:7 msgid "Errors" msgstr "错误" -#: templates/login.html:67 +#: netbox/templates/login.html:67 msgid "Sign In" msgstr "登录" -#: templates/login.html:75 +#: netbox/templates/login.html:75 msgctxt "Denotes an alternative option" msgid "Or" -msgstr "或者" +msgstr "或" -#: templates/media_failure.html:7 +#: netbox/templates/media_failure.html:7 msgid "Static Media Failure - NetBox" -msgstr "静态媒体故障-NetBox" +msgstr "静态文件故障-NetBox" -#: templates/media_failure.html:21 +#: netbox/templates/media_failure.html:21 msgid "Static Media Failure" -msgstr "静态媒体故障" +msgstr "静态文件故障" -#: templates/media_failure.html:23 +#: netbox/templates/media_failure.html:23 msgid "The following static media file failed to load" -msgstr "以下静态媒体文件加载失败" +msgstr "无法加载以下静态文件" -#: templates/media_failure.html:26 +#: netbox/templates/media_failure.html:26 msgid "Check the following" msgstr "检查以下内容" -#: templates/media_failure.html:29 +#: netbox/templates/media_failure.html:29 msgid "" "manage.py collectstatic was run during the most recent upgrade." " This installs the most recent iteration of each static file into the static" " root path." -msgstr "manage.py 集合静态 是在最近一次升级期间运行的。这会将每个静态文件的最新迭代安装到静态根路径中。" +msgstr "" +"在升级过程中执行manage.py collectstatic 。这会将每个静态文件的最新迭代版本安装到静态文件根路径中。" -#: templates/media_failure.html:35 +#: netbox/templates/media_failure.html:35 #, python-format msgid "" "The HTTP service (e.g. nginx or Apache) is configured to serve files from " "the STATIC_ROOT path. Refer to the " "installation documentation for further guidance." msgstr "" -"HTTP 服务(例如 nginx 或 Apache)配置为提供来自的文件 静态根 路径。请参阅 安装文档 以获取进一步的指导。" +"HTTP服务(例如nginx或Apache)被配置为从STATIC_ROOT路径提供文件。请参考the installation documentation以获取更多指导。" -#: templates/media_failure.html:47 +#: netbox/templates/media_failure.html:47 #, python-format msgid "" "The file %(filename)s exists in the static root directory and " "is readable by the HTTP server." -msgstr "这个文件 %(filename)s 存在于静态根目录中,可由 HTTP 服务器读取。" +msgstr "文件%(filename)s存在于静态文件根目录中,可由HTTP服务器读取。" -#: templates/media_failure.html:55 +#: netbox/templates/media_failure.html:55 #, python-format msgid "Click here to attempt loading NetBox again." -msgstr "点击 这里 尝试再次加载 NetBox。" +msgstr "点击 这里重新加载NetBox" -#: templates/tenancy/contact.html:18 tenancy/filtersets.py:148 -#: tenancy/forms/bulk_edit.py:137 tenancy/forms/filtersets.py:102 -#: tenancy/forms/forms.py:56 tenancy/forms/model_forms.py:106 -#: tenancy/forms/model_forms.py:130 tenancy/tables/contacts.py:98 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/tenancy/forms/bulk_edit.py:137 +#: netbox/tenancy/forms/filtersets.py:102 netbox/tenancy/forms/forms.py:56 +#: netbox/tenancy/forms/model_forms.py:106 +#: netbox/tenancy/forms/model_forms.py:130 +#: netbox/tenancy/tables/contacts.py:98 msgid "Contact" -msgstr "联系我们" +msgstr "联系人" -#: templates/tenancy/contact.html:29 tenancy/forms/bulk_edit.py:99 +#: netbox/templates/tenancy/contact.html:29 +#: netbox/tenancy/forms/bulk_edit.py:99 msgid "Title" msgstr "标题" -#: templates/tenancy/contact.html:33 tenancy/forms/bulk_edit.py:104 -#: tenancy/tables/contacts.py:64 +#: netbox/templates/tenancy/contact.html:33 +#: netbox/tenancy/forms/bulk_edit.py:104 netbox/tenancy/tables/contacts.py:64 msgid "Phone" -msgstr "电话" +msgstr "手机号" -#: templates/tenancy/contact.html:84 tenancy/tables/contacts.py:73 +#: netbox/templates/tenancy/contact.html:84 +#: netbox/tenancy/tables/contacts.py:73 msgid "Assignments" -msgstr "作业" +msgstr "分配" -#: templates/tenancy/contactgroup.html:18 tenancy/forms/forms.py:66 -#: tenancy/forms/model_forms.py:75 +#: netbox/templates/tenancy/contactgroup.html:18 +#: netbox/tenancy/forms/forms.py:66 netbox/tenancy/forms/model_forms.py:75 msgid "Contact Group" -msgstr "联系小组" +msgstr "联系人组" -#: templates/tenancy/contactgroup.html:50 +#: netbox/templates/tenancy/contactgroup.html:50 msgid "Add Contact Group" -msgstr "添加联系人组" +msgstr "增加联系人组" -#: templates/tenancy/contactrole.html:15 tenancy/filtersets.py:153 -#: tenancy/forms/forms.py:61 tenancy/forms/model_forms.py:87 +#: netbox/templates/tenancy/contactrole.html:15 +#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "联系人角色" -#: templates/tenancy/object_contacts.html:9 +#: netbox/templates/tenancy/object_contacts.html:9 msgid "Add a contact" -msgstr "添加联系人" +msgstr "增加联系人" -#: templates/tenancy/tenantgroup.html:17 +#: netbox/templates/tenancy/tenantgroup.html:17 msgid "Add Tenant" -msgstr "添加租户" +msgstr "增加租户" -#: templates/tenancy/tenantgroup.html:26 tenancy/forms/model_forms.py:32 -#: tenancy/tables/columns.py:51 tenancy/tables/columns.py:61 +#: netbox/templates/tenancy/tenantgroup.html:26 +#: netbox/tenancy/forms/model_forms.py:32 netbox/tenancy/tables/columns.py:51 +#: netbox/tenancy/tables/columns.py:61 msgid "Tenant Group" msgstr "租户组" -#: templates/tenancy/tenantgroup.html:59 +#: netbox/templates/tenancy/tenantgroup.html:59 msgid "Add Tenant Group" -msgstr "添加租户组" +msgstr "增加租户组" -#: templates/users/group.html:39 templates/users/user.html:63 +#: netbox/templates/users/group.html:39 netbox/templates/users/user.html:63 msgid "Assigned Permissions" msgstr "分配的权限" -#: templates/users/objectpermission.html:6 -#: templates/users/objectpermission.html:14 users/forms/filtersets.py:67 +#: netbox/templates/users/objectpermission.html:6 +#: netbox/templates/users/objectpermission.html:14 +#: netbox/users/forms/filtersets.py:67 msgid "Permission" -msgstr "许可" +msgstr "权限" -#: templates/users/objectpermission.html:34 +#: netbox/templates/users/objectpermission.html:34 msgid "View" msgstr "查看" -#: templates/users/objectpermission.html:52 users/forms/model_forms.py:312 +#: netbox/templates/users/objectpermission.html:52 +#: netbox/users/forms/model_forms.py:312 msgid "Constraints" msgstr "限制因素" -#: templates/users/objectpermission.html:72 +#: netbox/templates/users/objectpermission.html:72 msgid "Assigned Users" -msgstr "分配的用户" +msgstr "分配用户" -#: templates/virtualization/cluster.html:52 +#: netbox/templates/virtualization/cluster.html:52 msgid "Allocated Resources" -msgstr "分配的资源" +msgstr "已分配资源" -#: templates/virtualization/cluster.html:55 -#: templates/virtualization/virtualmachine.html:121 +#: netbox/templates/virtualization/cluster.html:55 +#: netbox/templates/virtualization/virtualmachine.html:121 msgid "Virtual CPUs" -msgstr "虚拟 CPU" +msgstr "虚拟CPU" -#: templates/virtualization/cluster.html:59 -#: templates/virtualization/virtualmachine.html:125 +#: netbox/templates/virtualization/cluster.html:59 +#: netbox/templates/virtualization/virtualmachine.html:125 msgid "Memory" -msgstr "记忆" +msgstr "内存" -#: templates/virtualization/cluster.html:69 -#: templates/virtualization/virtualmachine.html:136 +#: netbox/templates/virtualization/cluster.html:69 +#: netbox/templates/virtualization/virtualmachine.html:136 msgid "Disk Space" msgstr "磁盘空间" -#: templates/virtualization/cluster.html:72 -#: templates/virtualization/virtualdisk.html:32 -#: templates/virtualization/virtualmachine.html:140 +#: netbox/templates/virtualization/cluster.html:72 +#: netbox/templates/virtualization/virtualdisk.html:32 +#: netbox/templates/virtualization/virtualmachine.html:140 msgctxt "Abbreviation for gigabyte" msgid "GB" msgstr "GB" -#: templates/virtualization/cluster/base.html:18 +#: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" -msgstr "添加虚拟机" +msgstr "增加虚拟机" -#: templates/virtualization/cluster/base.html:24 +#: netbox/templates/virtualization/cluster/base.html:24 msgid "Assign Device" msgstr "分配设备" -#: templates/virtualization/cluster/devices.html:10 +#: netbox/templates/virtualization/cluster/devices.html:10 msgid "Remove Selected" -msgstr "移除所选内容" +msgstr "删除选定" -#: templates/virtualization/cluster_add_devices.html:9 +#: netbox/templates/virtualization/cluster_add_devices.html:9 #, python-format msgid "Add Device to Cluster %(cluster)s" -msgstr "将设备添加到集群 %(cluster)s" +msgstr "增加设备到虚拟化集群 %(cluster)s" -#: templates/virtualization/cluster_add_devices.html:23 +#: netbox/templates/virtualization/cluster_add_devices.html:23 msgid "Device Selection" msgstr "设备选择" -#: templates/virtualization/cluster_add_devices.html:31 +#: netbox/templates/virtualization/cluster_add_devices.html:31 msgid "Add Devices" -msgstr "添加设备" +msgstr "增加设备" -#: templates/virtualization/clustergroup.html:10 -#: templates/virtualization/clustertype.html:10 +#: netbox/templates/virtualization/clustergroup.html:10 +#: netbox/templates/virtualization/clustertype.html:10 msgid "Add Cluster" -msgstr "添加集群" +msgstr "增加集群" -#: templates/virtualization/clustergroup.html:19 -#: virtualization/forms/model_forms.py:50 +#: netbox/templates/virtualization/clustergroup.html:19 +#: netbox/virtualization/forms/model_forms.py:50 msgid "Cluster Group" msgstr "集群组" -#: templates/virtualization/clustertype.html:19 -#: templates/virtualization/virtualmachine.html:106 -#: virtualization/forms/model_forms.py:36 +#: netbox/templates/virtualization/clustertype.html:19 +#: netbox/templates/virtualization/virtualmachine.html:106 +#: netbox/virtualization/forms/model_forms.py:36 msgid "Cluster Type" msgstr "集群类型" -#: templates/virtualization/virtualdisk.html:18 +#: netbox/templates/virtualization/virtualdisk.html:18 msgid "Virtual Disk" -msgstr "虚拟磁盘" +msgstr "虚拟硬盘" -#: templates/virtualization/virtualmachine.html:118 -#: virtualization/forms/bulk_edit.py:190 -#: virtualization/forms/model_forms.py:224 +#: netbox/templates/virtualization/virtualmachine.html:118 +#: netbox/virtualization/forms/bulk_edit.py:190 +#: netbox/virtualization/forms/model_forms.py:224 msgid "Resources" msgstr "资源" -#: templates/virtualization/virtualmachine.html:174 +#: netbox/templates/virtualization/virtualmachine.html:174 msgid "Add Virtual Disk" -msgstr "添加虚拟磁盘" +msgstr "增加虚拟硬盘" -#: templates/vpn/ikepolicy.html:10 templates/vpn/ipsecprofile.html:33 -#: vpn/tables/crypto.py:166 +#: netbox/templates/vpn/ikepolicy.html:10 +#: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166 msgid "IKE Policy" -msgstr "IKE 政策" +msgstr "IKE Policy" -#: templates/vpn/ikepolicy.html:21 +#: netbox/templates/vpn/ikepolicy.html:21 msgid "IKE Version" msgstr "IKE 版本" -#: templates/vpn/ikepolicy.html:29 +#: netbox/templates/vpn/ikepolicy.html:29 msgid "Pre-Shared Key" -msgstr "预共享密钥" +msgstr "预共享密钥-PSK" -#: templates/vpn/ikepolicy.html:33 -#: templates/wireless/inc/authentication_attrs.html:20 +#: netbox/templates/vpn/ikepolicy.html:33 +#: netbox/templates/wireless/inc/authentication_attrs.html:20 msgid "Show Secret" -msgstr "显示秘密" +msgstr "显示密码" -#: templates/vpn/ikepolicy.html:57 templates/vpn/ipsecpolicy.html:45 -#: templates/vpn/ipsecprofile.html:52 templates/vpn/ipsecprofile.html:77 -#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:352 -#: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134 +#: netbox/templates/vpn/ikepolicy.html:57 +#: netbox/templates/vpn/ipsecpolicy.html:45 +#: netbox/templates/vpn/ipsecprofile.html:52 +#: netbox/templates/vpn/ipsecprofile.html:77 +#: netbox/vpn/forms/model_forms.py:316 netbox/vpn/forms/model_forms.py:352 +#: netbox/vpn/tables/crypto.py:68 netbox/vpn/tables/crypto.py:134 msgid "Proposals" -msgstr "提案" +msgstr "Proposals" -#: templates/vpn/ikeproposal.html:10 +#: netbox/templates/vpn/ikeproposal.html:10 msgid "IKE Proposal" -msgstr "IKE 提案" +msgstr "IKE Proposal" -#: templates/vpn/ikeproposal.html:21 vpn/forms/bulk_edit.py:97 -#: vpn/forms/bulk_import.py:145 vpn/forms/filtersets.py:101 +#: netbox/templates/vpn/ikeproposal.html:21 netbox/vpn/forms/bulk_edit.py:97 +#: netbox/vpn/forms/bulk_import.py:145 netbox/vpn/forms/filtersets.py:101 msgid "Authentication method" msgstr "身份验证方法" -#: templates/vpn/ikeproposal.html:25 templates/vpn/ipsecproposal.html:21 -#: vpn/forms/bulk_edit.py:102 vpn/forms/bulk_edit.py:172 -#: vpn/forms/bulk_import.py:149 vpn/forms/bulk_import.py:195 -#: vpn/forms/filtersets.py:106 vpn/forms/filtersets.py:154 +#: netbox/templates/vpn/ikeproposal.html:25 +#: netbox/templates/vpn/ipsecproposal.html:21 +#: netbox/vpn/forms/bulk_edit.py:102 netbox/vpn/forms/bulk_edit.py:172 +#: netbox/vpn/forms/bulk_import.py:149 netbox/vpn/forms/bulk_import.py:195 +#: netbox/vpn/forms/filtersets.py:106 netbox/vpn/forms/filtersets.py:154 msgid "Encryption algorithm" msgstr "加密算法" -#: templates/vpn/ikeproposal.html:29 templates/vpn/ipsecproposal.html:25 -#: vpn/forms/bulk_edit.py:107 vpn/forms/bulk_edit.py:177 -#: vpn/forms/bulk_import.py:153 vpn/forms/bulk_import.py:200 -#: vpn/forms/filtersets.py:111 vpn/forms/filtersets.py:159 +#: netbox/templates/vpn/ikeproposal.html:29 +#: netbox/templates/vpn/ipsecproposal.html:25 +#: netbox/vpn/forms/bulk_edit.py:107 netbox/vpn/forms/bulk_edit.py:177 +#: netbox/vpn/forms/bulk_import.py:153 netbox/vpn/forms/bulk_import.py:200 +#: netbox/vpn/forms/filtersets.py:111 netbox/vpn/forms/filtersets.py:159 msgid "Authentication algorithm" -msgstr "身份验证算法" +msgstr "认证算法" -#: templates/vpn/ikeproposal.html:33 +#: netbox/templates/vpn/ikeproposal.html:33 msgid "DH group" -msgstr "DH 小组" +msgstr "DH group" -#: templates/vpn/ikeproposal.html:37 templates/vpn/ipsecproposal.html:29 -#: vpn/forms/bulk_edit.py:182 vpn/models/crypto.py:146 +#: netbox/templates/vpn/ikeproposal.html:37 +#: netbox/templates/vpn/ipsecproposal.html:29 +#: netbox/vpn/forms/bulk_edit.py:182 netbox/vpn/models/crypto.py:146 msgid "SA lifetime (seconds)" -msgstr "SA 生命周期(秒)" +msgstr "SA生存期(秒)" -#: templates/vpn/ipsecpolicy.html:10 templates/vpn/ipsecprofile.html:66 -#: vpn/tables/crypto.py:170 +#: netbox/templates/vpn/ipsecpolicy.html:10 +#: netbox/templates/vpn/ipsecprofile.html:66 netbox/vpn/tables/crypto.py:170 msgid "IPSec Policy" -msgstr "IPsec 政策" +msgstr "IPSec Policy" -#: templates/vpn/ipsecpolicy.html:21 vpn/forms/bulk_edit.py:210 -#: vpn/models/crypto.py:193 +#: netbox/templates/vpn/ipsecpolicy.html:21 netbox/vpn/forms/bulk_edit.py:210 +#: netbox/vpn/models/crypto.py:193 msgid "PFS group" -msgstr "PFS 群组" +msgstr "PFS group" -#: templates/vpn/ipsecprofile.html:10 vpn/forms/model_forms.py:54 +#: netbox/templates/vpn/ipsecprofile.html:10 +#: netbox/vpn/forms/model_forms.py:54 msgid "IPSec Profile" -msgstr "IPsec 配置文件" +msgstr "IPSec Profile" -#: templates/vpn/ipsecprofile.html:89 vpn/tables/crypto.py:137 +#: netbox/templates/vpn/ipsecprofile.html:89 netbox/vpn/tables/crypto.py:137 msgid "PFS Group" -msgstr "PFS 集团" +msgstr "PFS Group" -#: templates/vpn/ipsecproposal.html:10 +#: netbox/templates/vpn/ipsecproposal.html:10 msgid "IPSec Proposal" -msgstr "IPsec 提案" +msgstr "IPSec Proposal" -#: templates/vpn/ipsecproposal.html:33 vpn/forms/bulk_edit.py:186 -#: vpn/models/crypto.py:152 +#: netbox/templates/vpn/ipsecproposal.html:33 +#: netbox/vpn/forms/bulk_edit.py:186 netbox/vpn/models/crypto.py:152 msgid "SA lifetime (KB)" -msgstr "SA 生命周期 (KB)" +msgstr "SA生存大小(KB)" -#: templates/vpn/l2vpn.html:11 templates/vpn/l2vpntermination.html:9 +#: netbox/templates/vpn/l2vpn.html:11 +#: netbox/templates/vpn/l2vpntermination.html:9 msgid "L2VPN Attributes" msgstr "L2VPN 属性" -#: templates/vpn/l2vpn.html:60 templates/vpn/tunnel.html:76 +#: netbox/templates/vpn/l2vpn.html:60 netbox/templates/vpn/tunnel.html:76 msgid "Add a Termination" -msgstr "添加终止信息" +msgstr "增加接入点" -#: templates/vpn/tunnel.html:9 +#: netbox/templates/vpn/tunnel.html:9 msgid "Add Termination" -msgstr "添加终止" +msgstr "增加接入点" -#: templates/vpn/tunnel.html:37 vpn/forms/bulk_edit.py:49 -#: vpn/forms/bulk_import.py:48 vpn/forms/filtersets.py:57 +#: netbox/templates/vpn/tunnel.html:37 netbox/vpn/forms/bulk_edit.py:49 +#: netbox/vpn/forms/bulk_import.py:48 netbox/vpn/forms/filtersets.py:57 msgid "Encapsulation" msgstr "封装" -#: templates/vpn/tunnel.html:41 vpn/forms/bulk_edit.py:55 -#: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:64 -#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51 +#: netbox/templates/vpn/tunnel.html:41 netbox/vpn/forms/bulk_edit.py:55 +#: netbox/vpn/forms/bulk_import.py:53 netbox/vpn/forms/filtersets.py:64 +#: netbox/vpn/models/crypto.py:250 netbox/vpn/tables/tunnels.py:51 msgid "IPSec profile" -msgstr "IPsec 配置文件" +msgstr "IPSec profile" -#: templates/vpn/tunnel.html:45 vpn/forms/bulk_edit.py:69 -#: vpn/forms/filtersets.py:68 +#: netbox/templates/vpn/tunnel.html:45 netbox/vpn/forms/bulk_edit.py:69 +#: netbox/vpn/forms/filtersets.py:68 msgid "Tunnel ID" -msgstr "隧道 ID" +msgstr "Tunnel ID" -#: templates/vpn/tunnelgroup.html:14 +#: netbox/templates/vpn/tunnelgroup.html:14 msgid "Add Tunnel" -msgstr "添加隧道" +msgstr "增加 Tunnel" -#: templates/vpn/tunnelgroup.html:23 vpn/forms/model_forms.py:36 -#: vpn/forms/model_forms.py:49 +#: netbox/templates/vpn/tunnelgroup.html:23 netbox/vpn/forms/model_forms.py:36 +#: netbox/vpn/forms/model_forms.py:49 msgid "Tunnel Group" -msgstr "隧道集团" +msgstr "Tunnel 组" -#: templates/vpn/tunneltermination.html:10 +#: netbox/templates/vpn/tunneltermination.html:10 msgid "Tunnel Termination" -msgstr "隧道终止" +msgstr "Tunnel 接入点" -#: templates/vpn/tunneltermination.html:35 vpn/forms/bulk_import.py:107 -#: vpn/forms/model_forms.py:102 vpn/forms/model_forms.py:138 -#: vpn/forms/model_forms.py:247 vpn/tables/tunnels.py:101 +#: netbox/templates/vpn/tunneltermination.html:35 +#: netbox/vpn/forms/bulk_import.py:107 netbox/vpn/forms/model_forms.py:102 +#: netbox/vpn/forms/model_forms.py:138 netbox/vpn/forms/model_forms.py:247 +#: netbox/vpn/tables/tunnels.py:101 msgid "Outside IP" msgstr "外部 IP" -#: templates/vpn/tunneltermination.html:51 +#: netbox/templates/vpn/tunneltermination.html:51 msgid "Peer Terminations" -msgstr "同行终止" +msgstr "对等体接入点" -#: templates/wireless/inc/authentication_attrs.html:12 +#: netbox/templates/wireless/inc/authentication_attrs.html:12 msgid "Cipher" -msgstr "密码" +msgstr "加密" -#: templates/wireless/inc/authentication_attrs.html:16 +#: netbox/templates/wireless/inc/authentication_attrs.html:16 msgid "PSK" -msgstr "PSK" +msgstr "PSK-共享密钥" -#: templates/wireless/inc/wirelesslink_interface.html:35 -#: templates/wireless/inc/wirelesslink_interface.html:45 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:35 +#: netbox/templates/wireless/inc/wirelesslink_interface.html:45 msgctxt "Abbreviation for megahertz" msgid "MHz" -msgstr "兆赫" +msgstr "MHz" -#: templates/wireless/wirelesslan.html:57 +#: netbox/templates/wireless/wirelesslan.html:57 msgid "Attached Interfaces" -msgstr "连接的接口" +msgstr "附加接口" -#: templates/wireless/wirelesslangroup.html:17 +#: netbox/templates/wireless/wirelesslangroup.html:17 msgid "Add Wireless LAN" -msgstr "添加无线局域网" +msgstr "增加无线局域网" -#: templates/wireless/wirelesslangroup.html:26 -#: wireless/forms/model_forms.py:28 +#: netbox/templates/wireless/wirelesslangroup.html:26 +#: netbox/wireless/forms/model_forms.py:28 msgid "Wireless LAN Group" msgstr "无线局域网组" -#: templates/wireless/wirelesslangroup.html:59 +#: netbox/templates/wireless/wirelesslangroup.html:59 msgid "Add Wireless LAN Group" -msgstr "添加无线局域网组" +msgstr "增加无线局域网组" -#: templates/wireless/wirelesslink.html:14 +#: netbox/templates/wireless/wirelesslink.html:14 msgid "Link Properties" msgstr "链接属性" -#: tenancy/choices.py:19 +#: netbox/tenancy/choices.py:19 msgid "Tertiary" -msgstr "大专教育" +msgstr "第三级联系人" -#: tenancy/choices.py:20 +#: netbox/tenancy/choices.py:20 msgid "Inactive" -msgstr "不活跃" +msgstr "已失效" -#: tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:29 msgid "Parent contact group (ID)" -msgstr "家长联系小组 (ID)" +msgstr "父联系人组 (ID)" -#: tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:35 msgid "Parent contact group (slug)" -msgstr "家长联络小组(slug)" +msgstr "父联系人组 (缩写)" -#: tenancy/filtersets.py:41 tenancy/filtersets.py:68 tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 +#: netbox/tenancy/filtersets.py:111 msgid "Contact group (ID)" msgstr "联系人组 (ID)" -#: tenancy/filtersets.py:48 tenancy/filtersets.py:75 tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 +#: netbox/tenancy/filtersets.py:118 msgid "Contact group (slug)" -msgstr "联络小组(slug)" +msgstr "联系人组(缩写)" -#: tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:105 msgid "Contact (ID)" msgstr "联系人 (ID)" -#: tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:122 msgid "Contact role (ID)" msgstr "联系人角色 (ID)" -#: tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:128 msgid "Contact role (slug)" -msgstr "联系人角色(slug)" +msgstr "联系人角色(缩写)" -#: tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:159 msgid "Contact group" -msgstr "联系小组" +msgstr "联系人组" -#: tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:170 msgid "Parent tenant group (ID)" msgstr "父租户组 (ID)" -#: tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:176 msgid "Parent tenant group (slug)" -msgstr "父租户群组 (slug)" +msgstr "上级租户组(slug)" -#: tenancy/filtersets.py:182 tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 msgid "Tenant group (ID)" msgstr "租户组 (ID)" -#: tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:235 msgid "Tenant Group (ID)" msgstr "租户组 (ID)" -#: tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:242 msgid "Tenant Group (slug)" -msgstr "租户群组(slug)" +msgstr "租户组(缩写)" -#: tenancy/forms/bulk_edit.py:66 +#: netbox/tenancy/forms/bulk_edit.py:66 msgid "Desciption" msgstr "描述" -#: tenancy/forms/bulk_import.py:101 +#: netbox/tenancy/forms/bulk_import.py:101 msgid "Assigned contact" -msgstr "分配的联系人" +msgstr "分配联系人" -#: tenancy/models/contacts.py:32 +#: netbox/tenancy/models/contacts.py:32 msgid "contact group" -msgstr "联系小组" +msgstr "联系人组" -#: tenancy/models/contacts.py:33 +#: netbox/tenancy/models/contacts.py:33 msgid "contact groups" -msgstr "联系小组" +msgstr "联系人组" -#: tenancy/models/contacts.py:48 +#: netbox/tenancy/models/contacts.py:48 msgid "contact role" msgstr "联系人角色" -#: tenancy/models/contacts.py:49 +#: netbox/tenancy/models/contacts.py:49 msgid "contact roles" msgstr "联系人角色" -#: tenancy/models/contacts.py:68 +#: netbox/tenancy/models/contacts.py:68 msgid "title" -msgstr "标题" +msgstr "职位" -#: tenancy/models/contacts.py:73 +#: netbox/tenancy/models/contacts.py:73 msgid "phone" -msgstr "电话" +msgstr "电话号" -#: tenancy/models/contacts.py:78 +#: netbox/tenancy/models/contacts.py:78 msgid "email" -msgstr "电子邮件" +msgstr "电子邮箱" -#: tenancy/models/contacts.py:87 +#: netbox/tenancy/models/contacts.py:87 msgid "link" msgstr "链接" -#: tenancy/models/contacts.py:103 +#: netbox/tenancy/models/contacts.py:103 msgid "contact" -msgstr "联系" +msgstr "联系人" -#: tenancy/models/contacts.py:104 +#: netbox/tenancy/models/contacts.py:104 msgid "contacts" msgstr "联系人" -#: tenancy/models/contacts.py:153 +#: netbox/tenancy/models/contacts.py:153 msgid "contact assignment" msgstr "联系人分配" -#: tenancy/models/contacts.py:154 +#: netbox/tenancy/models/contacts.py:154 msgid "contact assignments" -msgstr "联系任务" +msgstr "联系人分配" -#: tenancy/models/contacts.py:170 +#: netbox/tenancy/models/contacts.py:170 #, python-brace-format msgid "Contacts cannot be assigned to this object type ({type})." -msgstr "无法将联系人分配给此对象类型 ({type})。" +msgstr "无法将联系人分配给此对象类型 ({type})." -#: tenancy/models/tenants.py:32 +#: netbox/tenancy/models/tenants.py:32 msgid "tenant group" msgstr "租户组" -#: tenancy/models/tenants.py:33 +#: netbox/tenancy/models/tenants.py:33 msgid "tenant groups" -msgstr "租户群组" +msgstr "租户组" -#: tenancy/models/tenants.py:70 +#: netbox/tenancy/models/tenants.py:70 msgid "Tenant name must be unique per group." -msgstr "每个组的租户名称必须是唯一的。" +msgstr "每个组的租户名称必须唯一。" -#: tenancy/models/tenants.py:80 +#: netbox/tenancy/models/tenants.py:80 msgid "Tenant slug must be unique per group." -msgstr "每个群组的租户标签必须是唯一的。" +msgstr "每个组的租户缩写必须是唯一的。" -#: tenancy/models/tenants.py:88 +#: netbox/tenancy/models/tenants.py:88 msgid "tenant" msgstr "租户" -#: tenancy/models/tenants.py:89 +#: netbox/tenancy/models/tenants.py:89 msgid "tenants" -msgstr "租户们" +msgstr "租户" -#: tenancy/tables/contacts.py:112 +#: netbox/tenancy/tables/contacts.py:112 msgid "Contact Title" -msgstr "联系人标题" +msgstr "联系人职位" -#: tenancy/tables/contacts.py:116 +#: netbox/tenancy/tables/contacts.py:116 msgid "Contact Phone" -msgstr "联系电话" +msgstr "联系人电话号" -#: tenancy/tables/contacts.py:120 +#: netbox/tenancy/tables/contacts.py:120 msgid "Contact Email" -msgstr "联系人邮箱" +msgstr "联系人电子邮箱" -#: tenancy/tables/contacts.py:124 +#: netbox/tenancy/tables/contacts.py:124 msgid "Contact Address" -msgstr "联系地址" +msgstr "联系人地址" -#: tenancy/tables/contacts.py:128 +#: netbox/tenancy/tables/contacts.py:128 msgid "Contact Link" -msgstr "联系链接" +msgstr "联系人链接" -#: tenancy/tables/contacts.py:132 +#: netbox/tenancy/tables/contacts.py:132 msgid "Contact Description" msgstr "联系人描述" -#: users/filtersets.py:33 users/filtersets.py:68 +#: netbox/users/filtersets.py:33 netbox/users/filtersets.py:68 msgid "Permission (ID)" -msgstr "权限 (ID)" +msgstr "权限(ID)" -#: users/filtersets.py:63 users/filtersets.py:181 +#: netbox/users/filtersets.py:63 netbox/users/filtersets.py:181 msgid "Group (name)" -msgstr "群组(名称)" +msgstr "组 (名字)" -#: users/forms/bulk_edit.py:26 +#: netbox/users/forms/bulk_edit.py:26 msgid "First name" msgstr "名字" -#: users/forms/bulk_edit.py:31 +#: netbox/users/forms/bulk_edit.py:31 msgid "Last name" msgstr "姓氏" -#: users/forms/bulk_edit.py:43 +#: netbox/users/forms/bulk_edit.py:43 msgid "Staff status" -msgstr "员工身份" +msgstr "工作人员状态" -#: users/forms/bulk_edit.py:48 +#: netbox/users/forms/bulk_edit.py:48 msgid "Superuser status" msgstr "超级用户状态" -#: users/forms/bulk_import.py:41 +#: netbox/users/forms/bulk_import.py:41 msgid "If no key is provided, one will be generated automatically." -msgstr "如果未提供密钥,则将自动生成一个密钥。" +msgstr "如果未提供密钥,则会自动生成一个。" -#: users/forms/filtersets.py:52 users/tables.py:42 +#: netbox/users/forms/filtersets.py:52 netbox/users/tables.py:42 msgid "Is Staff" -msgstr "是员工" +msgstr "是工作人员" -#: users/forms/filtersets.py:59 users/tables.py:45 +#: netbox/users/forms/filtersets.py:59 netbox/users/tables.py:45 msgid "Is Superuser" msgstr "是超级用户" -#: users/forms/filtersets.py:92 users/tables.py:86 +#: netbox/users/forms/filtersets.py:92 netbox/users/tables.py:86 msgid "Can View" -msgstr "可以查看" +msgstr "可查看" -#: users/forms/filtersets.py:99 users/tables.py:89 +#: netbox/users/forms/filtersets.py:99 netbox/users/tables.py:89 msgid "Can Add" msgstr "可以添加" -#: users/forms/filtersets.py:106 users/tables.py:92 +#: netbox/users/forms/filtersets.py:106 netbox/users/tables.py:92 msgid "Can Change" -msgstr "可以改变" +msgstr "可更改" -#: users/forms/filtersets.py:113 users/tables.py:95 +#: netbox/users/forms/filtersets.py:113 netbox/users/tables.py:95 msgid "Can Delete" -msgstr "可以删除" +msgstr "可删除" -#: users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:63 msgid "User Interface" -msgstr "用户界面" +msgstr "用户接口" -#: users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:115 msgid "" "Keys must be at least 40 characters in length. Be sure to record " "your key prior to submitting this form, as it may no longer be " "accessible once the token has been created." msgstr "" -"密钥的长度必须至少为 40 个字符。 一定要记录好你的密钥 " -"在提交此表单之前,因为一旦创建了令牌,就可能无法再访问该表单。" +"Keys的长度必须至少为40个字符。在提交此表单之前请务必记录您的key因为一旦创建了令牌,就可能无法再访问该Keys。" -#: users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:127 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " "10.1.1.0/24,192.168.10.16/32,2001:db8:1::/64" msgstr "" -"允许使用令牌的 IPv4/IPv6 网络。留空表示没有限制。示例: 10.1.1.0/24,192.168.10.16/32,2001: " -"db 8:1:: /64" +"允许使用Token的 IPv4/IPv6 网络。留空表示无限制。示例: " +"10.1.1.0/24,192.168.10.16/32,2001:db8:1::/64" -#: users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:176 msgid "Confirm password" msgstr "确认密码" -#: users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:179 msgid "Enter the same password as before, for verification." msgstr "输入与以前相同的密码进行验证。" -#: users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:228 msgid "Passwords do not match! Please check your input and try again." -msgstr "密码不匹配!请检查您的输入并重试。" +msgstr "密码错误!请检查您的输入,然后重试。" -#: users/forms/model_forms.py:291 +#: netbox/users/forms/model_forms.py:291 msgid "Additional actions" -msgstr "其他行动" +msgstr "其他操作" -#: users/forms/model_forms.py:294 +#: netbox/users/forms/model_forms.py:294 msgid "Actions granted in addition to those listed above" -msgstr "除上面列出的行动外,还批准了行动" +msgstr "除上述操作外,还批准了其他操作" -#: users/forms/model_forms.py:310 +#: netbox/users/forms/model_forms.py:310 msgid "Objects" -msgstr "物体" +msgstr "对象" -#: users/forms/model_forms.py:322 +#: netbox/users/forms/model_forms.py:322 msgid "" "JSON expression of a queryset filter that will return only permitted " "objects. Leave null to match all objects of this type. A list of multiple " "objects will result in a logical OR operation." -msgstr "查询集过滤器的 JSON 表达式,仅返回允许的对象。保留 null 以匹配该类型的所有对象。多个对象的列表将生成逻辑 OR 运算。" +msgstr "查询集筛选器的JSON表达式,该表达式将只返回允许的对象。保留null以匹配此类型的所有对象。多个对象的列表将执行“或”运算。" -#: users/forms/model_forms.py:361 +#: netbox/users/forms/model_forms.py:361 msgid "At least one action must be selected." -msgstr "必须至少选择一项操作。" +msgstr "必须至少选择一个操作。" -#: users/forms/model_forms.py:379 +#: netbox/users/forms/model_forms.py:379 #, python-brace-format msgid "Invalid filter for {model}: {error}" -msgstr "的过滤器无效 {model}: {error}" +msgstr "{model}的筛选器无效: {error}" -#: users/models/permissions.py:39 +#: netbox/users/models/permissions.py:39 msgid "The list of actions granted by this permission" -msgstr "此权限授予的操作列表" +msgstr "该权限授予的操作列表" -#: users/models/permissions.py:44 +#: netbox/users/models/permissions.py:44 msgid "constraints" -msgstr "限制的" +msgstr "限制条件" -#: users/models/permissions.py:45 +#: netbox/users/models/permissions.py:45 msgid "" "Queryset filter matching the applicable objects of the selected type(s)" -msgstr "与选定类型的适用对象相匹配的查询集过滤器" +msgstr "与所选类型的适用对象匹配的查询集过滤器" -#: users/models/permissions.py:52 +#: netbox/users/models/permissions.py:52 msgid "permission" -msgstr "许可" +msgstr "允许" -#: users/models/permissions.py:53 users/models/users.py:47 +#: netbox/users/models/permissions.py:53 netbox/users/models/users.py:47 msgid "permissions" -msgstr "许可" +msgstr "权限" -#: users/models/preferences.py:30 users/models/preferences.py:31 +#: netbox/users/models/preferences.py:30 netbox/users/models/preferences.py:31 msgid "user preferences" -msgstr "用户偏好" +msgstr "用户首选项" -#: users/models/preferences.py:98 +#: netbox/users/models/preferences.py:98 #, python-brace-format msgid "Key '{path}' is a leaf node; cannot assign new keys" -msgstr "密钥 '{path}'是叶节点;无法分配新密钥" +msgstr "Key '{path}' 是一个子节点;无法分配新密钥" -#: users/models/preferences.py:110 +#: netbox/users/models/preferences.py:110 #, python-brace-format msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value" -msgstr "密钥 '{path}'是字典;无法分配非字典值" +msgstr "Key '{path}'是一个字典;无法分配非字典值" -#: users/models/tokens.py:37 +#: netbox/users/models/tokens.py:37 msgid "expires" -msgstr "到期" +msgstr "过期" -#: users/models/tokens.py:42 +#: netbox/users/models/tokens.py:42 msgid "last used" -msgstr "上次使用" +msgstr "最后使用" -#: users/models/tokens.py:47 +#: netbox/users/models/tokens.py:47 msgid "key" -msgstr "钥匙" +msgstr "key" -#: users/models/tokens.py:53 +#: netbox/users/models/tokens.py:53 msgid "write enabled" -msgstr "写入已启用" +msgstr "可写开启" -#: users/models/tokens.py:55 +#: netbox/users/models/tokens.py:55 msgid "Permit create/update/delete operations using this key" msgstr "允许使用此密钥进行创建/更新/删除操作" -#: users/models/tokens.py:66 +#: netbox/users/models/tokens.py:66 msgid "allowed IPs" -msgstr "允许的 IP" +msgstr "允许的IP" -#: users/models/tokens.py:68 +#: netbox/users/models/tokens.py:68 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\"" msgstr "" -"允许使用令牌的 IPv4/IPv6 网络。留空表示没有限制。例如:“10.1.1.0/24、192.168.10.16/32、2001: DB " -"8:1:: /64”" +"允许使用 token 的 IPv4/IPv6 网络。 留空表示没有限制。 " +"例如:“10.1.1.0/24、192.168.10.16/32、2001:DB8:1::/64”" -#: users/models/tokens.py:76 +#: netbox/users/models/tokens.py:76 msgid "token" -msgstr "代币" +msgstr "token" -#: users/models/tokens.py:77 +#: netbox/users/models/tokens.py:77 msgid "tokens" -msgstr "象征" +msgstr "tokens" -#: users/models/users.py:57 vpn/models/crypto.py:42 +#: netbox/users/models/users.py:57 netbox/vpn/models/crypto.py:42 msgid "group" msgstr "组" -#: users/models/users.py:58 users/models/users.py:77 +#: netbox/users/models/users.py:58 netbox/users/models/users.py:77 msgid "groups" msgstr "组" -#: users/models/users.py:92 +#: netbox/users/models/users.py:92 msgid "user" msgstr "用户" -#: users/models/users.py:93 +#: netbox/users/models/users.py:93 msgid "users" msgstr "用户" -#: users/models/users.py:104 +#: netbox/users/models/users.py:104 msgid "A user with this username already exists." -msgstr "使用此用户名的用户已经存在。" +msgstr "使用此用户名的用户已存在。" -#: users/tables.py:98 +#: netbox/users/tables.py:98 msgid "Custom Actions" msgstr "自定义操作" -#: utilities/api.py:153 +#: netbox/utilities/api.py:153 #, python-brace-format msgid "Related object not found using the provided attributes: {params}" -msgstr "使用提供的属性未找到相关对象: {params}" +msgstr "使用提供的属性找不到相关对象: {params}" -#: utilities/api.py:156 +#: netbox/utilities/api.py:156 #, python-brace-format msgid "Multiple objects match the provided attributes: {params}" -msgstr "多个对象匹配提供的属性: {params}" +msgstr "多个对象与提供的属性匹配: {params}" -#: utilities/api.py:168 +#: netbox/utilities/api.py:168 #, python-brace-format msgid "" "Related objects must be referenced by numeric ID or by dictionary of " "attributes. Received an unrecognized value: {value}" -msgstr "必须通过数字 ID 或属性字典引用相关对象。收到了一个无法识别的值: {value}" +msgstr "相关对象必须由数字ID或属性字典引用。接收到无法识别的值: {value}" -#: utilities/api.py:177 +#: netbox/utilities/api.py:177 #, python-brace-format msgid "Related object not found using the provided numeric ID: {id}" -msgstr "使用提供的数字 ID 未找到相关对象: {id}" +msgstr "使用提供的ID找不到相关对象: {id}" -#: utilities/choices.py:19 +#: netbox/utilities/choices.py:19 #, python-brace-format msgid "{name} has a key defined but CHOICES is not a list" -msgstr "{name} 已定义密钥但是 CHOICES 不是列表" +msgstr "{name} 已定义键,但 CHOICES 不是列表" -#: utilities/conversion.py:19 +#: netbox/utilities/conversion.py:19 msgid "Weight must be a positive number" -msgstr "重量必须为正数" +msgstr "重量必须是正数" -#: utilities/conversion.py:21 +#: netbox/utilities/conversion.py:21 #, python-brace-format msgid "Invalid value '{weight}' for weight (must be a number)" -msgstr "值无效 '{weight}'表示重量(必须是数字)" +msgstr " '{weight}' 为无效重量(必须是数字)" -#: utilities/conversion.py:32 utilities/conversion.py:62 +#: netbox/utilities/conversion.py:32 netbox/utilities/conversion.py:62 #, python-brace-format msgid "Unknown unit {unit}. Must be one of the following: {valid_units}" -msgstr "未知单位 {unit}。必须是以下之一: {valid_units}" +msgstr "无效单位{unit}. 必须是这些: {valid_units}" -#: utilities/conversion.py:45 +#: netbox/utilities/conversion.py:45 msgid "Length must be a positive number" -msgstr "长度必须为正数" +msgstr "长度必须是正数" -#: utilities/conversion.py:47 +#: netbox/utilities/conversion.py:47 #, python-brace-format msgid "Invalid value '{length}' for length (must be a number)" -msgstr "值无效 '{length}'表示长度(必须是数字)" +msgstr " '{length}' 为无效的长度(必须是数字)" -#: utilities/error_handlers.py:31 +#: netbox/utilities/error_handlers.py:31 #, python-brace-format msgid "" "Unable to delete {objects}. {count} dependent objects were " "found: " -msgstr "无法删除 {objects}。 {count} 找到了依赖对象: " +msgstr "无法删除{objects}。 找到了 {count} 个依赖对象:" -#: utilities/error_handlers.py:33 +#: netbox/utilities/error_handlers.py:33 msgid "More than 50" -msgstr "大于 50" +msgstr "超过50个" -#: utilities/fields.py:157 +#: netbox/utilities/fields.py:30 +msgid "RGB color in hexadecimal. Example: " +msgstr "以十六进制表示的 RGB 颜色。例如:" + +#: netbox/utilities/fields.py:159 #, python-format msgid "" "%s(%r) is invalid. to_model parameter to CounterCacheField must be a string " "in the format 'app.model'" -msgstr "%s(%r) 无效。CounterCacheField 的 to_model 参数必须是格式为 “app.model” 的字符串" +msgstr "%s(%r)无效。CounterCacheField的to_model参数必须是格式为“app.model”的字符串" -#: utilities/fields.py:167 +#: netbox/utilities/fields.py:169 #, python-format msgid "" "%s(%r) is invalid. to_field parameter to CounterCacheField must be a string " "in the format 'field'" -msgstr "%s(%r) 无效。CounterCacheField 的 to_field 参数必须是格式为 “字段” 的字符串" +msgstr "%s(%r)无效。CounterCacheField的to_field参数必须是格式为“field”的字符串" -#: utilities/forms/bulk_import.py:23 +#: netbox/utilities/forms/bulk_import.py:23 msgid "Enter object data in CSV, JSON or YAML format." -msgstr "以 CSV、JSON 或 YAML 格式输入对象数据。" +msgstr "输入 CSV、JSON 或 YAML 格式的对象数据。" -#: utilities/forms/bulk_import.py:36 +#: netbox/utilities/forms/bulk_import.py:36 msgid "CSV delimiter" msgstr "CSV 分隔符" -#: utilities/forms/bulk_import.py:37 +#: netbox/utilities/forms/bulk_import.py:37 msgid "The character which delimits CSV fields. Applies only to CSV format." -msgstr "分隔 CSV 字段的字符。仅适用于 CSV 格式。" +msgstr "分隔 CSV 字段的字符。 仅适用于 CSV 格式。" -#: utilities/forms/bulk_import.py:51 +#: netbox/utilities/forms/bulk_import.py:51 msgid "Form data must be empty when uploading/selecting a file." msgstr "上传/选择文件时,表单数据必须为空。" -#: utilities/forms/bulk_import.py:80 +#: netbox/utilities/forms/bulk_import.py:80 #, python-brace-format msgid "Unknown data format: {format}" -msgstr "未知的数据格式: {format}" +msgstr "未知数据格式:{format}" -#: utilities/forms/bulk_import.py:100 +#: netbox/utilities/forms/bulk_import.py:100 msgid "Unable to detect data format. Please specify." -msgstr "无法检测数据格式。请具体说明。" +msgstr "无法检测数据格式。 请明确说明。" -#: utilities/forms/bulk_import.py:123 +#: netbox/utilities/forms/bulk_import.py:123 msgid "Invalid CSV delimiter" msgstr "CSV 分隔符无效" -#: utilities/forms/bulk_import.py:167 +#: netbox/utilities/forms/bulk_import.py:167 msgid "" "Invalid YAML data. Data must be in the form of multiple documents, or a " "single document comprising a list of dictionaries." -msgstr "YAML 数据无效。数据必须采用多个文档的形式,或包含字典列表的单个文档的形式。" +msgstr "YAML 数据无效。 数据必须采用多个文档的形式,或包含字典列表的单个文档。" -#: utilities/forms/fields/array.py:17 +#: netbox/utilities/forms/fields/array.py:17 #, python-brace-format msgid "" "Invalid list ({value}). Must be numeric and ranges must be in ascending " "order." -msgstr "清单无效 ({value})。必须是数字,范围必须按升序排列。" +msgstr "列表 ({value}) 无效。 必须是数字,并且范围必须按升序排列。" -#: utilities/forms/fields/csv.py:44 +#: netbox/utilities/forms/fields/csv.py:44 #, python-brace-format msgid "Invalid value for a multiple choice field: {value}" -msgstr "多项选择字段的值无效: {value}" +msgstr "多项选择字段的值无效:{value}" -#: utilities/forms/fields/csv.py:57 utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:57 +#: netbox/utilities/forms/fields/csv.py:74 #, python-format msgid "Object not found: %(value)s" -msgstr "未找到对象: %(value)s" +msgstr "未找到对象:·%(value)s" -#: utilities/forms/fields/csv.py:65 +#: netbox/utilities/forms/fields/csv.py:65 #, python-brace-format msgid "" "\"{value}\" is not a unique value for this field; multiple objects were " "found" -msgstr "“{value}“不是此字段的唯一值;找到了多个对象" +msgstr "\"{value}\" 不是此字段的唯一值;找到多个对象" -#: utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:97 msgid "Object type must be specified as \".\"" -msgstr "必须将对象类型指定为”“" +msgstr "对象类型必须定义为\".\"" -#: utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:101 msgid "Invalid object type" -msgstr "对象类型无效" +msgstr "无效的对象类型" -#: utilities/forms/fields/expandable.py:25 +#: netbox/utilities/forms/fields/expandable.py:25 msgid "" "Alphanumeric ranges are supported for bulk creation. Mixed cases and types " "within a single range are not supported (example: " "[ge,xe]-0/0/[0-9])." -msgstr "批量创建支持字母数字范围。不支持单个范围内的混合大小写和类型(例如: [ge,xe] -0/0/ [0-9])。" +msgstr "批量创建时支持字母数字范围。不支持在单个范围内混合字符和数字 (例如: [ge,xe]-0/0/[0-9])." -#: utilities/forms/fields/expandable.py:46 +#: netbox/utilities/forms/fields/expandable.py:46 msgid "" "Specify a numeric range to create multiple IPs.
Example: " "192.0.2.[1,5,100-254]/24" -msgstr "指定数值范围以创建多个 IP。
示例: 192.0.2. [1,5,100-254] /24" +msgstr "指定一个范围以创建多个IP。示例
示例: 192.0.2.[1,5,100-254]/24" -#: utilities/forms/fields/fields.py:31 +#: netbox/utilities/forms/fields/fields.py:31 #, python-brace-format msgid "" " Markdown syntax is supported" msgstr "" -" 降价 支持语法" +"支持 Markdown 语法" -#: utilities/forms/fields/fields.py:48 +#: netbox/utilities/forms/fields/fields.py:48 msgid "URL-friendly unique shorthand" -msgstr "网址友好的独特速记" +msgstr "URL友好的唯一简写,是URL中最后一个反斜杠之后的部分" -#: utilities/forms/fields/fields.py:101 +#: netbox/utilities/forms/fields/fields.py:101 msgid "Enter context data in JSON format." -msgstr "在中输入上下文数据 JSON 格式。" +msgstr "以JSON格式输入数据。" -#: utilities/forms/fields/fields.py:124 +#: netbox/utilities/forms/fields/fields.py:124 msgid "MAC address must be in EUI-48 format" msgstr "MAC 地址必须采用 EUI-48 格式" -#: utilities/forms/forms.py:52 +#: netbox/utilities/forms/forms.py:52 msgid "Use regular expressions" msgstr "使用正则表达式" -#: utilities/forms/forms.py:75 +#: netbox/utilities/forms/forms.py:75 msgid "" "Numeric ID of an existing object to update (if not creating a new object)" -msgstr "要更新的现有对象的数字 ID(如果不是创建新对象)" +msgstr "要更新的现有对象的数字 ID(如果不创建新对象)" -#: utilities/forms/forms.py:92 +#: netbox/utilities/forms/forms.py:92 #, python-brace-format msgid "Unrecognized header: {name}" -msgstr "无法识别的标题: {name}" +msgstr "无法识别的列头: {name}" -#: utilities/forms/forms.py:118 +#: netbox/utilities/forms/forms.py:118 msgid "Available Columns" msgstr "可用列" -#: utilities/forms/forms.py:126 +#: netbox/utilities/forms/forms.py:126 msgid "Selected Columns" -msgstr "所选专栏" +msgstr "选定的列" -#: utilities/forms/mixins.py:44 +#: netbox/utilities/forms/mixins.py:44 msgid "" "This object has been modified since the form was rendered. Please consult " "the object's change log for details." -msgstr "自表单呈现以来,此对象已被修改。有关详细信息,请查阅对象的更改日志。" +msgstr "自呈现表单以来,该对象已被修改。 有关详细信息,请查阅对象的更改日志。" -#: utilities/forms/utils.py:42 utilities/forms/utils.py:68 -#: utilities/forms/utils.py:85 utilities/forms/utils.py:87 +#: netbox/utilities/forms/utils.py:42 netbox/utilities/forms/utils.py:68 +#: netbox/utilities/forms/utils.py:85 netbox/utilities/forms/utils.py:87 #, python-brace-format msgid "Range \"{value}\" is invalid." -msgstr "范围”{value}“无效。" +msgstr "范围 \"{value}\"无效。" -#: utilities/forms/utils.py:74 +#: netbox/utilities/forms/utils.py:74 #, python-brace-format msgid "" "Invalid range: Ending value ({end}) must be greater than beginning value " "({begin})." -msgstr "无效范围:结束值 ({end}) 必须大于起始值 ({begin})。" +msgstr "无效的范围:结束值({end})必须大于开始值({begin})。" -#: utilities/forms/utils.py:232 +#: netbox/utilities/forms/utils.py:232 #, python-brace-format msgid "Duplicate or conflicting column header for \"{field}\"" -msgstr "” 的列标题重复或冲突{field}“" +msgstr "\"{field}\"的列标题重复或冲突" -#: utilities/forms/utils.py:238 +#: netbox/utilities/forms/utils.py:238 #, python-brace-format msgid "Duplicate or conflicting column header for \"{header}\"" -msgstr "” 的列标题重复或冲突{header}“" +msgstr "\"{header}\"的列标题重复或冲突" -#: utilities/forms/utils.py:247 +#: netbox/utilities/forms/utils.py:247 #, python-brace-format msgid "Row {row}: Expected {count_expected} columns but found {count_found}" -msgstr "行 {row}: 预期 {count_expected} 列但已找到 {count_found}" +msgstr "第{row}行: 应该有{count_expected}列,但是发现了{count_found}列" -#: utilities/forms/utils.py:270 +#: netbox/utilities/forms/utils.py:270 #, python-brace-format msgid "Unexpected column header \"{field}\" found." -msgstr "意外的列标题”{field}“找到了。" +msgstr "发现错误的列头\"{field}\"。" -#: utilities/forms/utils.py:272 +#: netbox/utilities/forms/utils.py:272 #, python-brace-format msgid "Column \"{field}\" is not a related object; cannot use dots" -msgstr "专栏”{field}“不是关联对象;不能使用点" +msgstr "字段\"{field}\"未与对象关联;不能使用“.”" -#: utilities/forms/utils.py:276 +#: netbox/utilities/forms/utils.py:276 #, python-brace-format msgid "Invalid related object attribute for column \"{field}\": {to_field}" -msgstr "列” 的相关对象属性无效{field}“: {to_field}" +msgstr "对象的属性关联无效 \"{field}\": {to_field}" -#: utilities/forms/utils.py:284 +#: netbox/utilities/forms/utils.py:284 #, python-brace-format msgid "Required column header \"{header}\" not found." -msgstr "必填的列标题”{header}“未找到。" +msgstr "找不到必需的列标题\"{header}\"。" -#: utilities/forms/widgets/apiselect.py:124 +#: netbox/utilities/forms/widgets/apiselect.py:124 #, python-brace-format msgid "Missing required value for dynamic query param: '{dynamic_params}'" -msgstr "缺少动态查询参数的必填值:'{dynamic_params}'" +msgstr "缺少动态查询参数:'{dynamic_params}'" -#: utilities/forms/widgets/apiselect.py:141 +#: netbox/utilities/forms/widgets/apiselect.py:141 #, python-brace-format msgid "Missing required value for static query param: '{static_params}'" -msgstr "缺少静态查询参数的必填值:'{static_params}'" +msgstr "缺少静态查询参数:'{static_params}'" -#: utilities/permissions.py:39 +#: netbox/utilities/permissions.py:39 #, python-brace-format msgid "" "Invalid permission name: {name}. Must be in the format " "._" -msgstr "权限名称无效: {name}。必须采用以下格式 _" +msgstr "无效的权限名称: {name}. 格式必须是 ._" -#: utilities/permissions.py:57 +#: netbox/utilities/permissions.py:57 #, python-brace-format msgid "Unknown app_label/model_name for {name}" -msgstr "未知的应用程序标签/模型名称 {name}" +msgstr "未知的app_label/model_name: {name}" -#: utilities/request.py:76 +#: netbox/utilities/request.py:76 #, python-brace-format msgid "Invalid IP address set for {header}: {ip}" -msgstr "为设置的 IP 地址无效 {header}: {ip}" +msgstr "为 {header} 设置的 IP 地址无效:{ip}" -#: utilities/tables.py:47 +#: netbox/utilities/tables.py:47 #, python-brace-format msgid "A column named {name} is already defined for table {table_name}" -msgstr "一列名为 {name} 已经为表定义了 {table_name}" +msgstr "名为{name}的列已在表{table_name}中定义了" -#: utilities/templates/builtins/customfield_value.html:30 +#: netbox/utilities/templates/builtins/customfield_value.html:30 msgid "Not defined" msgstr "未定义" -#: utilities/templates/buttons/bookmark.html:9 +#: netbox/utilities/templates/buttons/bookmark.html:9 msgid "Unbookmark" msgstr "取消书签" -#: utilities/templates/buttons/bookmark.html:13 +#: netbox/utilities/templates/buttons/bookmark.html:13 msgid "Bookmark" -msgstr "加入书签" +msgstr "书签" -#: utilities/templates/buttons/clone.html:4 +#: netbox/utilities/templates/buttons/clone.html:4 msgid "Clone" msgstr "克隆" -#: utilities/templates/buttons/export.html:7 +#: netbox/utilities/templates/buttons/export.html:7 msgid "Current View" -msgstr "当前视图" +msgstr "当前显示" -#: utilities/templates/buttons/export.html:8 +#: netbox/utilities/templates/buttons/export.html:8 msgid "All Data" msgstr "所有数据" -#: utilities/templates/buttons/export.html:28 +#: netbox/utilities/templates/buttons/export.html:28 msgid "Add export template" -msgstr "添加导出模板" +msgstr "添加导出模版" -#: utilities/templates/buttons/import.html:4 +#: netbox/utilities/templates/buttons/import.html:4 msgid "Import" msgstr "导入" -#: utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:39 msgid "Copy to clipboard" msgstr "复制到剪贴板" -#: utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:55 msgid "This field is required" -msgstr "此字段为必填字段" +msgstr "此字段必填" -#: utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:68 msgid "Set Null" msgstr "设置为空" -#: utilities/templates/helpers/applied_filters.html:11 +#: netbox/utilities/templates/helpers/applied_filters.html:11 msgid "Clear all" -msgstr "全部清除" +msgstr "清除所有内容" -#: utilities/templates/helpers/table_config_form.html:8 +#: netbox/utilities/templates/helpers/table_config_form.html:8 msgid "Table Configuration" -msgstr "表格配置" +msgstr "表单配置" -#: utilities/templates/helpers/table_config_form.html:31 +#: netbox/utilities/templates/helpers/table_config_form.html:31 msgid "Move Up" -msgstr "向上移动" +msgstr "上移" -#: utilities/templates/helpers/table_config_form.html:34 +#: netbox/utilities/templates/helpers/table_config_form.html:34 msgid "Move Down" -msgstr "向下移动" +msgstr "下移" -#: utilities/templates/widgets/apiselect.html:7 +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search…" +msgstr "搜索…" + +#: netbox/utilities/templates/navigation/menu.html:14 +msgid "Search NetBox" +msgstr "搜索 NetBox" + +#: netbox/utilities/templates/widgets/apiselect.html:7 msgid "Open selector" -msgstr "打开选择器" +msgstr "打开选择框" -#: utilities/templates/widgets/clearable_file_input.html:12 +#: netbox/utilities/templates/widgets/clearable_file_input.html:12 msgid "None assigned" msgstr "未指定" -#: utilities/templates/widgets/markdown_input.html:6 +#: netbox/utilities/templates/widgets/markdown_input.html:6 msgid "Write" -msgstr "写作" +msgstr "编写" -#: utilities/testing/views.py:633 +#: netbox/utilities/testing/views.py:633 msgid "The test must define csv_update_data." -msgstr "测试必须定义 csv_update_data。" +msgstr "测试必须定义csv_update_data。" -#: utilities/validators.py:65 +#: netbox/utilities/validators.py:65 #, python-brace-format msgid "{value} is not a valid regular expression." msgstr "{value} 不是有效的正则表达式。" -#: utilities/views.py:40 +#: netbox/utilities/views.py:45 #, python-brace-format msgid "{self.__class__.__name__} must implement get_required_permission()" -msgstr "{self.__class__.__name__} 必须实现 get_required_permission ()" +msgstr "{self.__class__.__name__}必须实现get_required_permission()方法" -#: utilities/views.py:76 +#: netbox/utilities/views.py:81 #, python-brace-format msgid "{class_name} must implement get_required_permission()" -msgstr "{class_name} 必须实现 get_required_permission ()" +msgstr "{class_name}必须实现get_required_permission()方法" -#: utilities/views.py:100 +#: netbox/utilities/views.py:105 #, python-brace-format msgid "" "{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only" " be used on views which define a base queryset" -msgstr "{class_name} 没有定义查询集。objectPermissionRequiredMixin 只能用于定义基本查询集的视图" +msgstr "{class_name} 没有定义查询集。ObjectPermissionRequiredMixin 只能在定义了基本查询集的视图中使用" -#: virtualization/filtersets.py:79 +#: netbox/virtualization/filtersets.py:79 msgid "Parent group (ID)" -msgstr "家长群组 (ID)" +msgstr "父组(ID)" -#: virtualization/filtersets.py:85 +#: netbox/virtualization/filtersets.py:85 msgid "Parent group (slug)" -msgstr "家长小组(slug)" +msgstr "父组(缩写)" -#: virtualization/filtersets.py:89 virtualization/filtersets.py:141 +#: netbox/virtualization/filtersets.py:89 +#: netbox/virtualization/filtersets.py:141 msgid "Cluster type (ID)" -msgstr "集群类型 (ID)" +msgstr "集群类型(ID)" -#: virtualization/filtersets.py:130 -msgid "Cluster group (ID)" -msgstr "集群组 (ID)" - -#: virtualization/filtersets.py:151 virtualization/filtersets.py:267 +#: netbox/virtualization/filtersets.py:151 +#: netbox/virtualization/filtersets.py:267 msgid "Cluster (ID)" msgstr "集群 (ID)" -#: virtualization/forms/bulk_edit.py:166 -#: virtualization/models/virtualmachines.py:115 +#: netbox/virtualization/forms/bulk_edit.py:166 +#: netbox/virtualization/models/virtualmachines.py:115 msgid "vCPUs" -msgstr "vCPU" +msgstr "vCPUs" -#: virtualization/forms/bulk_edit.py:170 +#: netbox/virtualization/forms/bulk_edit.py:170 msgid "Memory (MB)" msgstr "内存 (MB)" -#: virtualization/forms/bulk_edit.py:174 +#: netbox/virtualization/forms/bulk_edit.py:174 msgid "Disk (GB)" msgstr "磁盘 (GB)" -#: virtualization/forms/bulk_edit.py:334 -#: virtualization/forms/filtersets.py:247 +#: netbox/virtualization/forms/bulk_edit.py:334 +#: netbox/virtualization/forms/filtersets.py:247 msgid "Size (GB)" msgstr "大小 (GB)" -#: virtualization/forms/bulk_import.py:44 +#: netbox/virtualization/forms/bulk_import.py:44 msgid "Type of cluster" -msgstr "集群的类型" +msgstr "集群类型" -#: virtualization/forms/bulk_import.py:51 +#: netbox/virtualization/forms/bulk_import.py:51 msgid "Assigned cluster group" -msgstr "已分配的集群组" +msgstr "指定集群组" -#: virtualization/forms/bulk_import.py:96 +#: netbox/virtualization/forms/bulk_import.py:96 msgid "Assigned cluster" -msgstr "分配的集群" +msgstr "指定集群" -#: virtualization/forms/bulk_import.py:103 +#: netbox/virtualization/forms/bulk_import.py:103 msgid "Assigned device within cluster" -msgstr "集群内分配的设备" +msgstr "指定集群内部设备" -#: virtualization/forms/model_forms.py:153 +#: netbox/virtualization/forms/model_forms.py:153 #, python-brace-format msgid "" "{device} belongs to a different site ({device_site}) than the cluster " "({cluster_site})" -msgstr "{device} 属于另一个站点 ({device_site}) 而不是集群 ({cluster_site})" +msgstr "{device} 属于与集群({cluster_site})不同的站点({device_site})" -#: virtualization/forms/model_forms.py:192 +#: netbox/virtualization/forms/model_forms.py:192 msgid "Optionally pin this VM to a specific host device within the cluster" -msgstr "(可选)将此虚拟机固定到集群中的特定主机设备" +msgstr "可将此虚拟机固定到集群中的特定主机设备" -#: virtualization/forms/model_forms.py:221 +#: netbox/virtualization/forms/model_forms.py:221 msgid "Site/Cluster" msgstr "站点/集群" -#: virtualization/forms/model_forms.py:244 +#: netbox/virtualization/forms/model_forms.py:244 msgid "Disk size is managed via the attachment of virtual disks." -msgstr "磁盘大小通过连接虚拟磁盘进行管理。" +msgstr "通过附加虚拟磁盘来管理磁盘大小。" -#: virtualization/forms/model_forms.py:372 +#: netbox/virtualization/forms/model_forms.py:372 msgid "Disk" -msgstr "磁盘" +msgstr "硬盘" -#: virtualization/models/clusters.py:25 +#: netbox/virtualization/models/clusters.py:25 msgid "cluster type" msgstr "集群类型" -#: virtualization/models/clusters.py:26 +#: netbox/virtualization/models/clusters.py:26 msgid "cluster types" msgstr "集群类型" -#: virtualization/models/clusters.py:45 +#: netbox/virtualization/models/clusters.py:45 msgid "cluster group" msgstr "集群组" -#: virtualization/models/clusters.py:46 +#: netbox/virtualization/models/clusters.py:46 msgid "cluster groups" msgstr "集群组" -#: virtualization/models/clusters.py:121 +#: netbox/virtualization/models/clusters.py:121 msgid "cluster" -msgstr "聚集" - -#: virtualization/models/clusters.py:122 -msgid "clusters" msgstr "集群" -#: virtualization/models/clusters.py:141 +#: netbox/virtualization/models/clusters.py:122 +msgid "clusters" +msgstr "集群组" + +#: netbox/virtualization/models/clusters.py:141 #, python-brace-format msgid "" "{count} devices are assigned as hosts for this cluster but are not in site " "{site}" -msgstr "{count} 设备被指定为该群集的主机,但不在站点 {site}" +msgstr "{count} 个设备被分配为此集群的主机,但不在站点{site}" -#: virtualization/models/virtualmachines.py:123 +#: netbox/virtualization/models/virtualmachines.py:123 msgid "memory (MB)" msgstr "内存 (MB)" -#: virtualization/models/virtualmachines.py:128 +#: netbox/virtualization/models/virtualmachines.py:128 msgid "disk (GB)" -msgstr "磁盘 (GB)" +msgstr "硬盘 (GB)" -#: virtualization/models/virtualmachines.py:161 +#: netbox/virtualization/models/virtualmachines.py:161 msgid "Virtual machine name must be unique per cluster." -msgstr "每个集群的虚拟机名称必须是唯一的。" +msgstr "集群中的虚拟机名称必须唯一。" -#: virtualization/models/virtualmachines.py:164 +#: netbox/virtualization/models/virtualmachines.py:164 msgid "virtual machine" msgstr "虚拟机" -#: virtualization/models/virtualmachines.py:165 +#: netbox/virtualization/models/virtualmachines.py:165 msgid "virtual machines" msgstr "虚拟机" -#: virtualization/models/virtualmachines.py:179 +#: netbox/virtualization/models/virtualmachines.py:179 msgid "A virtual machine must be assigned to a site and/or cluster." -msgstr "必须将虚拟机分配给站点和/或群集。" +msgstr "虚拟机必须分配给站点和/或集群。" -#: virtualization/models/virtualmachines.py:186 +#: netbox/virtualization/models/virtualmachines.py:186 #, python-brace-format msgid "" "The selected cluster ({cluster}) is not assigned to this site ({site})." -msgstr "选定的集群 ({cluster}) 未分配给此站点 ({site})。" +msgstr "所选集群({cluster}) 未分配给此站点 ({site})。" -#: virtualization/models/virtualmachines.py:193 +#: netbox/virtualization/models/virtualmachines.py:193 msgid "Must specify a cluster when assigning a host device." msgstr "分配主机设备时必须指定集群。" -#: virtualization/models/virtualmachines.py:198 +#: netbox/virtualization/models/virtualmachines.py:198 #, python-brace-format msgid "" "The selected device ({device}) is not assigned to this cluster ({cluster})." -msgstr "所选设备 ({device}) 未分配给此集群 ({cluster})。" +msgstr "所选设备 ({device})未分配给此集群({cluster})。" -#: virtualization/models/virtualmachines.py:210 +#: netbox/virtualization/models/virtualmachines.py:210 #, python-brace-format msgid "" "The specified disk size ({size}) must match the aggregate size of assigned " "virtual disks ({total_size})." -msgstr "指定的磁盘大小 ({size}) 必须与分配的虚拟磁盘的总大小相匹配 ({total_size})。" +msgstr "指定的磁盘大小 ({size}) 必须与分配的虚拟磁盘的总大小相匹配 ({total_size})." -#: virtualization/models/virtualmachines.py:224 +#: netbox/virtualization/models/virtualmachines.py:224 #, python-brace-format msgid "Must be an IPv{family} address. ({ip} is an IPv{version} address.)" -msgstr "必须是 iPV{family} 地址。({ip} 是一个 iPV{version} 地址。)" +msgstr "必须是 IPv{family} 地址。 ({ip} 是 IPv{version} 地址。)" -#: virtualization/models/virtualmachines.py:233 +#: netbox/virtualization/models/virtualmachines.py:233 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this VM." -msgstr "指定的 IP 地址 ({ip}) 未分配给此 VM。" +msgstr "指定的IP地址 ({ip}) 未分配给该虚拟机。" -#: virtualization/models/virtualmachines.py:391 +#: netbox/virtualization/models/virtualmachines.py:391 #, python-brace-format msgid "" "The selected parent interface ({parent}) belongs to a different virtual " "machine ({virtual_machine})." -msgstr "选定的父接口 ({parent}) 属于不同的虚拟机 ({virtual_machine})。" +msgstr "所选父接口 ({parent}) 属于另一个虚拟机 ({virtual_machine})" -#: virtualization/models/virtualmachines.py:406 +#: netbox/virtualization/models/virtualmachines.py:406 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different virtual " "machine ({virtual_machine})." -msgstr "选定的网桥接口 ({bridge}) 属于不同的虚拟机 ({virtual_machine})。" +msgstr "所选桥接接口 ({bridge})属于另一个虚拟机({virtual_machine})。" -#: virtualization/models/virtualmachines.py:417 +#: netbox/virtualization/models/virtualmachines.py:417 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " "interface's parent virtual machine, or it must be global." -msgstr "未标记的 VLAN ({untagged_vlan}) 必须与接口的父虚拟机属于同一个站点,或者它必须是全局的。" +msgstr "未标记 VLAN ({untagged_vlan}) 必须与接口的父虚拟机属于同一站点,或者必须是全局的。" -#: virtualization/models/virtualmachines.py:429 +#: netbox/virtualization/models/virtualmachines.py:429 msgid "size (GB)" msgstr "大小 (GB)" -#: virtualization/models/virtualmachines.py:433 +#: netbox/virtualization/models/virtualmachines.py:433 msgid "virtual disk" msgstr "虚拟磁盘" -#: virtualization/models/virtualmachines.py:434 +#: netbox/virtualization/models/virtualmachines.py:434 msgid "virtual disks" msgstr "虚拟磁盘" -#: vpn/choices.py:31 +#: netbox/vpn/choices.py:31 msgid "IPsec - Transport" -msgstr "IPsec-传输" +msgstr "IPsec-传输模式" -#: vpn/choices.py:32 +#: netbox/vpn/choices.py:32 msgid "IPsec - Tunnel" -msgstr "IPsec-隧道" +msgstr "IPsec - Tunnel" -#: vpn/choices.py:33 +#: netbox/vpn/choices.py:33 msgid "IP-in-IP" msgstr "IP-in-IP" -#: vpn/choices.py:34 +#: netbox/vpn/choices.py:34 msgid "GRE" msgstr "GRE" -#: vpn/choices.py:56 +#: netbox/vpn/choices.py:56 msgid "Hub" -msgstr "集线器" +msgstr "中心节点" -#: vpn/choices.py:57 +#: netbox/vpn/choices.py:57 msgid "Spoke" -msgstr "说话了" +msgstr "分支节点" -#: vpn/choices.py:80 +#: netbox/vpn/choices.py:80 msgid "Aggressive" -msgstr "侵略性" +msgstr "野蛮模式" -#: vpn/choices.py:81 +#: netbox/vpn/choices.py:81 msgid "Main" -msgstr "主要" +msgstr "主模式" -#: vpn/choices.py:92 +#: netbox/vpn/choices.py:92 msgid "Pre-shared keys" msgstr "预共享密钥" -#: vpn/choices.py:93 +#: netbox/vpn/choices.py:93 msgid "Certificates" msgstr "证书" -#: vpn/choices.py:94 +#: netbox/vpn/choices.py:94 msgid "RSA signatures" -msgstr "RSA 签名" +msgstr "RSA签名" -#: vpn/choices.py:95 +#: netbox/vpn/choices.py:95 msgid "DSA signatures" -msgstr "DSA 签名" +msgstr "DSA签名" -#: vpn/choices.py:178 vpn/choices.py:179 vpn/choices.py:180 vpn/choices.py:181 -#: vpn/choices.py:182 vpn/choices.py:183 vpn/choices.py:184 vpn/choices.py:185 -#: vpn/choices.py:186 vpn/choices.py:187 vpn/choices.py:188 vpn/choices.py:189 -#: vpn/choices.py:190 vpn/choices.py:191 vpn/choices.py:192 vpn/choices.py:193 -#: vpn/choices.py:194 vpn/choices.py:195 vpn/choices.py:196 vpn/choices.py:197 -#: vpn/choices.py:198 vpn/choices.py:199 vpn/choices.py:200 vpn/choices.py:201 +#: netbox/vpn/choices.py:178 netbox/vpn/choices.py:179 +#: netbox/vpn/choices.py:180 netbox/vpn/choices.py:181 +#: netbox/vpn/choices.py:182 netbox/vpn/choices.py:183 +#: netbox/vpn/choices.py:184 netbox/vpn/choices.py:185 +#: netbox/vpn/choices.py:186 netbox/vpn/choices.py:187 +#: netbox/vpn/choices.py:188 netbox/vpn/choices.py:189 +#: netbox/vpn/choices.py:190 netbox/vpn/choices.py:191 +#: netbox/vpn/choices.py:192 netbox/vpn/choices.py:193 +#: netbox/vpn/choices.py:194 netbox/vpn/choices.py:195 +#: netbox/vpn/choices.py:196 netbox/vpn/choices.py:197 +#: netbox/vpn/choices.py:198 netbox/vpn/choices.py:199 +#: netbox/vpn/choices.py:200 netbox/vpn/choices.py:201 #, python-brace-format msgid "Group {n}" -msgstr "小组 {n}" +msgstr "Group {n}" -#: vpn/choices.py:241 +#: netbox/vpn/choices.py:241 msgid "Ethernet Private LAN" -msgstr "以太网私有局域网" +msgstr "Ethernet Private LAN" -#: vpn/choices.py:242 +#: netbox/vpn/choices.py:242 msgid "Ethernet Virtual Private LAN" -msgstr "以太网虚拟专用 LAN" +msgstr "Ethernet Virtual Private LAN" -#: vpn/choices.py:245 +#: netbox/vpn/choices.py:245 msgid "Ethernet Private Tree" -msgstr "以太网私有树" +msgstr "Ethernet Private Tree" -#: vpn/choices.py:246 +#: netbox/vpn/choices.py:246 msgid "Ethernet Virtual Private Tree" -msgstr "以太网虚拟私有树" +msgstr "Ethernet Virtual Private Tree" -#: vpn/filtersets.py:41 +#: netbox/vpn/filtersets.py:41 msgid "Tunnel group (ID)" -msgstr "隧道组 (ID)" +msgstr "隧道组(ID)" -#: vpn/filtersets.py:47 +#: netbox/vpn/filtersets.py:47 msgid "Tunnel group (slug)" -msgstr "隧道群(slug)" +msgstr "隧道组(缩写)" -#: vpn/filtersets.py:54 +#: netbox/vpn/filtersets.py:54 msgid "IPSec profile (ID)" -msgstr "IPsec 配置文件 (ID)" +msgstr "IPSec通道(ID)" -#: vpn/filtersets.py:60 +#: netbox/vpn/filtersets.py:60 msgid "IPSec profile (name)" -msgstr "IPsec 配置文件(名称)" +msgstr "IPSec通道(名称)" -#: vpn/filtersets.py:81 +#: netbox/vpn/filtersets.py:81 msgid "Tunnel (ID)" -msgstr "隧道 (ID)" +msgstr "Tunnel (ID)" -#: vpn/filtersets.py:87 +#: netbox/vpn/filtersets.py:87 msgid "Tunnel (name)" -msgstr "隧道(名称)" +msgstr "隧道(ID)" -#: vpn/filtersets.py:118 +#: netbox/vpn/filtersets.py:118 msgid "Outside IP (ID)" -msgstr "外部 IP (ID)" +msgstr "外部IP(ID)" -#: vpn/filtersets.py:130 vpn/filtersets.py:153 vpn/filtersets.py:282 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 +#: netbox/vpn/filtersets.py:282 msgid "IKE policy (ID)" -msgstr "IKE 策略 (ID)" +msgstr "IKE策略(ID)" -#: vpn/filtersets.py:136 vpn/filtersets.py:159 vpn/filtersets.py:288 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 +#: netbox/vpn/filtersets.py:288 msgid "IKE policy (name)" -msgstr "IKE 策略(名称)" +msgstr "IKE策略(名称)" -#: vpn/filtersets.py:215 vpn/filtersets.py:292 +#: netbox/vpn/filtersets.py:215 netbox/vpn/filtersets.py:292 msgid "IPSec policy (ID)" -msgstr "IPsec 策略 (ID)" +msgstr "IPSec策略(ID)" -#: vpn/filtersets.py:221 vpn/filtersets.py:298 +#: netbox/vpn/filtersets.py:221 netbox/vpn/filtersets.py:298 msgid "IPSec policy (name)" -msgstr "IPsec 策略(名称)" +msgstr "IPSec策略(名称)" -#: vpn/filtersets.py:367 +#: netbox/vpn/filtersets.py:367 msgid "L2VPN (slug)" -msgstr "L2VPN(弹头)" +msgstr "L2VPN(缩写)" -#: vpn/filtersets.py:431 +#: netbox/vpn/filtersets.py:431 msgid "VM Interface (ID)" -msgstr "虚拟机接口 (ID)" +msgstr "虚拟接口(ID)" -#: vpn/filtersets.py:437 +#: netbox/vpn/filtersets.py:437 msgid "VLAN (name)" -msgstr "VLAN(名称)" +msgstr "VLAN (名字)" -#: vpn/forms/bulk_edit.py:45 vpn/forms/bulk_import.py:42 -#: vpn/forms/filtersets.py:54 +#: netbox/vpn/forms/bulk_edit.py:45 netbox/vpn/forms/bulk_import.py:42 +#: netbox/vpn/forms/filtersets.py:54 msgid "Tunnel group" -msgstr "隧道群" +msgstr "隧道组" -#: vpn/forms/bulk_edit.py:117 vpn/models/crypto.py:47 +#: netbox/vpn/forms/bulk_edit.py:117 netbox/vpn/models/crypto.py:47 msgid "SA lifetime" -msgstr "一生" +msgstr "SA生存期" -#: vpn/forms/bulk_edit.py:151 wireless/forms/bulk_edit.py:79 -#: wireless/forms/bulk_edit.py:126 wireless/forms/filtersets.py:64 -#: wireless/forms/filtersets.py:98 +#: netbox/vpn/forms/bulk_edit.py:151 netbox/wireless/forms/bulk_edit.py:79 +#: netbox/wireless/forms/bulk_edit.py:126 +#: netbox/wireless/forms/filtersets.py:64 +#: netbox/wireless/forms/filtersets.py:98 msgid "Pre-shared key" msgstr "预共享密钥" -#: vpn/forms/bulk_edit.py:237 vpn/forms/bulk_import.py:239 -#: vpn/forms/filtersets.py:199 vpn/forms/model_forms.py:370 -#: vpn/models/crypto.py:104 +#: netbox/vpn/forms/bulk_edit.py:237 netbox/vpn/forms/bulk_import.py:239 +#: netbox/vpn/forms/filtersets.py:199 netbox/vpn/forms/model_forms.py:370 +#: netbox/vpn/models/crypto.py:104 msgid "IKE policy" -msgstr "IKE 政策" +msgstr "IKE策略" -#: vpn/forms/bulk_edit.py:242 vpn/forms/bulk_import.py:244 -#: vpn/forms/filtersets.py:204 vpn/forms/model_forms.py:374 -#: vpn/models/crypto.py:209 +#: netbox/vpn/forms/bulk_edit.py:242 netbox/vpn/forms/bulk_import.py:244 +#: netbox/vpn/forms/filtersets.py:204 netbox/vpn/forms/model_forms.py:374 +#: netbox/vpn/models/crypto.py:209 msgid "IPSec policy" -msgstr "IPsec 政策" +msgstr "IPSec策略" -#: vpn/forms/bulk_import.py:50 +#: netbox/vpn/forms/bulk_import.py:50 msgid "Tunnel encapsulation" msgstr "隧道封装" -#: vpn/forms/bulk_import.py:83 +#: netbox/vpn/forms/bulk_import.py:83 msgid "Operational role" -msgstr "运营角色" +msgstr "操作角色" -#: vpn/forms/bulk_import.py:90 +#: netbox/vpn/forms/bulk_import.py:90 msgid "Parent device of assigned interface" msgstr "指定接口的父设备" -#: vpn/forms/bulk_import.py:97 +#: netbox/vpn/forms/bulk_import.py:97 msgid "Parent VM of assigned interface" msgstr "指定接口的父虚拟机" -#: vpn/forms/bulk_import.py:104 +#: netbox/vpn/forms/bulk_import.py:104 msgid "Device or virtual machine interface" -msgstr "设备或虚拟机接口" +msgstr "设备/虚拟机接口" -#: vpn/forms/bulk_import.py:183 +#: netbox/vpn/forms/bulk_import.py:183 msgid "IKE proposal(s)" -msgstr "IKE 提案" +msgstr "IKE安全提议" -#: vpn/forms/bulk_import.py:215 vpn/models/crypto.py:197 +#: netbox/vpn/forms/bulk_import.py:215 netbox/vpn/models/crypto.py:197 msgid "Diffie-Hellman group for Perfect Forward Secrecy" -msgstr "Diffie-Hellman 组合 “完美向前保密”" +msgstr "DH组" -#: vpn/forms/bulk_import.py:222 +#: netbox/vpn/forms/bulk_import.py:222 msgid "IPSec proposal(s)" -msgstr "IPsec 提案" +msgstr "IPSEC安全提议" -#: vpn/forms/bulk_import.py:236 +#: netbox/vpn/forms/bulk_import.py:236 msgid "IPSec protocol" -msgstr "IPsec 协议" +msgstr "IPSEC协议" -#: vpn/forms/bulk_import.py:266 +#: netbox/vpn/forms/bulk_import.py:266 msgid "L2VPN type" msgstr "L2VPN 类型" -#: vpn/forms/bulk_import.py:287 +#: netbox/vpn/forms/bulk_import.py:287 msgid "Parent device (for interface)" msgstr "父设备(用于接口)" -#: vpn/forms/bulk_import.py:294 +#: netbox/vpn/forms/bulk_import.py:294 msgid "Parent virtual machine (for interface)" msgstr "父虚拟机(用于接口)" -#: vpn/forms/bulk_import.py:301 +#: netbox/vpn/forms/bulk_import.py:301 msgid "Assigned interface (device or VM)" -msgstr "分配的接口(设备或 VM)" +msgstr "指定接口(设备/虚拟机)" -#: vpn/forms/bulk_import.py:334 +#: netbox/vpn/forms/bulk_import.py:334 msgid "Cannot import device and VM interface terminations simultaneously." -msgstr "无法同时导入设备和虚拟机接口终止。" +msgstr "不能导入设备和虚拟机接口连接。" -#: vpn/forms/bulk_import.py:336 +#: netbox/vpn/forms/bulk_import.py:336 msgid "Each termination must specify either an interface or a VLAN." -msgstr "每个终端都必须指定接口或 VLAN。" +msgstr "每个接入点必须指定一个接口或一个 VLAN。" -#: vpn/forms/bulk_import.py:338 +#: netbox/vpn/forms/bulk_import.py:338 msgid "Cannot assign both an interface and a VLAN." -msgstr "无法同时分配接口和 VLAN。" +msgstr "不能同时分配接口和VLAN。" -#: vpn/forms/filtersets.py:130 +#: netbox/vpn/forms/filtersets.py:130 msgid "IKE version" msgstr "IKE 版本" -#: vpn/forms/filtersets.py:142 vpn/forms/filtersets.py:175 -#: vpn/forms/model_forms.py:298 vpn/forms/model_forms.py:334 +#: netbox/vpn/forms/filtersets.py:142 netbox/vpn/forms/filtersets.py:175 +#: netbox/vpn/forms/model_forms.py:298 netbox/vpn/forms/model_forms.py:334 msgid "Proposal" -msgstr "提案" +msgstr "安全提议" -#: vpn/forms/filtersets.py:251 +#: netbox/vpn/forms/filtersets.py:251 msgid "Assigned Object Type" -msgstr "分配的对象类型" +msgstr "指定的对象类型" -#: vpn/forms/model_forms.py:95 vpn/forms/model_forms.py:130 -#: vpn/forms/model_forms.py:240 vpn/tables/tunnels.py:91 +#: netbox/vpn/forms/model_forms.py:95 netbox/vpn/forms/model_forms.py:130 +#: netbox/vpn/forms/model_forms.py:240 netbox/vpn/tables/tunnels.py:91 msgid "Tunnel interface" msgstr "隧道接口" -#: vpn/forms/model_forms.py:150 +#: netbox/vpn/forms/model_forms.py:150 msgid "First Termination" -msgstr "第一次终止" +msgstr "第一端" -#: vpn/forms/model_forms.py:153 +#: netbox/vpn/forms/model_forms.py:153 msgid "Second Termination" -msgstr "第二次终止" +msgstr "第二端" -#: vpn/forms/model_forms.py:197 +#: netbox/vpn/forms/model_forms.py:197 msgid "This parameter is required when defining a termination." -msgstr "定义终止时必须使用此参数。" +msgstr "定义端点时需要此参数。" -#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:356 +#: netbox/vpn/forms/model_forms.py:320 netbox/vpn/forms/model_forms.py:356 msgid "Policy" -msgstr "政策" +msgstr "策略" -#: vpn/forms/model_forms.py:487 +#: netbox/vpn/forms/model_forms.py:487 msgid "A termination must specify an interface or VLAN." -msgstr "终端必须指定接口或 VLAN。" +msgstr "接入点必须指定接口或 VLAN。" -#: vpn/forms/model_forms.py:489 +#: netbox/vpn/forms/model_forms.py:489 msgid "" "A termination can only have one terminating object (an interface or VLAN)." -msgstr "终端只能有一个终止对象(接口或 VLAN)。" +msgstr "一个终端只能有一个终端对象(接口或VLAN)。" -#: vpn/models/crypto.py:33 +#: netbox/vpn/models/crypto.py:33 msgid "encryption algorithm" msgstr "加密算法" -#: vpn/models/crypto.py:37 +#: netbox/vpn/models/crypto.py:37 msgid "authentication algorithm" -msgstr "身份验证算法" +msgstr "认证算法" -#: vpn/models/crypto.py:44 +#: netbox/vpn/models/crypto.py:44 msgid "Diffie-Hellman group ID" -msgstr "Diffie-Hellman 群组 ID" +msgstr "DH组" -#: vpn/models/crypto.py:50 +#: netbox/vpn/models/crypto.py:50 msgid "Security association lifetime (in seconds)" -msgstr "安全关联生命周期(以秒为单位)" +msgstr "SA生存期(秒)" -#: vpn/models/crypto.py:59 +#: netbox/vpn/models/crypto.py:59 msgid "IKE proposal" -msgstr "IKE 提案" +msgstr "IKE proposal" -#: vpn/models/crypto.py:60 +#: netbox/vpn/models/crypto.py:60 msgid "IKE proposals" -msgstr "IKE 提案" +msgstr "IKE proposals" -#: vpn/models/crypto.py:76 +#: netbox/vpn/models/crypto.py:76 msgid "version" msgstr "版本" -#: vpn/models/crypto.py:88 vpn/models/crypto.py:190 +#: netbox/vpn/models/crypto.py:88 netbox/vpn/models/crypto.py:190 msgid "proposals" -msgstr "提案" +msgstr "proposals" -#: vpn/models/crypto.py:91 wireless/models.py:38 +#: netbox/vpn/models/crypto.py:91 netbox/wireless/models.py:38 msgid "pre-shared key" -msgstr "预共享密钥" +msgstr "pre-shared key" -#: vpn/models/crypto.py:105 +#: netbox/vpn/models/crypto.py:105 msgid "IKE policies" -msgstr "IKE 策略" +msgstr "IKE policies" -#: vpn/models/crypto.py:118 +#: netbox/vpn/models/crypto.py:118 msgid "Mode is required for selected IKE version" -msgstr "所选 IKE 版本需要模式" +msgstr "所选IKE版本需要配置模式" -#: vpn/models/crypto.py:122 +#: netbox/vpn/models/crypto.py:122 msgid "Mode cannot be used for selected IKE version" -msgstr "模式不能用于选定的 IKE 版本" +msgstr "该模式不能用于所选的IKE版本" -#: vpn/models/crypto.py:136 +#: netbox/vpn/models/crypto.py:136 msgid "encryption" -msgstr "加密" +msgstr "加密算法" -#: vpn/models/crypto.py:141 +#: netbox/vpn/models/crypto.py:141 msgid "authentication" -msgstr "身份验证" +msgstr "认证" -#: vpn/models/crypto.py:149 +#: netbox/vpn/models/crypto.py:149 msgid "Security association lifetime (seconds)" -msgstr "安全关联生命周期(秒)" +msgstr "SA生存期(秒)" -#: vpn/models/crypto.py:155 +#: netbox/vpn/models/crypto.py:155 msgid "Security association lifetime (in kilobytes)" -msgstr "安全关联生命周期(以千字节为单位)" +msgstr "SA生存大小(KB)" -#: vpn/models/crypto.py:164 +#: netbox/vpn/models/crypto.py:164 msgid "IPSec proposal" -msgstr "IPsec 提案" +msgstr "IPSec proposal" -#: vpn/models/crypto.py:165 +#: netbox/vpn/models/crypto.py:165 msgid "IPSec proposals" -msgstr "IPsec 提案" +msgstr "IPSec proposals" -#: vpn/models/crypto.py:178 +#: netbox/vpn/models/crypto.py:178 msgid "Encryption and/or authentication algorithm must be defined" -msgstr "必须定义加密和/或身份验证算法" +msgstr "必须定义加密和身份验证算法" -#: vpn/models/crypto.py:210 +#: netbox/vpn/models/crypto.py:210 msgid "IPSec policies" -msgstr "IPsec 策略" +msgstr "IPSec policies" -#: vpn/models/crypto.py:251 +#: netbox/vpn/models/crypto.py:251 msgid "IPSec profiles" -msgstr "IPsec 配置文件" +msgstr "IPSec profiles" -#: vpn/models/l2vpn.py:116 +#: netbox/vpn/models/l2vpn.py:116 msgid "L2VPN termination" -msgstr "L2VPN 终止" +msgstr "L2VPN 终点" -#: vpn/models/l2vpn.py:117 +#: netbox/vpn/models/l2vpn.py:117 msgid "L2VPN terminations" -msgstr "L2VPN 终止" +msgstr "L2VPN 终点" -#: vpn/models/l2vpn.py:135 +#: netbox/vpn/models/l2vpn.py:135 #, python-brace-format msgid "L2VPN Termination already assigned ({assigned_object})" -msgstr "L2VPN 终止已分配 ({assigned_object})" +msgstr "L2VPN终端已分配({assigned_object})" -#: vpn/models/l2vpn.py:147 +#: netbox/vpn/models/l2vpn.py:147 #, python-brace-format msgid "" "{l2vpn_type} L2VPNs cannot have more than two terminations; found " "{terminations_count} already defined." -msgstr "{l2vpn_type} L2VPN 的终止次数不能超过两次;已找到 {terminations_count} 已经定义了。" +msgstr "{l2vpn_type}L2VPN不能有两个以上的端点;已找到{terminations_count}个端点。" -#: vpn/models/tunnels.py:26 +#: netbox/vpn/models/tunnels.py:26 msgid "tunnel group" -msgstr "隧道群" +msgstr "隧道组" -#: vpn/models/tunnels.py:27 +#: netbox/vpn/models/tunnels.py:27 msgid "tunnel groups" -msgstr "隧道群" +msgstr "隧道组" -#: vpn/models/tunnels.py:53 +#: netbox/vpn/models/tunnels.py:53 msgid "encapsulation" msgstr "封装" -#: vpn/models/tunnels.py:72 +#: netbox/vpn/models/tunnels.py:72 msgid "tunnel ID" msgstr "隧道 ID" -#: vpn/models/tunnels.py:94 +#: netbox/vpn/models/tunnels.py:94 msgid "tunnel" msgstr "隧道" -#: vpn/models/tunnels.py:95 +#: netbox/vpn/models/tunnels.py:95 msgid "tunnels" msgstr "隧道" -#: vpn/models/tunnels.py:153 +#: netbox/vpn/models/tunnels.py:153 msgid "An object may be terminated to only one tunnel at a time." -msgstr "一个对象一次只能终止到一个隧道。" +msgstr "一个对象一次只能被终止到一个隧道。" -#: vpn/models/tunnels.py:156 +#: netbox/vpn/models/tunnels.py:156 msgid "tunnel termination" -msgstr "隧道终止" +msgstr "隧道终点" -#: vpn/models/tunnels.py:157 +#: netbox/vpn/models/tunnels.py:157 msgid "tunnel terminations" -msgstr "隧道终止" +msgstr "隧道终点" -#: vpn/models/tunnels.py:174 +#: netbox/vpn/models/tunnels.py:174 #, python-brace-format msgid "{name} is already attached to a tunnel ({tunnel})." -msgstr "{name} 已经连接到隧道 ({tunnel})。" +msgstr "{name}已附加到隧道({tunnel})。" -#: vpn/tables/crypto.py:22 +#: netbox/vpn/tables/crypto.py:22 msgid "Authentication Method" -msgstr "身份验证方法" +msgstr "认证方式" -#: vpn/tables/crypto.py:25 vpn/tables/crypto.py:97 +#: netbox/vpn/tables/crypto.py:25 netbox/vpn/tables/crypto.py:97 msgid "Encryption Algorithm" msgstr "加密算法" -#: vpn/tables/crypto.py:28 vpn/tables/crypto.py:100 +#: netbox/vpn/tables/crypto.py:28 netbox/vpn/tables/crypto.py:100 msgid "Authentication Algorithm" -msgstr "身份验证算法" +msgstr "认证算法" -#: vpn/tables/crypto.py:34 +#: netbox/vpn/tables/crypto.py:34 msgid "SA Lifetime" -msgstr "SA 终身" +msgstr "SA生存期" -#: vpn/tables/crypto.py:71 +#: netbox/vpn/tables/crypto.py:71 msgid "Pre-shared Key" msgstr "预共享密钥" -#: vpn/tables/crypto.py:103 +#: netbox/vpn/tables/crypto.py:103 msgid "SA Lifetime (Seconds)" -msgstr "SA 寿命(秒)" +msgstr "SA生存期(秒)" -#: vpn/tables/crypto.py:106 +#: netbox/vpn/tables/crypto.py:106 msgid "SA Lifetime (KB)" -msgstr "SA 生命周期 (KB)" +msgstr "SA生存大小(KB)" -#: vpn/tables/l2vpn.py:69 +#: netbox/vpn/tables/l2vpn.py:69 msgid "Object Parent" -msgstr "对象父级" +msgstr "目标上级" -#: vpn/tables/l2vpn.py:74 +#: netbox/vpn/tables/l2vpn.py:74 msgid "Object Site" -msgstr "对象站点" +msgstr "目的站点" -#: wireless/choices.py:11 +#: netbox/wireless/choices.py:11 msgid "Access point" -msgstr "接入点" +msgstr "无线AP" -#: wireless/choices.py:12 +#: netbox/wireless/choices.py:12 msgid "Station" -msgstr "站" +msgstr "基站" -#: wireless/choices.py:467 +#: netbox/wireless/choices.py:467 msgid "Open" -msgstr "打开" +msgstr "开放" -#: wireless/choices.py:469 +#: netbox/wireless/choices.py:469 msgid "WPA Personal (PSK)" -msgstr "WPA 个人 (PSK)" +msgstr "WPA Personal (PSK)" -#: wireless/choices.py:470 +#: netbox/wireless/choices.py:470 msgid "WPA Enterprise" -msgstr "WPA 企业版" +msgstr "WPA Enterprise" -#: wireless/forms/bulk_edit.py:73 wireless/forms/bulk_edit.py:120 -#: wireless/forms/bulk_import.py:68 wireless/forms/bulk_import.py:71 -#: wireless/forms/bulk_import.py:110 wireless/forms/bulk_import.py:113 -#: wireless/forms/filtersets.py:59 wireless/forms/filtersets.py:93 +#: netbox/wireless/forms/bulk_edit.py:73 +#: netbox/wireless/forms/bulk_edit.py:120 +#: netbox/wireless/forms/bulk_import.py:68 +#: netbox/wireless/forms/bulk_import.py:71 +#: netbox/wireless/forms/bulk_import.py:110 +#: netbox/wireless/forms/bulk_import.py:113 +#: netbox/wireless/forms/filtersets.py:59 +#: netbox/wireless/forms/filtersets.py:93 msgid "Authentication cipher" -msgstr "身份验证密码" +msgstr "认证密码" -#: wireless/forms/bulk_import.py:52 +#: netbox/wireless/forms/bulk_import.py:52 msgid "Bridged VLAN" msgstr "桥接 VLAN" -#: wireless/forms/bulk_import.py:89 wireless/tables/wirelesslink.py:27 +#: netbox/wireless/forms/bulk_import.py:89 +#: netbox/wireless/tables/wirelesslink.py:27 msgid "Interface A" -msgstr "接口 A" +msgstr "网络接口A" -#: wireless/forms/bulk_import.py:93 wireless/tables/wirelesslink.py:36 +#: netbox/wireless/forms/bulk_import.py:93 +#: netbox/wireless/tables/wirelesslink.py:36 msgid "Interface B" -msgstr "接口 B" +msgstr "网络接口B" -#: wireless/forms/model_forms.py:161 +#: netbox/wireless/forms/model_forms.py:161 msgid "Side B" -msgstr "B 面" +msgstr "B端" -#: wireless/models.py:30 +#: netbox/wireless/models.py:30 msgid "authentication cipher" -msgstr "身份验证密码" +msgstr "认证密码" -#: wireless/models.py:68 +#: netbox/wireless/models.py:68 msgid "wireless LAN group" msgstr "无线局域网组" -#: wireless/models.py:69 +#: netbox/wireless/models.py:69 msgid "wireless LAN groups" msgstr "无线局域网组" -#: wireless/models.py:115 +#: netbox/wireless/models.py:115 msgid "wireless LAN" msgstr "无线局域网" -#: wireless/models.py:143 +#: netbox/wireless/models.py:143 msgid "interface A" msgstr "接口 A" -#: wireless/models.py:150 +#: netbox/wireless/models.py:150 msgid "interface B" msgstr "接口 B" -#: wireless/models.py:198 +#: netbox/wireless/models.py:198 msgid "wireless link" -msgstr "无线链接" +msgstr "无线连接" -#: wireless/models.py:199 +#: netbox/wireless/models.py:199 msgid "wireless links" -msgstr "无线链接" +msgstr "无线连接" -#: wireless/models.py:216 wireless/models.py:222 +#: netbox/wireless/models.py:216 netbox/wireless/models.py:222 #, python-brace-format msgid "{type} is not a wireless interface." msgstr "{type} 不是无线接口。" -#: wireless/utils.py:16 +#: netbox/wireless/utils.py:16 #, python-brace-format msgid "Invalid channel value: {channel}" -msgstr "频道值无效: {channel}" +msgstr "通道值无效: {channel}" -#: wireless/utils.py:26 +#: netbox/wireless/utils.py:26 #, python-brace-format msgid "Invalid channel attribute: {name}" -msgstr "频道属性无效: {name}" +msgstr "通道属性无效: {name}" From 596514ce74aa4d2f423dbfc2508d0d28c6669f11 Mon Sep 17 00:00:00 2001 From: Jeff Gehlbach Date: Tue, 9 Jul 2024 13:27:13 -0400 Subject: [PATCH 41/42] Release v4.0.7 --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yaml | 2 +- docs/release-notes/version-4.0.md | 2 +- netbox/netbox/settings.py | 2 +- netbox/translations/de/LC_MESSAGES/django.mo | Bin 222361 -> 222478 bytes netbox/translations/fr/LC_MESSAGES/django.mo | Bin 225774 -> 225890 bytes netbox/translations/pt/LC_MESSAGES/django.mo | Bin 220647 -> 220787 bytes netbox/translations/ru/LC_MESSAGES/django.mo | Bin 281619 -> 282637 bytes netbox/translations/tr/LC_MESSAGES/django.mo | Bin 214786 -> 214583 bytes netbox/translations/zh/LC_MESSAGES/django.mo | Bin 200492 -> 198567 bytes 10 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 3af0fa740..393ae6dc8 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -26,7 +26,7 @@ body: attributes: label: NetBox Version description: What version of NetBox are you currently running? - placeholder: v4.0.6 + placeholder: v4.0.7 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index 2c6384b27..910da96f9 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v4.0.6 + placeholder: v4.0.7 validations: required: true - type: dropdown diff --git a/docs/release-notes/version-4.0.md b/docs/release-notes/version-4.0.md index baaa9ea90..7fb92367a 100644 --- a/docs/release-notes/version-4.0.md +++ b/docs/release-notes/version-4.0.md @@ -1,6 +1,6 @@ # NetBox v4.0 -## v4.0.7 (FUTURE) +## v4.0.7 (2024-07-09) ### Enhancements diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index e8d9590fc..9b392e251 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -25,7 +25,7 @@ from utilities.string import trailing_slash # Environment setup # -VERSION = '4.0.7-dev' +VERSION = '4.0.7' HOSTNAME = platform.node() # Set the base directory two levels up BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) diff --git a/netbox/translations/de/LC_MESSAGES/django.mo b/netbox/translations/de/LC_MESSAGES/django.mo index cc543ec2daa3456d66b9ad3d3755576f0c965d70..84520eb54ab36563d4ee9042cd9a6e94e3d6ad6c 100644 GIT binary patch delta 63922 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�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 delta 63797 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

oznuknwz$VmZU{m}EEBpDMqeWU`3=Iv@ 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�LA&861w~ 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

)oNAVQlC^9( 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 meMpneew~851%)(e8?^0Mq);C|uY|Z%q diff --git a/netbox/translations/pt/LC_MESSAGES/django.mo b/netbox/translations/pt/LC_MESSAGES/django.mo index 198e9781b2f05c86e0f77505788b07f6edadff08..30691c79730dfa50849dc71465a1d4e09b92310a 100644 GIT binary patch delta 63280 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 Ra(lC9&mQvZWtcEM{twr=)ztt1 delta 63201 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 delta 63609 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

Sk|C$Nh7ySm^mdDW#AX$2c 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 $?>#5BO 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 literal 200492 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�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 From dd413b248aa821486a5511c3a3b0db42f69176af Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 9 Jul 2024 13:49:24 -0400 Subject: [PATCH 42/42] PRVB --- docs/release-notes/version-4.0.md | 4 ++++ netbox/netbox/settings.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-4.0.md b/docs/release-notes/version-4.0.md index 7fb92367a..e91d7eb9e 100644 --- a/docs/release-notes/version-4.0.md +++ b/docs/release-notes/version-4.0.md @@ -1,5 +1,9 @@ # NetBox v4.0 +## v4.0.8 (FUTURE) + +--- + ## v4.0.7 (2024-07-09) ### Enhancements diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 9b392e251..7aa141bcc 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -25,7 +25,7 @@ from utilities.string import trailing_slash # Environment setup # -VERSION = '4.0.7' +VERSION = '4.0.8-dev' HOSTNAME = platform.node() # Set the base directory two levels up BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))