From 8715f6fe873fe5cae7ffb4a742081058f0d636cc Mon Sep 17 00:00:00 2001 From: atownson <> Date: Tue, 17 Sep 2024 13:36:05 -0500 Subject: [PATCH 01/41] #16009 Added btn-float-group style class and added to form templates for floating button groups --- netbox/project-static/dist/netbox.css | Bin 554338 -> 554468 bytes .../project-static/styles/custom/_misc.scss | 8 ++++++++ .../styles/overrides/_tabler.scss | 4 ++-- netbox/templates/generic/bulk_edit.html | 2 +- netbox/templates/generic/object_edit.html | 2 +- netbox/templates/inc/filter_list.html | 2 +- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/netbox/project-static/dist/netbox.css b/netbox/project-static/dist/netbox.css index f1b9e24e23ae8510895a55af5db0c4ccabca521f..ab1bc57fb953e5cbaad1759f91900c418382ac86 100644 GIT binary patch delta 138 zcmaF#O7Y2S#fBEf7N!>F7M2#)7Pc1lEgUBU1$Fe2O7e8ma`F>PbkmFSOADq?T*NFp zJ-?2XYx{>ljx{XPUxjf<^P?+re99)WeM1rw#^U|%13Mv!~ P6buatDyDxc;m8317{fB4 delta 62 zcmaFzTJg~<#fBEf7N!>F7M2#)7Pc1lEgUBUr+>+0l%1Xs%fU6hPn4Z&J9iMrA{LOK Q(Ds*M9G-I1D@!@D0r_7R)c^nh diff --git a/netbox/project-static/styles/custom/_misc.scss b/netbox/project-static/styles/custom/_misc.scss index 08125e8d3..623c5f844 100644 --- a/netbox/project-static/styles/custom/_misc.scss +++ b/netbox/project-static/styles/custom/_misc.scss @@ -33,3 +33,11 @@ span.color-label { .netbox-edition { letter-spacing: .15rem; } + +// A floating div for form buttons +.btn-float-group { + position: sticky; + bottom: 0px; + z-index: 1; + padding: 2px 0px 10px 0px; +} diff --git a/netbox/project-static/styles/overrides/_tabler.scss b/netbox/project-static/styles/overrides/_tabler.scss index 814a6d82b..006f3245b 100644 --- a/netbox/project-static/styles/overrides/_tabler.scss +++ b/netbox/project-static/styles/overrides/_tabler.scss @@ -52,7 +52,7 @@ pre { } // Altering background colors -.page, .page-tabs .nav-tabs .nav-link.active { +.page, .page-tabs .nav-tabs .nav-link.active, .btn-float-group { background-color: var(--#{$prefix}bg-surface-tertiary) !important; } .page-body .card .card-header { @@ -105,7 +105,7 @@ body[data-bs-theme=dark] { .navbar, .page-header { background-color: $rich-black; } - .page, .page-tabs .nav-tabs .nav-link.active { + .page, .page-tabs .nav-tabs .nav-link.active, .btn-float-group { background-color: $rich-black-light !important; } diff --git a/netbox/templates/generic/bulk_edit.html b/netbox/templates/generic/bulk_edit.html index 7da69a281..dc82bdb8c 100644 --- a/netbox/templates/generic/bulk_edit.html +++ b/netbox/templates/generic/bulk_edit.html @@ -102,7 +102,7 @@ Context: {% endif %} -
+
{% trans "Cancel" %}
diff --git a/netbox/templates/generic/object_edit.html b/netbox/templates/generic/object_edit.html index d496a544a..1eaf68291 100644 --- a/netbox/templates/generic/object_edit.html +++ b/netbox/templates/generic/object_edit.html @@ -67,7 +67,7 @@ Context: {% endblock form %}
-
+
{% block buttons %} {% trans "Cancel" %} {% if object.pk %} diff --git a/netbox/templates/inc/filter_list.html b/netbox/templates/inc/filter_list.html index b8c93ca4c..b5241b5ed 100644 --- a/netbox/templates/inc/filter_list.html +++ b/netbox/templates/inc/filter_list.html @@ -37,7 +37,7 @@
{% endif %}
- +
+ +
From 3b8a3dc66a780702f432e9622d1fc20ec2d6b68a Mon Sep 17 00:00:00 2001 From: atownson <> Date: Mon, 23 Sep 2024 13:04:44 -0500 Subject: [PATCH 03/41] Added style classes to represent left and right justified floating button groups --- netbox/project-static/styles/custom/_misc.scss | 14 +++++++++++--- netbox/templates/generic/bulk_edit.html | 2 +- netbox/templates/generic/object_edit.html | 2 +- netbox/templates/generic/object_list.html | 2 +- netbox/templates/inc/filter_list.html | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/netbox/project-static/styles/custom/_misc.scss b/netbox/project-static/styles/custom/_misc.scss index 8461e71ed..bf2d5ab59 100644 --- a/netbox/project-static/styles/custom/_misc.scss +++ b/netbox/project-static/styles/custom/_misc.scss @@ -37,10 +37,18 @@ span.color-label { // A floating div for form buttons .btn-float-group { position: sticky; - bottom: 0px; - z-index: 1; + bottom: 10px; + z-index: 2; +} + +.btn-float-group-left { + @extend .btn-float-group; + float: left; +} + +.btn-float-group-right { + @extend .btn-float-group; float: right; - padding: 0 0 10px; } // Override a transparent background diff --git a/netbox/templates/generic/bulk_edit.html b/netbox/templates/generic/bulk_edit.html index 5e5e8ec62..4b4d5aece 100644 --- a/netbox/templates/generic/bulk_edit.html +++ b/netbox/templates/generic/bulk_edit.html @@ -102,7 +102,7 @@ Context: {% endif %} -
+
{% trans "Cancel" %}
diff --git a/netbox/templates/generic/object_edit.html b/netbox/templates/generic/object_edit.html index 923b04aac..3e0a096fa 100644 --- a/netbox/templates/generic/object_edit.html +++ b/netbox/templates/generic/object_edit.html @@ -67,7 +67,7 @@ Context: {% endblock form %}
-
+
{% block buttons %} {% trans "Cancel" %} {% if object.pk %} diff --git a/netbox/templates/generic/object_list.html b/netbox/templates/generic/object_list.html index a89c5a960..fdd3cd3d8 100644 --- a/netbox/templates/generic/object_list.html +++ b/netbox/templates/generic/object_list.html @@ -121,7 +121,7 @@ Context: {# /Objects table #} {# Form buttons #} -
+
{% block bulk_buttons %}
{% if 'bulk_edit' in actions %} diff --git a/netbox/templates/inc/filter_list.html b/netbox/templates/inc/filter_list.html index 01f3fbb0e..9e1629d10 100644 --- a/netbox/templates/inc/filter_list.html +++ b/netbox/templates/inc/filter_list.html @@ -38,7 +38,7 @@ {% endif %}
-
+
From 1e03eb4eb8bd2f631a4708135c044a9e592f42ae Mon Sep 17 00:00:00 2001 From: atownson <> Date: Mon, 23 Sep 2024 13:06:46 -0500 Subject: [PATCH 04/41] Added TypeScript to handle conditionally floating the object list forms --- netbox/project-static/dist/netbox.css | Bin 554549 -> 554636 bytes netbox/project-static/dist/netbox.js | Bin 389845 -> 390382 bytes netbox/project-static/dist/netbox.js.map | Bin 526569 -> 527153 bytes .../project-static/src/buttons/floatBulk.ts | 35 ++++++++++++++++++ netbox/project-static/src/buttons/index.ts | 2 + 5 files changed, 37 insertions(+) create mode 100644 netbox/project-static/src/buttons/floatBulk.ts diff --git a/netbox/project-static/dist/netbox.css b/netbox/project-static/dist/netbox.css index 69fe8321322a3e9b435549549a969eab9d5d2dbe..95ead473e533c3078875feccb9b77779932727ce 100644 GIT binary patch delta 190 zcmdn`MzQCuVnYjK3sVbo3rh=Y3tJ2O77mwET^+rol04nCoczQR-SndT(gNM0%=C;B zOyQi=w36u?Wtb)63=Ik@tgCc0^HNePtc+?g3;?OD2AgOFVqz))+W=JoW+N%7p1yGv VtJJgtCa&op0y(&*?Ptco(zGfJ!r5>rw# V^U|#h6buv$4GJoz-!A3Y2mlAm7cT$+ diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index afdbea0f820889285f7d2f4fee6a434c72f5b373..0c624bde57b5c377fd4a2caf78896bbdb4f544ba 100644 GIT binary patch delta 10323 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 diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 212be3659ea899ae59375b29d171f673712f37cf..4a9df262ef42120eb2c4eb4c5d481c69dedec078 100644 GIT binary patch delta 619 zcmaJLU0xbEL=m7^7FhsS7YMkd^ErA_6R;FaS?760S%sqpP|I z2n{5C`^DdihTHVql|~o7fP}t@glp%3OaE3RcUuDSR3Gl&j6N=u^YK_UJnJcD zxHGMeX|$#^@5o?Yp*Jx6=IXvqGD#99xx| zb%^{qa8E3cFAoCWcN>|O8#Fm}JV|#Nw#*uiFLVBF!sNR;GitT1h96zNsB`g&A1Jzi IRX5f@0r#rAzW@LL delta 121 zcmdluP2uH4g$=vpn{Udu-;`$rVkRJF-hNY_#X6m{z|~PF*wHaKeEY5rmKF}ioay!x zSppSY9i82DfP`z1j=Q6yw~n);Ylx1sbAgkij;EueZ*cpzi7Y_O3dC&Nw@qZ9ZMFT_ U8Fp3X=}%9w^Ka+Az^-Nu0F('input[type="checkbox"][name="pk"]:checked'); + const buttonGroup = document.querySelector('div.form.form-horizontal div.btn-list'); + const isFloating = buttonGroup.classList.contains('btn-float-group-left'); + if (checkedCheckboxes !== null && !isFloating) { + buttonGroup.classList.add('btn-float-group-left'); + } + else if (checkedCheckboxes === null && isFloating) { + buttonGroup.classList.remove('btn-float-group-left'); + } +} + + +/** + * Initialize floating bulk buttons. + */ +export function initFloatBulk(): void { + for (const element of getElements('input[type="checkbox"][name="pk"]')) { + element.addEventListener('change', event => { + toggleFloat(); + }); + } + // Handle the select-all checkbox + for (const element of getElements('table tr th > input[type="checkbox"].toggle')) { + element.addEventListener('change', event => { + toggleFloat(); + }); + } +} diff --git a/netbox/project-static/src/buttons/index.ts b/netbox/project-static/src/buttons/index.ts index 6c1c0db0b..cb520b818 100644 --- a/netbox/project-static/src/buttons/index.ts +++ b/netbox/project-static/src/buttons/index.ts @@ -3,6 +3,7 @@ import { initDepthToggle } from './depthToggle'; import { initMoveButtons } from './moveOptions'; import { initReslug } from './reslug'; import { initSelectAll } from './selectAll'; +import { initFloatBulk } from './floatBulk'; import { initSelectMultiple } from './selectMultiple'; import { initMarkdownPreviews } from './markdownPreview'; import { initSecretToggle } from './secretToggle'; @@ -14,6 +15,7 @@ export function initButtons(): void { initReslug, initSelectAll, initSelectMultiple, + initFloatBulk, initMoveButtons, initMarkdownPreviews, initSecretToggle, From 0cf8264c0eb1b33695d189b6a06559b1bddef3e3 Mon Sep 17 00:00:00 2001 From: atownson <> Date: Mon, 23 Sep 2024 13:16:05 -0500 Subject: [PATCH 05/41] Fix TS import --- netbox/project-static/src/buttons/floatBulk.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/project-static/src/buttons/floatBulk.ts b/netbox/project-static/src/buttons/floatBulk.ts index 88603d8d6..34822a781 100644 --- a/netbox/project-static/src/buttons/floatBulk.ts +++ b/netbox/project-static/src/buttons/floatBulk.ts @@ -1,4 +1,4 @@ -import { getElements, fadeIn } from '../util'; +import { getElements } from '../util'; /** * Conditionally add and remove a class that will float the button group From 1bfb6e6f3444aeec2551c014066b049fc6c23c53 Mon Sep 17 00:00:00 2001 From: atownson <> Date: Mon, 23 Sep 2024 13:26:47 -0500 Subject: [PATCH 06/41] Added null check for the button group --- netbox/project-static/dist/netbox.js | Bin 390382 -> 390400 bytes netbox/project-static/dist/netbox.js.map | Bin 527153 -> 527179 bytes .../project-static/src/buttons/floatBulk.ts | 3 +++ 3 files changed, 3 insertions(+) diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 0c624bde57b5c377fd4a2caf78896bbdb4f544ba..8e653376d63254bf2e1c01f04eb4d37294a349c2 100644 GIT binary patch delta 61 zcmaF&QoP}nctZ#Dr2j#DrvjAkEo(*czm6)OM$ diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 4a9df262ef42120eb2c4eb4c5d481c69dedec078..cce0975e3a0c968fb23d97a8b64684237ebcdd31 100644 GIT binary patch delta 72 zcmdluP2u!3g@zW!7N!>FEi9SsGCA%#?v9S0I?j%c&W=E)vxknqqpO>ar=z3q_Uv{R YH%3O&_DvluK+FonY}+?=u-7*M09}R{WB>pF delta 46 zcmX>-O=06Sg@zW!7N!>FEi9SsOr~zzTiaRO7#XYD&vdW=F)I+WZ9mh&Uf%=&poJ1# diff --git a/netbox/project-static/src/buttons/floatBulk.ts b/netbox/project-static/src/buttons/floatBulk.ts index 34822a781..0f1a3dce2 100644 --- a/netbox/project-static/src/buttons/floatBulk.ts +++ b/netbox/project-static/src/buttons/floatBulk.ts @@ -7,6 +7,9 @@ import { getElements } from '../util'; function toggleFloat(): void { const checkedCheckboxes = document.querySelector('input[type="checkbox"][name="pk"]:checked'); const buttonGroup = document.querySelector('div.form.form-horizontal div.btn-list'); + if (!buttonGroup) { + return; + } const isFloating = buttonGroup.classList.contains('btn-float-group-left'); if (checkedCheckboxes !== null && !isFloating) { buttonGroup.classList.add('btn-float-group-left'); From 6d5af67da833522fa397d23be994e27b9c8e5061 Mon Sep 17 00:00:00 2001 From: atownson <> Date: Mon, 23 Sep 2024 13:42:37 -0500 Subject: [PATCH 07/41] Update TS styling --- netbox/project-static/dist/netbox.js | Bin 390400 -> 390400 bytes netbox/project-static/dist/netbox.js.map | Bin 527179 -> 527160 bytes .../project-static/src/buttons/floatBulk.ts | 23 ++++++++++++------ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 8e653376d63254bf2e1c01f04eb4d37294a349c2..a4365ca6340075d8ca0d94a1286bc48020ed1c38 100644 GIT binary patch delta 40 rcmZp8CEfr;EsQNpTbP6Tm^3t}hx9S01L^j?eat}2vVCtKt8*FvHhK>U delta 40 rcmZp8CEfr;EsQNpTbP6Tm`XCIhx9S01L^j?eat}2vVCtKt8*FvOWF`2 diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index cce0975e3a0c968fb23d97a8b64684237ebcdd31..3bee1b2ac70832fc5b358f67e05e3aec7e35152f 100644 GIT binary patch delta 175 zcmX>-O<~70g@zW!7N!>FEiAU}TFzO{I!4Zp&Tcxcj?TW$I_{2+$vVM~j=?&~j?TtT zI;Ai<$LZPaEK3=^rwewlD6u*hIO*h0U(?1S&7rF9%(neX2RpON_6KL!v+V#4o;JJy delta 210 zcmdlnP2u!3g@zW!7N!>FEiAU}dXDMNI!4Zpjz-Qpu8z(X?#?>yj*iJX!H$l>I?0ZX z7EU^)K-p5TY>xZ%^mdk|jK0%(J6M#aKW<}D;&s*W1SxfPbT)Jjm>%81qU;aSWCqk^ z2G*qS<^nP@P$$#L(J|8rWO68qCXj3-$bb|e;phw`Tzzz$olTt_!LA5wKh?nk#H>Kf Xw*6EGJF^RGYFTPt$@Y_H*z@fGb(uek diff --git a/netbox/project-static/src/buttons/floatBulk.ts b/netbox/project-static/src/buttons/floatBulk.ts index 0f1a3dce2..7209dd7ca 100644 --- a/netbox/project-static/src/buttons/floatBulk.ts +++ b/netbox/project-static/src/buttons/floatBulk.ts @@ -1,12 +1,16 @@ import { getElements } from '../util'; - + /** * Conditionally add and remove a class that will float the button group * based on whether or not items in the list are checked */ function toggleFloat(): void { - const checkedCheckboxes = document.querySelector('input[type="checkbox"][name="pk"]:checked'); - const buttonGroup = document.querySelector('div.form.form-horizontal div.btn-list'); + const checkedCheckboxes = document.querySelector( + 'input[type="checkbox"][name="pk"]:checked', + ); + const buttonGroup = document.querySelector( + 'div.form.form-horizontal div.btn-list', + ); if (!buttonGroup) { return; } @@ -19,19 +23,22 @@ function toggleFloat(): void { } } - /** * Initialize floating bulk buttons. */ export function initFloatBulk(): void { - for (const element of getElements('input[type="checkbox"][name="pk"]')) { - element.addEventListener('change', event => { + for (const element of getElements( + 'input[type="checkbox"][name="pk"]', + )) { + element.addEventListener('change', () => { toggleFloat(); }); } // Handle the select-all checkbox - for (const element of getElements('table tr th > input[type="checkbox"].toggle')) { - element.addEventListener('change', event => { + for (const element of getElements( + 'table tr th > input[type="checkbox"].toggle', + )) { + element.addEventListener('change', () => { toggleFloat(); }); } From 3c36549ff19711b9b3dbc6924e1258b1798bf794 Mon Sep 17 00:00:00 2001 From: atownson <> Date: Mon, 23 Sep 2024 14:59:16 -0500 Subject: [PATCH 08/41] Satisfy prettier check --- netbox/project-static/dist/netbox.js.map | Bin 527160 -> 527162 bytes .../project-static/src/buttons/floatBulk.ts | 7 ++----- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 3bee1b2ac70832fc5b358f67e05e3aec7e35152f..eb3623216deb349c040313bfd6ba19797cacc5b9 100644 GIT binary patch delta 74 zcmdlnO<~tGg@zW!7N!>FEiBjCMV-r>U39!19gCfGd>tJFU3EMioy(@bZf9|s{FEiBjCMO~|$U39!19gCfGd>tJFU3EMior|WwZf9{}buMty n$(_EYjYWF;f({m$>A4*&VT^h0M><%5m=%cGwjb$WFKYq-8bKeG diff --git a/netbox/project-static/src/buttons/floatBulk.ts b/netbox/project-static/src/buttons/floatBulk.ts index 7209dd7ca..0735690cd 100644 --- a/netbox/project-static/src/buttons/floatBulk.ts +++ b/netbox/project-static/src/buttons/floatBulk.ts @@ -17,8 +17,7 @@ function toggleFloat(): void { const isFloating = buttonGroup.classList.contains('btn-float-group-left'); if (checkedCheckboxes !== null && !isFloating) { buttonGroup.classList.add('btn-float-group-left'); - } - else if (checkedCheckboxes === null && isFloating) { + } else if (checkedCheckboxes === null && isFloating) { buttonGroup.classList.remove('btn-float-group-left'); } } @@ -27,9 +26,7 @@ function toggleFloat(): void { * Initialize floating bulk buttons. */ export function initFloatBulk(): void { - for (const element of getElements( - 'input[type="checkbox"][name="pk"]', - )) { + for (const element of getElements('input[type="checkbox"][name="pk"]')) { element.addEventListener('change', () => { toggleFloat(); }); From 648aeaaf1458ac82714e7592e01267abecc15bd5 Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Wed, 2 Oct 2024 09:00:26 -0500 Subject: [PATCH 09/41] Closes: #11671 - Add position display to cable trace --- netbox/dcim/svg/cables.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/netbox/dcim/svg/cables.py b/netbox/dcim/svg/cables.py index 959414d75..4e0f7aea6 100644 --- a/netbox/dcim/svg/cables.py +++ b/netbox/dcim/svg/cables.py @@ -162,6 +162,9 @@ class CableTraceSVG: location_label += f' / {instance.location}' if instance.rack: location_label += f' / {instance.rack}' + if instance.position: + location_label += f' / {instance.get_face_display()}' + location_label += f' / U{instance.position}' labels.append(location_label) elif instance._meta.model_name == 'circuit': labels[0] = f'Circuit {instance}' From f11dc00fae1297e397b82e30a52e781395738817 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 3 Oct 2024 13:24:00 -0400 Subject: [PATCH 10/41] Change attr_type from list to str for MultipleChoiceFilter (#17638) --- netbox/dcim/filtersets.py | 2 +- netbox/netbox/graphql/filter_mixins.py | 8 ++--- netbox/netbox/tests/test_graphql.py | 41 +++++++++++++++++++++++--- 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 6517aadb4..5a101e739 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -271,7 +271,7 @@ class LocationFilterSet(TenancyFilterSet, ContactModelFilterSet, OrganizationalM class Meta: model = Location - fields = ('id', 'name', 'slug', 'status', 'facility', 'description') + fields = ('id', 'name', 'slug', 'facility', 'description') def search(self, queryset, name, value): if not value.strip(): diff --git a/netbox/netbox/graphql/filter_mixins.py b/netbox/netbox/graphql/filter_mixins.py index 65c7ffcef..2044a1dde 100644 --- a/netbox/netbox/graphql/filter_mixins.py +++ b/netbox/netbox/graphql/filter_mixins.py @@ -1,11 +1,12 @@ -from functools import partial, partialmethod, wraps +from functools import partialmethod from typing import List import django_filters import strawberry import strawberry_django -from django.core.exceptions import FieldDoesNotExist, ValidationError +from django.core.exceptions import FieldDoesNotExist from strawberry import auto + from ipam.fields import ASNField from netbox.graphql.scalars import BigInt from utilities.fields import ColorField, CounterCacheField @@ -108,8 +109,7 @@ def map_strawberry_type(field): elif issubclass(type(field), django_filters.TypedMultipleChoiceFilter): pass elif issubclass(type(field), django_filters.MultipleChoiceFilter): - should_create_function = True - attr_type = List[str] | None + attr_type = str | None elif issubclass(type(field), django_filters.TypedChoiceFilter): pass elif issubclass(type(field), django_filters.ChoiceFilter): diff --git a/netbox/netbox/tests/test_graphql.py b/netbox/netbox/tests/test_graphql.py index 34ea3ad6a..b04d42d24 100644 --- a/netbox/netbox/tests/test_graphql.py +++ b/netbox/netbox/tests/test_graphql.py @@ -5,8 +5,8 @@ from django.urls import reverse from rest_framework import status from core.models import ObjectType +from dcim.choices import LocationStatusChoices from dcim.models import Site, Location -from ipam.models import ASN, RIR from users.models import ObjectPermission from utilities.testing import disable_warnings, APITestCase, TestCase @@ -53,10 +53,27 @@ class GraphQLAPITestCase(APITestCase): sites = ( Site(name='Site 1', slug='site-1'), Site(name='Site 2', slug='site-2'), + Site(name='Site 3', slug='site-3'), ) Site.objects.bulk_create(sites) - Location.objects.create(site=sites[0], name='Location 1', slug='location-1'), - Location.objects.create(site=sites[1], name='Location 2', slug='location-2'), + Location.objects.create( + site=sites[0], + name='Location 1', + slug='location-1', + status=LocationStatusChoices.STATUS_PLANNED + ), + Location.objects.create( + site=sites[1], + name='Location 2', + slug='location-2', + status=LocationStatusChoices.STATUS_STAGING + ), + Location.objects.create( + site=sites[1], + name='Location 3', + slug='location-3', + status=LocationStatusChoices.STATUS_ACTIVE + ), # Add object-level permission obj_perm = ObjectPermission( @@ -68,8 +85,9 @@ class GraphQLAPITestCase(APITestCase): obj_perm.object_types.add(ObjectType.objects.get_for_model(Location)) obj_perm.object_types.add(ObjectType.objects.get_for_model(Site)) - # A valid request should return the filtered list url = reverse('graphql') + + # A valid request should return the filtered list query = '{location_list(filters: {site_id: "' + str(sites[0].pk) + '"}) {id site {id}}}' response = self.client.post(url, data={'query': query}, format="json", **self.header) self.assertHttpStatus(response, status.HTTP_200_OK) @@ -78,6 +96,21 @@ class GraphQLAPITestCase(APITestCase): self.assertEqual(len(data['data']['location_list']), 1) self.assertIsNotNone(data['data']['location_list'][0]['site']) + # Test OR logic + query = """{ + location_list( filters: { + status: \"""" + LocationStatusChoices.STATUS_PLANNED + """\", + OR: {status: \"""" + LocationStatusChoices.STATUS_STAGING + """\"} + }) { + id site {id} + } + }""" + response = self.client.post(url, data={'query': query}, format="json", **self.header) + self.assertHttpStatus(response, status.HTTP_200_OK) + data = json.loads(response.content) + self.assertNotIn('errors', data) + self.assertEqual(len(data['data']['location_list']), 2) + # An invalid request should return an empty list query = '{location_list(filters: {site_id: "99999"}) {id site {id}}}' # Invalid site ID response = self.client.post(url, data={'query': query}, format="json", **self.header) From bfcae8088de7ce56934bc14acf7e61f0df2a7e57 Mon Sep 17 00:00:00 2001 From: Alexander Haase Date: Thu, 26 Sep 2024 14:20:05 +0200 Subject: [PATCH 11/41] Rename Microsoft Azure AD to Entra ID Occurrences of the old term have been replaced by the new term. However, the documentation still needs some work to reflect the new Entra ID screenshots and terminology. --- .../{microsoft-azure-ad.md => microsoft-entra-id.md} | 8 ++++---- docs/features/authentication-permissions.md | 2 +- mkdocs.yml | 2 +- netbox/netbox/authentication/__init__.py | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) rename docs/administration/authentication/{microsoft-azure-ad.md => microsoft-entra-id.md} (94%) diff --git a/docs/administration/authentication/microsoft-azure-ad.md b/docs/administration/authentication/microsoft-entra-id.md similarity index 94% rename from docs/administration/authentication/microsoft-azure-ad.md rename to docs/administration/authentication/microsoft-entra-id.md index 17b130818..3451c656f 100644 --- a/docs/administration/authentication/microsoft-azure-ad.md +++ b/docs/administration/authentication/microsoft-entra-id.md @@ -1,8 +1,8 @@ -# Microsoft Azure AD +# Microsoft Entra ID -This guide explains how to configure single sign-on (SSO) support for NetBox using [Microsoft Azure Active Directory (AD)](https://azure.microsoft.com/en-us/services/active-directory/) as an authentication backend. +This guide explains how to configure single sign-on (SSO) support for NetBox using [Microsoft Entra ID](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id) as an authentication backend. -## Azure AD Configuration +## Entra ID Configuration ### 1. Create a test user (optional) @@ -16,7 +16,7 @@ Under the Azure Active Directory dashboard, navigate to **Add > App registration Enter a name for the registration (e.g. "NetBox") and ensure that the "single tenant" option is selected. -Under "Redirect URI", select "Web" for the platform and enter the path to your NetBox installation, ending with `/oauth/complete/azuread-oauth2/`. Note that this URI **must** begin with `https://` unless you are referencing localhost (for development purposes). +Under "Redirect URI", select "Web" for the platform and enter the path to your NetBox installation, ending with `/oauth/complete/entraid-oauth2/`. Note that this URI **must** begin with `https://` unless you are referencing localhost (for development purposes). ![App registration parameters](../../media/authentication/azure_ad_app_registration.png) diff --git a/docs/features/authentication-permissions.md b/docs/features/authentication-permissions.md index 14e13d5cd..cf3d11ef3 100644 --- a/docs/features/authentication-permissions.md +++ b/docs/features/authentication-permissions.md @@ -41,7 +41,7 @@ NetBox integrates with the open source [python-social-auth](https://github.com/p * Google * Hashicorp Vault * Keycloak -* Microsoft Azure AD +* Microsoft Entra ID * Microsoft Graph * Okta * OIDC diff --git a/mkdocs.yml b/mkdocs.yml index 656a2e03f..94a4edcb3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -156,7 +156,7 @@ nav: - Administration: - Authentication: - Overview: 'administration/authentication/overview.md' - - Microsoft Azure AD: 'administration/authentication/microsoft-azure-ad.md' + - Microsoft Entra ID: 'administration/authentication/microsoft-entra-id.md' - Okta: 'administration/authentication/okta.md' - Permissions: 'administration/permissions.md' - Error Reporting: 'administration/error-reporting.md' diff --git a/netbox/netbox/authentication/__init__.py b/netbox/netbox/authentication/__init__.py index 7394f6ded..f80454f99 100644 --- a/netbox/netbox/authentication/__init__.py +++ b/netbox/netbox/authentication/__init__.py @@ -20,10 +20,10 @@ AUTH_BACKEND_ATTRS = { 'amazon': ('Amazon AWS', 'aws'), 'apple': ('Apple', 'apple'), 'auth0': ('Auth0', None), - 'azuread-oauth2': ('Microsoft Azure AD', 'microsoft'), - 'azuread-b2c-oauth2': ('Microsoft Azure AD', 'microsoft'), - 'azuread-tenant-oauth2': ('Microsoft Azure AD', 'microsoft'), - 'azuread-v2-tenant-oauth2': ('Microsoft Azure AD', 'microsoft'), + 'entraid-oauth2': ('Microsoft Entra ID', 'microsoft'), + 'entraid-b2c-oauth2': ('Microsoft Entra ID', 'microsoft'), + 'entraid-tenant-oauth2': ('Microsoft Entra ID', 'microsoft'), + 'entraid-v2-tenant-oauth2': ('Microsoft Entra ID', 'microsoft'), 'bitbucket': ('BitBucket', 'bitbucket'), 'bitbucket-oauth2': ('BitBucket', 'bitbucket'), 'digitalocean': ('DigitalOcean', 'digital-ocean'), From dda78370697b4563762ce43dfcf30ac2defd7381 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Thu, 3 Oct 2024 07:16:00 -0700 Subject: [PATCH 12/41] 17671 fix RackType search --- netbox/dcim/search.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/dcim/search.py b/netbox/dcim/search.py index 38c1843fe..45431cb05 100644 --- a/netbox/dcim/search.py +++ b/netbox/dcim/search.py @@ -250,7 +250,7 @@ class RackTypeIndex(SearchIndex): ('description', 500), ('comments', 5000), ) - display_attrs = ('type', 'description') + display_attrs = ('model', 'description') @register_search From ce04ec20e81727bc60cb4cb86f9a05fd1c70cdc2 Mon Sep 17 00:00:00 2001 From: bctiemann Date: Thu, 3 Oct 2024 13:50:07 -0400 Subject: [PATCH 13/41] Fixes: #17663 - Only remove extraneous attributes from extra if changing to a BooleanFilter (#17670) * Only remove extraneous attributes from extra if changing to a BooleanField * Add tests for MultipleChoiceField icontains and negation * Use enum in test consistently * Reorganize tests * Add __empty test to base filter lookup tests * Fix test name * Change var name for clarity --- netbox/netbox/filtersets.py | 8 +++++--- netbox/utilities/tests/test_filters.py | 25 ++++++++++++++++++++----- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/netbox/netbox/filtersets.py b/netbox/netbox/filtersets.py index e3bd33298..637a40bf1 100644 --- a/netbox/netbox/filtersets.py +++ b/netbox/netbox/filtersets.py @@ -180,9 +180,11 @@ class BaseFilterSet(django_filters.FilterSet): # create the new filter with the same type because there is no guarantee the defined type # is the same as the default type for the field resolve_field(field, lookup_expr) # Will raise FieldLookupError if the lookup is invalid - for field_to_remove in ('choices', 'null_value'): - existing_filter_extra.pop(field_to_remove, None) - filter_cls = django_filters.BooleanFilter if lookup_expr == 'empty' else type(existing_filter) + filter_cls = type(existing_filter) + if lookup_expr == 'empty': + filter_cls = django_filters.BooleanFilter + for param_to_remove in ('choices', 'null_value'): + existing_filter_extra.pop(param_to_remove, None) new_filter = filter_cls( field_name=field_name, lookup_expr=lookup_expr, diff --git a/netbox/utilities/tests/test_filters.py b/netbox/utilities/tests/test_filters.py index dd6194565..53e6eb985 100644 --- a/netbox/utilities/tests/test_filters.py +++ b/netbox/utilities/tests/test_filters.py @@ -7,7 +7,7 @@ from taggit.managers import TaggableManager from dcim.choices import * from dcim.fields import MACAddressField -from dcim.filtersets import DeviceFilterSet, SiteFilterSet +from dcim.filtersets import DeviceFilterSet, SiteFilterSet, InterfaceFilterSet from dcim.models import ( Device, DeviceRole, DeviceType, Interface, Manufacturer, Platform, Rack, Region, Site ) @@ -16,6 +16,7 @@ from extras.models import TaggedItem from ipam.filtersets import ASNFilterSet from ipam.models import RIR, ASN from netbox.filtersets import BaseFilterSet +from wireless.choices import WirelessRoleChoices from utilities.filters import ( MultiValueCharFilter, MultiValueDateFilter, MultiValueDateTimeFilter, MultiValueMACAddressFilter, MultiValueNumberFilter, MultiValueTimeFilter, TreeNodeMultipleChoiceFilter, @@ -408,9 +409,9 @@ class DynamicFilterLookupExpressionTest(TestCase): region.save() sites = ( - Site(name='Site 1', slug='abc-site-1', region=regions[0]), - Site(name='Site 2', slug='def-site-2', region=regions[1]), - Site(name='Site 3', slug='ghi-site-3', region=regions[2]), + Site(name='Site 1', slug='abc-site-1', region=regions[0], status=SiteStatusChoices.STATUS_ACTIVE), + Site(name='Site 2', slug='def-site-2', region=regions[1], status=SiteStatusChoices.STATUS_ACTIVE), + Site(name='Site 3', slug='ghi-site-3', region=regions[2], status=SiteStatusChoices.STATUS_PLANNED), ) Site.objects.bulk_create(sites) @@ -438,7 +439,7 @@ class DynamicFilterLookupExpressionTest(TestCase): Interface(device=devices[1], name='Interface 3', mac_address='00-00-00-00-00-02'), Interface(device=devices[1], name='Interface 4', mac_address='bb-00-00-00-00-02'), Interface(device=devices[2], name='Interface 5', mac_address='00-00-00-00-00-03'), - Interface(device=devices[2], name='Interface 6', mac_address='cc-00-00-00-00-03'), + Interface(device=devices[2], name='Interface 6', mac_address='cc-00-00-00-00-03', rf_role=WirelessRoleChoices.ROLE_AP), ) Interface.objects.bulk_create(interfaces) @@ -446,6 +447,14 @@ class DynamicFilterLookupExpressionTest(TestCase): params = {'name__n': ['Site 1']} self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 2) + def test_site_status_icontains(self): + params = {'status__ic': [SiteStatusChoices.STATUS_ACTIVE]} + self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 2) + + def test_site_status_icontains_negation(self): + params = {'status__nic': [SiteStatusChoices.STATUS_ACTIVE]} + self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 1) + def test_site_slug_icontains(self): params = {'slug__ic': ['-1']} self.assertEqual(SiteFilterSet(params, Site.objects.all()).qs.count(), 1) @@ -553,3 +562,9 @@ class DynamicFilterLookupExpressionTest(TestCase): def test_device_mac_address_icontains_negation(self): params = {'mac_address__nic': ['aa:', 'bb']} self.assertEqual(DeviceFilterSet(params, Device.objects.all()).qs.count(), 1) + + def test_interface_rf_role_empty(self): + params = {'rf_role__empty': 'true'} + self.assertEqual(InterfaceFilterSet(params, Interface.objects.all()).qs.count(), 5) + params = {'rf_role__empty': 'false'} + self.assertEqual(InterfaceFilterSet(params, Interface.objects.all()).qs.count(), 1) From fec0badd5ab4fabcff0dc7ef69720a9b05c01b9a Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 3 Oct 2024 13:56:26 -0400 Subject: [PATCH 14/41] Closes #17669: Enable filtering VLANs by assigned interface (#17674) * Closes #17669: Enable filtering VLANs by assigned interface * Add tests --- netbox/ipam/filtersets.py | 26 ++++++++++++++++++ netbox/ipam/tests/test_filtersets.py | 40 ++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/netbox/ipam/filtersets.py b/netbox/ipam/filtersets.py index f98f510e5..894219c64 100644 --- a/netbox/ipam/filtersets.py +++ b/netbox/ipam/filtersets.py @@ -1035,6 +1035,16 @@ class VLANFilterSet(NetBoxModelFilterSet, TenancyFilterSet): to_field_name='identifier', label=_('L2VPN'), ) + interface_id = django_filters.ModelChoiceFilter( + queryset=Interface.objects.all(), + method='filter_interface_id', + label=_('Assigned interface') + ) + vminterface_id = django_filters.ModelChoiceFilter( + queryset=VMInterface.objects.all(), + method='filter_vminterface_id', + label=_('Assigned VM interface') + ) class Meta: model = VLAN @@ -1062,6 +1072,22 @@ class VLANFilterSet(NetBoxModelFilterSet, TenancyFilterSet): def get_for_virtualmachine(self, queryset, name, value): return queryset.get_for_virtualmachine(value) + def filter_interface_id(self, queryset, name, value): + if value is None: + return queryset.none() + return queryset.filter( + Q(interfaces_as_tagged=value) | + Q(interfaces_as_untagged=value) + ) + + def filter_vminterface_id(self, queryset, name, value): + if value is None: + return queryset.none() + return queryset.filter( + Q(vminterfaces_as_tagged=value) | + Q(vminterfaces_as_untagged=value) + ) + class ServiceTemplateFilterSet(NetBoxModelFilterSet): port = NumericArrayFilter( diff --git a/netbox/ipam/tests/test_filtersets.py b/netbox/ipam/tests/test_filtersets.py index e149c0a8d..4e38b1450 100644 --- a/netbox/ipam/tests/test_filtersets.py +++ b/netbox/ipam/tests/test_filtersets.py @@ -1658,6 +1658,13 @@ class VLANTestCase(TestCase, ChangeLoggedFilterSetTests): ) Device.objects.bulk_create(devices) + interfaces = ( + Interface(device=devices[0], name='Interface 1', type=InterfaceTypeChoices.TYPE_1GE_FIXED), + Interface(device=devices[1], name='Interface 2', type=InterfaceTypeChoices.TYPE_1GE_FIXED), + Interface(device=devices[2], name='Interface 3', type=InterfaceTypeChoices.TYPE_1GE_FIXED), + ) + Interface.objects.bulk_create(interfaces) + cluster_groups = ( ClusterGroup(name='Cluster Group 1', slug='cluster-group-1'), ClusterGroup(name='Cluster Group 2', slug='cluster-group-2'), @@ -1680,6 +1687,13 @@ class VLANTestCase(TestCase, ChangeLoggedFilterSetTests): ) VirtualMachine.objects.bulk_create(virtual_machines) + vm_interfaces = ( + VMInterface(virtual_machine=virtual_machines[0], name='VM Interface 1'), + VMInterface(virtual_machine=virtual_machines[1], name='VM Interface 2'), + VMInterface(virtual_machine=virtual_machines[2], name='VM Interface 3'), + ) + VMInterface.objects.bulk_create(vm_interfaces) + groups = ( # Scoped VLAN groups VLANGroup(name='Region 1', slug='region-1', scope=regions[0]), @@ -1773,6 +1787,22 @@ class VLANTestCase(TestCase, ChangeLoggedFilterSetTests): ) VLAN.objects.bulk_create(vlans) + # Assign VLANs to device interfaces + interfaces[0].untagged_vlan = vlans[0] + interfaces[0].tagged_vlans.add(vlans[1]) + interfaces[1].untagged_vlan = vlans[2] + interfaces[1].tagged_vlans.add(vlans[3]) + interfaces[2].untagged_vlan = vlans[4] + interfaces[2].tagged_vlans.add(vlans[5]) + + # Assign VLANs to VM interfaces + vm_interfaces[0].untagged_vlan = vlans[0] + vm_interfaces[0].tagged_vlans.add(vlans[1]) + vm_interfaces[1].untagged_vlan = vlans[2] + vm_interfaces[1].tagged_vlans.add(vlans[3]) + vm_interfaces[2].untagged_vlan = vlans[4] + vm_interfaces[2].tagged_vlans.add(vlans[5]) + def test_q(self): params = {'q': 'foobar1'} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) @@ -1857,6 +1887,16 @@ class VLANTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'available_at_site': site_id} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 5) # 4 scoped + 1 global group + 1 global + def test_interface(self): + interface_id = Interface.objects.first().pk + params = {'interface_id': interface_id} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + + def test_vminterface(self): + vminterface_id = VMInterface.objects.first().pk + params = {'vminterface_id': vminterface_id} + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) + class ServiceTemplateTestCase(TestCase, ChangeLoggedFilterSetTests): queryset = ServiceTemplate.objects.all() From 8e802abf0d71b516ad93db5aa2e50530792030da Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 05:02:12 +0000 Subject: [PATCH 15/41] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 32 +++++++++++--------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index d34a314a1..22c2747f8 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-10-02 05:01+0000\n" +"POT-Creation-Date: 2024-10-04 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -327,7 +327,7 @@ msgstr "" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: netbox/templates/htmx/object_selector.html:28 #: netbox/templates/inc/filter_list.html:45 @@ -3160,7 +3160,7 @@ msgstr "" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 #: netbox/vpn/filtersets.py:390 msgid "Device (ID)" msgstr "" @@ -3170,7 +3170,7 @@ msgid "Rack (name)" msgstr "" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 #: netbox/vpn/filtersets.py:385 msgid "Device (name)" msgstr "" @@ -9019,12 +9019,12 @@ msgid "Parent prefix" msgstr "" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:396 msgid "Virtual machine (name)" msgstr "" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 #: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 msgid "Virtual machine (ID)" msgstr "" @@ -9063,19 +9063,27 @@ msgstr "" msgid "NAT inside IP address (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "" @@ -9286,10 +9294,6 @@ msgstr "" msgid "Parent VM of assigned interface (if any)" msgstr "" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "" From 74727786c1f957805b1b6550c10d4a84bbf41bc3 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 7 Oct 2024 08:03:14 -0400 Subject: [PATCH 16/41] Update changelog --- docs/release-notes/version-4.1.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index 28fc8ff12..073491817 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -1,5 +1,21 @@ # NetBox v4.1 +## v4.1.4 (FUTURE) + +### Enhancements + +* [#11671](https://github.com/netbox-community/netbox/issues/11671) - Display device's rack position in cable traces +* [#15829](https://github.com/netbox-community/netbox/issues/15829) - Rename Microsoft Azure AD SSO backend to Microsoft Entra ID +* [#17669](https://github.com/netbox-community/netbox/issues/17669) - Enable filtering VLANs by assigned device or VM interface + +### Bug Fixes + +* [#16024](https://github.com/netbox-community/netbox/issues/16024) - Fix AND/OR filtering in GraphQL API for selection fields +* [#17663](https://github.com/netbox-community/netbox/issues/17663) - Fix extended lookups for choice field filters +* [#17671](https://github.com/netbox-community/netbox/issues/17671) - Fix the display of rack types in global search results + +--- + ## v4.1.3 (2024-10-02) ### Enhancements From 66d792e0d88643c8b367accc9276552564b75484 Mon Sep 17 00:00:00 2001 From: Costas Drongos Date: Wed, 2 Oct 2024 23:07:43 +0200 Subject: [PATCH 17/41] fixes: 17079 add more device airflow choices --- netbox/dcim/choices.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netbox/dcim/choices.py b/netbox/dcim/choices.py index 4c9d14c0c..11d192732 100644 --- a/netbox/dcim/choices.py +++ b/netbox/dcim/choices.py @@ -197,6 +197,9 @@ class DeviceAirflowChoices(ChoiceSet): AIRFLOW_LEFT_TO_RIGHT = 'left-to-right' AIRFLOW_RIGHT_TO_LEFT = 'right-to-left' AIRFLOW_SIDE_TO_REAR = 'side-to-rear' + AIRFLOW_REAR_TO_SIDE = 'rear-to-side' + AIRFLOW_BOTTOM_TO_TOP = 'bottom-to-top' + AIRFLOW_TOP_TO_BOTTOM = 'top-to-bottom' AIRFLOW_PASSIVE = 'passive' AIRFLOW_MIXED = 'mixed' @@ -206,6 +209,9 @@ class DeviceAirflowChoices(ChoiceSet): (AIRFLOW_LEFT_TO_RIGHT, _('Left to right')), (AIRFLOW_RIGHT_TO_LEFT, _('Right to left')), (AIRFLOW_SIDE_TO_REAR, _('Side to rear')), + (AIRFLOW_REAR_TO_SIDE, _('Rear to side')), + (AIRFLOW_BOTTOM_TO_TOP, _('Bottom to top')), + (AIRFLOW_TOP_TO_BOTTOM, _('Top to bottom')), (AIRFLOW_PASSIVE, _('Passive')), (AIRFLOW_MIXED, _('Mixed')), ) From 4b6e8a9e753b43966b93311bd6131138bcc225f2 Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Mon, 7 Oct 2024 07:35:47 -0500 Subject: [PATCH 18/41] Fixes: #17566 - Fix issue `Job.get_absolute_url()` to prevent exception being thrown if no object_type is set (#17661) * Fixes: #17566 - Fix issue `Job.get_absolute_url()` to prevent exception being thrown if no object_type is set * Add back whitespace after statements * Remove whitespace. Change to if statement --- netbox/core/models/jobs.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 4a327a1d8..2327dedb3 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -118,10 +118,11 @@ class Job(models.Model): def get_absolute_url(self): # TODO: Employ dynamic registration - if self.object_type.model == 'reportmodule': - return reverse(f'extras:report_result', kwargs={'job_pk': self.pk}) - if self.object_type.model == 'scriptmodule': - return reverse(f'extras:script_result', kwargs={'job_pk': self.pk}) + if self.object_type: + if self.object_type.model == 'reportmodule': + return reverse(f'extras:report_result', kwargs={'job_pk': self.pk}) + elif self.object_type.model == 'scriptmodule': + return reverse(f'extras:script_result', kwargs={'job_pk': self.pk}) return reverse('core:job', args=[self.pk]) def get_status_color(self): From 364826d2d8d943a153bf00efef4bf53c16e68bfe Mon Sep 17 00:00:00 2001 From: Thor Selmer Dreier-Hansen <43479811+thordreier@users.noreply.github.com> Date: Mon, 7 Oct 2024 14:45:53 +0200 Subject: [PATCH 19/41] limits vlans on interface tables (#17662) * limits vlans on interface tables * limits vlans on interface tables * limits vlans on interface tables * limits vlans on interface tables --- netbox/dcim/tables/devices.py | 3 +++ netbox/dcim/tables/template_code.py | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index 2fa82dc43..70b297366 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -588,6 +588,9 @@ class BaseInterfaceTable(NetBoxTable): def value_ip_addresses(self, value): return ",".join([str(obj.address) for obj in value.all()]) + def value_tagged_vlans(self, value): + return ",".join([str(obj) for obj in value.all()]) + class InterfaceTable(ModularDeviceComponentTable, BaseInterfaceTable, PathEndpointTable): device = tables.Column( diff --git a/netbox/dcim/tables/template_code.py b/netbox/dcim/tables/template_code.py index d3134656c..96ab803e6 100644 --- a/netbox/dcim/tables/template_code.py +++ b/netbox/dcim/tables/template_code.py @@ -56,9 +56,13 @@ INTERFACE_FHRPGROUPS = """ INTERFACE_TAGGED_VLANS = """ {% if record.mode == 'tagged' %} + {% if value.count > 3 %} + {{ value.count }} VLANs + {% else %} {% for vlan in value.all %} {{ vlan }}
{% endfor %} + {% endif %} {% elif record.mode == 'tagged-all' %} All {% endif %} From 2fd23f35c878c2ac28d21318fe73f1ad13f2f9c5 Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Mon, 7 Oct 2024 07:59:48 -0500 Subject: [PATCH 20/41] Fixes: #17648 - Fix exception thrown in `Job.delete()` when no object_type specified (#17657) * Fixes: #17648 - Fix exception thrown in `Job.delete()` when no object_type specified * Remove unrelated fix * Change back elif to if * Remove unused imports --------- Co-authored-by: Jeremy Stretch --- netbox/core/models/jobs.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 2327dedb3..655647ebb 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -13,8 +13,6 @@ from django.utils.translation import gettext as _ from core.choices import JobStatusChoices from core.models import ObjectType from core.signals import job_end, job_start -from netbox.config import get_config -from netbox.constants import RQ_QUEUE_DEFAULT from utilities.querysets import RestrictedQuerySet from utilities.rqworker import get_queue_for_model @@ -155,7 +153,7 @@ class Job(models.Model): def delete(self, *args, **kwargs): super().delete(*args, **kwargs) - rq_queue_name = get_config().QUEUE_MAPPINGS.get(self.object_type.model, RQ_QUEUE_DEFAULT) + rq_queue_name = get_queue_for_model(self.object_type.model if self.object_type else None) queue = django_rq.get_queue(rq_queue_name) job = queue.fetch_job(str(self.job_id)) From ebd6c5993489555247cd40b81fa37996d1a2df1e Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 7 Oct 2024 10:53:27 -0400 Subject: [PATCH 21/41] Changelog for #17079, #17566, #17648, #17655 --- docs/release-notes/version-4.1.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index 073491817..1cb985965 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -6,11 +6,15 @@ * [#11671](https://github.com/netbox-community/netbox/issues/11671) - Display device's rack position in cable traces * [#15829](https://github.com/netbox-community/netbox/issues/15829) - Rename Microsoft Azure AD SSO backend to Microsoft Entra ID +* [#17079](https://github.com/netbox-community/netbox/issues/17079) - Introduce additional choices for device airflow direction +* [#17655](https://github.com/netbox-community/netbox/issues/17655) - Limit the display of tagged VLANs within interface tables * [#17669](https://github.com/netbox-community/netbox/issues/17669) - Enable filtering VLANs by assigned device or VM interface ### Bug Fixes * [#16024](https://github.com/netbox-community/netbox/issues/16024) - Fix AND/OR filtering in GraphQL API for selection fields +* [#17566](https://github.com/netbox-community/netbox/issues/17566) - Fix AttributeError exception resulting from background jobs with no associated object type +* [#17648](https://github.com/netbox-community/netbox/issues/17648) - Fix AttributeError exception when attempting to delete a background job under certain conditions * [#17663](https://github.com/netbox-community/netbox/issues/17663) - Fix extended lookups for choice field filters * [#17671](https://github.com/netbox-community/netbox/issues/17671) - Fix the display of rack types in global search results From ccb2480e982f0aca8fd090fcad74a9f7d6103f4f Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 05:02:15 +0000 Subject: [PATCH 22/41] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 280 ++++++++++--------- 1 file changed, 146 insertions(+), 134 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 22c2747f8..6b6040a07 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-10-04 05:02+0000\n" +"POT-Creation-Date: 2024-10-08 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -82,8 +82,8 @@ msgstr "" #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1524 -#: netbox/dcim/choices.py:1600 netbox/dcim/choices.py:1650 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -95,8 +95,8 @@ msgstr "" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1599 netbox/dcim/choices.py:1649 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -107,8 +107,8 @@ msgid "Active" msgstr "" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1598 -#: netbox/dcim/choices.py:1651 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "" @@ -121,7 +121,7 @@ msgstr "" msgid "Decommissioned" msgstr "" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1611 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "" @@ -559,8 +559,8 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:250 #: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -595,7 +595,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:703 netbox/dcim/forms/model_forms.py:709 #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 netbox/templates/circuits/circuit.html:30 @@ -650,8 +650,8 @@ msgstr "" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -1155,7 +1155,7 @@ msgid "Unique circuit ID" msgstr "" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 #: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 #: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 netbox/dcim/models/sites.py:154 @@ -1285,7 +1285,7 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 #: netbox/dcim/models/device_components.py:54 netbox/dcim/models/devices.py:593 #: netbox/dcim/models/devices.py:1323 netbox/dcim/models/devices.py:1388 @@ -1371,11 +1371,11 @@ msgstr "" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:32 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1508,7 +1508,7 @@ msgstr "" #: netbox/circuits/tables/circuits.py:80 netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 #: netbox/dcim/tables/devicetypes.py:93 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:84 @@ -1586,8 +1586,8 @@ msgstr "" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1601 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "" @@ -1911,7 +1911,7 @@ msgstr "" msgid "Rack Elevations" msgstr "" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1512 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -2013,7 +2013,7 @@ msgid "Change logging is not supported for this object type ({type})." msgstr "" #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2188,58 +2188,58 @@ msgstr "" msgid "managed files" msgstr "" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "" -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2477,7 +2477,7 @@ msgid "Staging" msgstr "" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1525 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "" @@ -2541,17 +2541,17 @@ msgstr "" msgid "Millimeters" msgstr "" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1547 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "" @@ -2564,8 +2564,8 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 netbox/dcim/forms/object_import.py:176 -#: netbox/dcim/tables/devices.py:653 netbox/dcim/tables/devices.py:866 -#: netbox/dcim/tables/devices.py:951 netbox/extras/tables/tables.py:223 +#: netbox/dcim/tables/devices.py:656 netbox/dcim/tables/devices.py:869 +#: netbox/dcim/tables/devices.py:954 netbox/extras/tables/tables.py:223 #: netbox/ipam/tables/fhrp.py:59 netbox/ipam/tables/ip.py:378 #: netbox/ipam/tables/services.py:44 netbox/templates/dcim/interface.html:102 #: netbox/templates/dcim/interface.html:309 @@ -2608,7 +2608,7 @@ msgstr "" msgid "Rear" msgstr "" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "" @@ -2617,67 +2617,79 @@ msgstr "" msgid "Inventory" msgstr "" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1213 netbox/dcim/choices.py:1215 -#: netbox/dcim/choices.py:1441 netbox/dcim/choices.py:1443 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1017 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1091 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2685,13 +2697,13 @@ msgstr "" msgid "Wireless" msgstr "" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "" -#: netbox/dcim/choices.py:1018 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2699,27 +2711,27 @@ msgstr "" msgid "Bridge" msgstr "" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "" -#: netbox/dcim/choices.py:1023 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "" -#: netbox/dcim/choices.py:1038 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "" -#: netbox/dcim/choices.py:1075 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "" -#: netbox/dcim/choices.py:1107 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "" -#: netbox/dcim/choices.py:1159 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2727,130 +2739,130 @@ msgstr "" msgid "Serial" msgstr "" -#: netbox/dcim/choices.py:1174 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "" -#: netbox/dcim/choices.py:1194 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "" -#: netbox/dcim/choices.py:1244 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "" -#: netbox/dcim/choices.py:1245 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "" -#: netbox/dcim/choices.py:1246 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "" -#: netbox/dcim/choices.py:1258 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "" -#: netbox/dcim/choices.py:1259 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "" -#: netbox/dcim/choices.py:1288 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "" -#: netbox/dcim/choices.py:1301 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "" -#: netbox/dcim/choices.py:1302 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "" -#: netbox/dcim/choices.py:1372 netbox/dcim/choices.py:1482 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "" -#: netbox/dcim/choices.py:1395 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "" -#: netbox/dcim/choices.py:1428 netbox/dcim/choices.py:1511 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "" -#: netbox/dcim/choices.py:1498 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "" -#: netbox/dcim/choices.py:1523 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "" -#: netbox/dcim/choices.py:1542 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "" -#: netbox/dcim/choices.py:1543 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "" -#: netbox/dcim/choices.py:1544 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "" -#: netbox/dcim/choices.py:1545 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "" -#: netbox/dcim/choices.py:1546 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "" -#: netbox/dcim/choices.py:1564 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "" -#: netbox/dcim/choices.py:1565 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "" -#: netbox/dcim/choices.py:1612 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "" -#: netbox/dcim/choices.py:1633 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "" -#: netbox/dcim/choices.py:1634 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "" @@ -3222,7 +3234,7 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 #: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3313,7 +3325,7 @@ msgstr "" msgid "Wireless LAN" msgstr "" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "" @@ -3373,7 +3385,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:247 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3420,7 +3432,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 netbox/dcim/forms/object_import.py:187 #: netbox/dcim/tables/devices.py:96 netbox/dcim/tables/devices.py:172 -#: netbox/dcim/tables/devices.py:937 netbox/dcim/tables/devicetypes.py:81 +#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:81 #: netbox/dcim/tables/devicetypes.py:309 netbox/dcim/tables/modules.py:20 #: netbox/dcim/tables/modules.py:60 netbox/dcim/tables/racks.py:58 #: netbox/dcim/tables/racks.py:132 netbox/templates/dcim/devicetype.html:14 @@ -3544,8 +3556,8 @@ msgstr "" #: netbox/dcim/forms/filtersets.py:777 netbox/dcim/forms/filtersets.py:1534 #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 netbox/dcim/forms/object_import.py:181 -#: netbox/dcim/tables/devices.py:169 netbox/dcim/tables/devices.py:806 -#: netbox/dcim/tables/devices.py:934 netbox/dcim/tables/devicetypes.py:305 +#: netbox/dcim/tables/devices.py:169 netbox/dcim/tables/devices.py:809 +#: netbox/dcim/tables/devices.py:937 netbox/dcim/tables/devicetypes.py:305 #: netbox/dcim/tables/racks.py:129 netbox/extras/filtersets.py:552 #: netbox/ipam/forms/bulk_edit.py:260 netbox/ipam/forms/bulk_edit.py:310 #: netbox/ipam/forms/bulk_edit.py:358 netbox/ipam/forms/bulk_edit.py:556 @@ -3744,10 +3756,10 @@ msgstr "" #: netbox/dcim/tables/connections.py:60 netbox/dcim/tables/devices.py:285 #: netbox/dcim/tables/devices.py:371 netbox/dcim/tables/devices.py:412 #: netbox/dcim/tables/devices.py:454 netbox/dcim/tables/devices.py:505 -#: netbox/dcim/tables/devices.py:594 netbox/dcim/tables/devices.py:694 -#: netbox/dcim/tables/devices.py:751 netbox/dcim/tables/devices.py:798 -#: netbox/dcim/tables/devices.py:858 netbox/dcim/tables/devices.py:927 -#: netbox/dcim/tables/devices.py:1054 netbox/dcim/tables/modules.py:52 +#: netbox/dcim/tables/devices.py:597 netbox/dcim/tables/devices.py:697 +#: netbox/dcim/tables/devices.py:754 netbox/dcim/tables/devices.py:801 +#: netbox/dcim/tables/devices.py:861 netbox/dcim/tables/devices.py:930 +#: netbox/dcim/tables/devices.py:1057 netbox/dcim/tables/modules.py:52 #: netbox/extras/forms/filtersets.py:321 netbox/ipam/forms/bulk_import.py:304 #: netbox/ipam/forms/bulk_import.py:481 netbox/ipam/forms/filtersets.py:551 #: netbox/ipam/forms/model_forms.py:319 netbox/ipam/forms/model_forms.py:679 @@ -3934,7 +3946,7 @@ msgstr "" msgid "Module" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "" @@ -3946,7 +3958,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -3993,7 +4005,7 @@ msgid "Wireless LAN group" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4374,7 +4386,7 @@ msgstr "" msgid "Physical medium classification" msgstr "" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "" @@ -4463,7 +4475,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4703,7 +4715,7 @@ msgstr "" msgid "Cable" msgstr "" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "" @@ -4848,7 +4860,7 @@ msgid "Front Port" msgstr "" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4970,7 +4982,7 @@ msgid "" "selected number of rear port positions ({rearport_count})." msgstr "" -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -6481,7 +6493,7 @@ msgstr "" msgid "Site Group" msgstr "" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6490,12 +6502,12 @@ msgstr "" msgid "IP Address" msgstr "" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "" @@ -6533,7 +6545,7 @@ msgstr "" msgid "Power outlets" msgstr "" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 #: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6631,37 +6643,37 @@ msgstr "" msgid "Tunnel" msgstr "" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:228 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "" From 23e653406089902b214610e2b5d2f9885d090f9b Mon Sep 17 00:00:00 2001 From: Daniel Sheppard Date: Mon, 7 Oct 2024 14:58:50 -0500 Subject: [PATCH 23/41] Fixes: #17636 - Correct typo in Power Outlet Template form for Power Port field --- netbox/dcim/forms/model_forms.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/netbox/dcim/forms/model_forms.py b/netbox/dcim/forms/model_forms.py index 4f08ea896..908312a8a 100644 --- a/netbox/dcim/forms/model_forms.py +++ b/netbox/dcim/forms/model_forms.py @@ -954,7 +954,7 @@ class PowerOutletTemplateForm(ModularComponentTemplateForm): queryset=PowerPortTemplate.objects.all(), required=False, query_params={ - 'devicetype_id': '$device_type', + 'device_type_id': '$device_type', } ) @@ -1001,8 +1001,8 @@ class FrontPortTemplateForm(ModularComponentTemplateForm): queryset=RearPortTemplate.objects.all(), required=False, query_params={ - 'devicetype_id': '$device_type', - 'moduletype_id': '$module_type', + 'device_type_id': '$device_type', + 'module_type_id': '$module_type', } ) @@ -1063,7 +1063,7 @@ class InventoryItemTemplateForm(ComponentTemplateForm): queryset=InventoryItemTemplate.objects.all(), required=False, query_params={ - 'devicetype_id': '$device_type' + 'device_type_id': '$device_type' } ) role = DynamicModelChoiceField( From 2172ddde61734eaca5c3761309520c42291f95fb Mon Sep 17 00:00:00 2001 From: Craig Askings Date: Thu, 10 Oct 2024 00:28:53 +1000 Subject: [PATCH 24/41] Add EVPN-VPWS to L2VPNTypeChoices (#17694) * Add EVPN-VPWS to the availbable L2VPN Connection Types * Updated documentation to reference the new L2VPN type. --- docs/models/vpn/l2vpn.md | 1 + netbox/vpn/choices.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/models/vpn/l2vpn.md b/docs/models/vpn/l2vpn.md index 79b7435bf..1167c1c17 100644 --- a/docs/models/vpn/l2vpn.md +++ b/docs/models/vpn/l2vpn.md @@ -28,6 +28,7 @@ The technology employed in forming and operating the L2VPN. Choices include: * VXLAN-EVPN * MPLS-EVPN * PBB-EVPN +* EVPN-VPWS !!! note Designating the type as VPWS, EPL, EP-LAN, EP-TREE will limit the L2VPN instance to two terminations. diff --git a/netbox/vpn/choices.py b/netbox/vpn/choices.py index 4aa97f615..751454049 100644 --- a/netbox/vpn/choices.py +++ b/netbox/vpn/choices.py @@ -219,6 +219,7 @@ class L2VPNTypeChoices(ChoiceSet): TYPE_VXLAN_EVPN = 'vxlan-evpn' TYPE_MPLS_EVPN = 'mpls-evpn' TYPE_PBB_EVPN = 'pbb-evpn' + TYPE_EVPN_VPWS = 'evpn-vpws' CHOICES = ( ('VPLS', ( @@ -232,6 +233,7 @@ class L2VPNTypeChoices(ChoiceSet): ('L2VPN E-VPN', ( (TYPE_MPLS_EVPN, 'MPLS EVPN'), (TYPE_PBB_EVPN, 'PBB EVPN'), + (TYPE_EVPN_VPWS, 'EVPN VPWS') )), ('E-Line', ( (TYPE_EPL, 'EPL'), From ec89a9b10699cda0bf64bb736e5435520a24de8d Mon Sep 17 00:00:00 2001 From: gellis713 Date: Wed, 9 Oct 2024 09:30:40 -0500 Subject: [PATCH 25/41] Fix parsing of extra_choices (#17691) * Align strawberry resolver with expected return type * Align test data with expected representation of extra_choices in CustomFieldChoiceSet model --------- Co-authored-by: Griffin Ellis --- netbox/extras/graphql/types.py | 2 +- netbox/extras/tests/test_api.py | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/netbox/extras/graphql/types.py b/netbox/extras/graphql/types.py index a43f80cc3..a53c7bed3 100644 --- a/netbox/extras/graphql/types.py +++ b/netbox/extras/graphql/types.py @@ -84,7 +84,7 @@ class CustomFieldType(ObjectType): class CustomFieldChoiceSetType(ObjectType): choices_for: List[Annotated["CustomFieldType", strawberry.lazy('extras.graphql.types')]] - extra_choices: List[str] | None + extra_choices: List[List[str]] | None @strawberry_django.type( diff --git a/netbox/extras/tests/test_api.py b/netbox/extras/tests/test_api.py index 5defbd0bd..acd94d009 100644 --- a/netbox/extras/tests/test_api.py +++ b/netbox/extras/tests/test_api.py @@ -244,9 +244,18 @@ class CustomFieldChoiceSetTest(APIViewTestCases.APIViewTestCase): @classmethod def setUpTestData(cls): choice_sets = ( - CustomFieldChoiceSet(name='Choice Set 1', extra_choices=['1A', '1B', '1C', '1D', '1E']), - CustomFieldChoiceSet(name='Choice Set 2', extra_choices=['2A', '2B', '2C', '2D', '2E']), - CustomFieldChoiceSet(name='Choice Set 3', extra_choices=['3A', '3B', '3C', '3D', '3E']), + CustomFieldChoiceSet( + name='Choice Set 1', + extra_choices=[['1A', '1A'], ['1B', '1B'], ['1C', '1C'], ['1D', '1D'], ['1E', '1E']], + ), + CustomFieldChoiceSet( + name='Choice Set 2', + extra_choices=[['2A', '2A'], ['2B', '2B'], ['2C', '2C'], ['2D', '2D'], ['2E', '2E']], + ), + CustomFieldChoiceSet( + name='Choice Set 3', + extra_choices=[['3A', '3A'], ['3B', '3B'], ['3C', '3C'], ['3D', '3D'], ['3E', '3E']], + ), ) CustomFieldChoiceSet.objects.bulk_create(choice_sets) From f851bd80b902f18c1fcc4e84595c9f54b93b8d15 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 9 Oct 2024 15:59:40 -0400 Subject: [PATCH 26/41] Add triage priority to issue templates --- .github/ISSUE_TEMPLATE/01-feature_request.yaml | 15 +++++++++++++++ .github/ISSUE_TEMPLATE/02-bug_report.yaml | 14 ++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/01-feature_request.yaml b/.github/ISSUE_TEMPLATE/01-feature_request.yaml index fb4bab623..f07db712d 100644 --- a/.github/ISSUE_TEMPLATE/01-feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/01-feature_request.yaml @@ -24,6 +24,21 @@ body: - Data model extension - New functionality - Change to existing functionality + - Other + validations: + required: true + - type: dropdown + attributes: + label: Triage priority + description: > + Issue triage may be prioritized in some cases. Select whichever of the following + conditions applies, if any. + options: + - I volunteer to perform this work (if approved) + - I'm a NetBox Labs customer + - This is a very minor change + - N/A + default: 3 validations: required: true - type: textarea diff --git a/.github/ISSUE_TEMPLATE/02-bug_report.yaml b/.github/ISSUE_TEMPLATE/02-bug_report.yaml index f31e024b4..892981402 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yaml @@ -22,6 +22,20 @@ body: - Self-hosted validations: required: true + - type: dropdown + attributes: + label: Triage priority + description: > + Issue triage may be prioritized in some cases. Select whichever of the following + conditions applies, if any. + options: + - I volunteer to perform this work (if approved) + - I'm a NetBox Labs customer + - This is preventing me from using NetBox + - N/A + default: 3 + validations: + required: true - type: input attributes: label: NetBox Version From 8e636c5427b775abb5656f58fc1569b3c06150c9 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 9 Oct 2024 16:07:13 -0400 Subject: [PATCH 27/41] Changelog for #17216, #17562, #17636 --- docs/release-notes/version-4.1.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index 1cb985965..5b353d54f 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -7,13 +7,16 @@ * [#11671](https://github.com/netbox-community/netbox/issues/11671) - Display device's rack position in cable traces * [#15829](https://github.com/netbox-community/netbox/issues/15829) - Rename Microsoft Azure AD SSO backend to Microsoft Entra ID * [#17079](https://github.com/netbox-community/netbox/issues/17079) - Introduce additional choices for device airflow direction +* [#17216](https://github.com/netbox-community/netbox/issues/17216) - Add EVPN-VPWS L2VPN type * [#17655](https://github.com/netbox-community/netbox/issues/17655) - Limit the display of tagged VLANs within interface tables * [#17669](https://github.com/netbox-community/netbox/issues/17669) - Enable filtering VLANs by assigned device or VM interface ### Bug Fixes * [#16024](https://github.com/netbox-community/netbox/issues/16024) - Fix AND/OR filtering in GraphQL API for selection fields +* [#17562](https://github.com/netbox-community/netbox/issues/17562) - Fix GraphQL API query support for custom field choices * [#17566](https://github.com/netbox-community/netbox/issues/17566) - Fix AttributeError exception resulting from background jobs with no associated object type +* [#17636](https://github.com/netbox-community/netbox/issues/17636) - Fix filtering of related objects when adding a power port, rear port, or inventory item template to a device type * [#17648](https://github.com/netbox-community/netbox/issues/17648) - Fix AttributeError exception when attempting to delete a background job under certain conditions * [#17663](https://github.com/netbox-community/netbox/issues/17663) - Fix extended lookups for choice field filters * [#17671](https://github.com/netbox-community/netbox/issues/17671) - Fix the display of rack types in global search results From e3c3ca191c3a06a1a0e93437a2eebeabf837fc18 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 05:02:05 +0000 Subject: [PATCH 28/41] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 6b6040a07..e25594d5b 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-10-08 05:02+0000\n" +"POT-Creation-Date: 2024-10-10 05:01+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15077,19 +15077,19 @@ msgstr "" msgid "Group {n}" msgstr "" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "" From e59f776e0206d24137563273b39177246aa14ea4 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 10 Oct 2024 14:52:47 -0400 Subject: [PATCH 29/41] Closes #17725: Clean up `import` statements (#17728) * #17725: Resolve all F401 errors * Tweak noqa designation --- netbox/circuits/apps.py | 2 +- netbox/circuits/forms/bulk_import.py | 1 - netbox/circuits/graphql/filters.py | 3 +-- netbox/core/api/schema.py | 4 +--- netbox/core/api/serializers_/jobs.py | 2 -- netbox/core/apps.py | 4 ++-- netbox/dcim/api/serializers_/manufacturers.py | 2 -- netbox/dcim/api/serializers_/platforms.py | 2 -- netbox/dcim/api/serializers_/power.py | 2 -- netbox/dcim/api/serializers_/roles.py | 2 -- netbox/dcim/apps.py | 2 +- netbox/dcim/forms/connections.py | 2 +- netbox/dcim/graphql/mixins.py | 1 - netbox/dcim/models/device_components.py | 3 +-- netbox/dcim/utils.py | 2 -- netbox/extras/api/serializers_/configtemplates.py | 2 -- netbox/extras/api/serializers_/customlinks.py | 2 -- netbox/extras/api/serializers_/exporttemplates.py | 2 -- netbox/extras/api/serializers_/savedfilters.py | 2 -- netbox/extras/api/serializers_/tags.py | 2 -- netbox/extras/api/views.py | 3 +-- netbox/extras/apps.py | 2 +- netbox/extras/dashboard/widgets.py | 1 - netbox/extras/lookups.py | 3 ++- netbox/extras/tests/test_api.py | 2 -- netbox/extras/validators.py | 1 - netbox/extras/views.py | 3 +-- netbox/ipam/api/serializers_/roles.py | 2 -- netbox/ipam/api/serializers_/services.py | 2 -- netbox/ipam/api/serializers_/vrfs.py | 2 -- netbox/ipam/apps.py | 2 +- netbox/ipam/graphql/mixins.py | 1 - netbox/netbox/api/serializers/nested.py | 2 -- netbox/netbox/plugins/urls.py | 1 - netbox/netbox/plugins/views.py | 2 -- netbox/netbox/settings.py | 6 ++---- netbox/netbox/tests/dummy_plugin/views.py | 2 +- netbox/tenancy/apps.py | 2 +- netbox/tenancy/filtersets.py | 1 - netbox/tenancy/graphql/mixins.py | 2 -- netbox/users/apps.py | 2 +- netbox/users/tests/test_views.py | 4 +--- .../management/commands/calculate_cached_counts.py | 1 - netbox/utilities/markdown.py | 2 +- netbox/utilities/release.py | 4 ++-- netbox/utilities/serializers/json.py | 2 +- netbox/utilities/templatetags/form_helpers.py | 4 +--- netbox/virtualization/api/serializers_/clusters.py | 2 -- netbox/virtualization/apps.py | 2 +- netbox/vpn/api/serializers_/crypto.py | 2 -- netbox/vpn/apps.py | 2 +- netbox/wireless/api/serializers_/wirelesslinks.py | 2 -- netbox/wireless/apps.py | 2 +- netbox/wireless/filtersets.py | 2 +- 54 files changed, 29 insertions(+), 90 deletions(-) diff --git a/netbox/circuits/apps.py b/netbox/circuits/apps.py index df6804303..4d5f177e2 100644 --- a/netbox/circuits/apps.py +++ b/netbox/circuits/apps.py @@ -7,7 +7,7 @@ class CircuitsConfig(AppConfig): def ready(self): from netbox.models.features import register_models - from . import signals, search + from . import signals, search # noqa: F401 # Register models register_models(*self.get_models()) diff --git a/netbox/circuits/forms/bulk_import.py b/netbox/circuits/forms/bulk_import.py index 1e7b6361a..dc334ae88 100644 --- a/netbox/circuits/forms/bulk_import.py +++ b/netbox/circuits/forms/bulk_import.py @@ -1,5 +1,4 @@ from django import forms -from django.utils.safestring import mark_safe from django.utils.translation import gettext_lazy as _ from circuits.choices import * diff --git a/netbox/circuits/graphql/filters.py b/netbox/circuits/graphql/filters.py index 3ded6e681..b8398b2b9 100644 --- a/netbox/circuits/graphql/filters.py +++ b/netbox/circuits/graphql/filters.py @@ -1,7 +1,6 @@ -import strawberry import strawberry_django -from circuits import filtersets, models +from circuits import filtersets, models from netbox.graphql.filter_mixins import autotype_decorator, BaseFilterMixin __all__ = ( diff --git a/netbox/core/api/schema.py b/netbox/core/api/schema.py index 7c4ae722e..1ac822b8c 100644 --- a/netbox/core/api/schema.py +++ b/netbox/core/api/schema.py @@ -8,10 +8,8 @@ from drf_spectacular.plumbing import ( build_basic_type, build_choice_field, build_media_type_object, build_object_type, get_doc, ) from drf_spectacular.types import OpenApiTypes -from rest_framework import serializers -from rest_framework.relations import ManyRelatedField -from netbox.api.fields import ChoiceField, SerializedPKRelatedField +from netbox.api.fields import ChoiceField from netbox.api.serializers import WritableNestedSerializer # see netbox.api.routers.NetBoxRouter diff --git a/netbox/core/api/serializers_/jobs.py b/netbox/core/api/serializers_/jobs.py index e5e07aa41..544dddb56 100644 --- a/netbox/core/api/serializers_/jobs.py +++ b/netbox/core/api/serializers_/jobs.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from core.choices import * from core.models import Job from netbox.api.fields import ChoiceField, ContentTypeField diff --git a/netbox/core/apps.py b/netbox/core/apps.py index 855ac3170..1dfc7a65e 100644 --- a/netbox/core/apps.py +++ b/netbox/core/apps.py @@ -16,9 +16,9 @@ class CoreConfig(AppConfig): name = "core" def ready(self): - from core.api import schema # noqa + from core.api import schema # noqa: F401 from netbox.models.features import register_models - from . import data_backends, events, search + from . import data_backends, events, search # noqa: F401 # Register models register_models(*self.get_models()) diff --git a/netbox/dcim/api/serializers_/manufacturers.py b/netbox/dcim/api/serializers_/manufacturers.py index 61158e0f7..1a1eea6ec 100644 --- a/netbox/dcim/api/serializers_/manufacturers.py +++ b/netbox/dcim/api/serializers_/manufacturers.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from dcim.models import Manufacturer from netbox.api.fields import RelatedObjectCountField from netbox.api.serializers import NetBoxModelSerializer diff --git a/netbox/dcim/api/serializers_/platforms.py b/netbox/dcim/api/serializers_/platforms.py index 3c846f8fd..2f4745701 100644 --- a/netbox/dcim/api/serializers_/platforms.py +++ b/netbox/dcim/api/serializers_/platforms.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from dcim.models import Platform from extras.api.serializers_.configtemplates import ConfigTemplateSerializer from netbox.api.fields import RelatedObjectCountField diff --git a/netbox/dcim/api/serializers_/power.py b/netbox/dcim/api/serializers_/power.py index fc65a0732..4c2cf54fb 100644 --- a/netbox/dcim/api/serializers_/power.py +++ b/netbox/dcim/api/serializers_/power.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from dcim.choices import * from dcim.models import PowerFeed, PowerPanel from netbox.api.fields import ChoiceField, RelatedObjectCountField diff --git a/netbox/dcim/api/serializers_/roles.py b/netbox/dcim/api/serializers_/roles.py index e9c9d3563..8f922da10 100644 --- a/netbox/dcim/api/serializers_/roles.py +++ b/netbox/dcim/api/serializers_/roles.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from dcim.models import DeviceRole, InventoryItemRole from extras.api.serializers_.configtemplates import ConfigTemplateSerializer from netbox.api.fields import RelatedObjectCountField diff --git a/netbox/dcim/apps.py b/netbox/dcim/apps.py index 4df66e367..9653d3b93 100644 --- a/netbox/dcim/apps.py +++ b/netbox/dcim/apps.py @@ -10,7 +10,7 @@ class DCIMConfig(AppConfig): def ready(self): from netbox.models.features import register_models from utilities.counters import connect_counters - from . import signals, search + from . import signals, search # noqa: F401 from .models import CableTermination, Device, DeviceType, VirtualChassis # Register models diff --git a/netbox/dcim/forms/connections.py b/netbox/dcim/forms/connections.py index f107c3476..324f8ecfd 100644 --- a/netbox/dcim/forms/connections.py +++ b/netbox/dcim/forms/connections.py @@ -4,7 +4,7 @@ from django.utils.translation import gettext_lazy as _ from circuits.models import Circuit, CircuitTermination from dcim.models import * -from utilities.forms.fields import DynamicModelChoiceField, DynamicModelMultipleChoiceField +from utilities.forms.fields import DynamicModelMultipleChoiceField from .model_forms import CableForm diff --git a/netbox/dcim/graphql/mixins.py b/netbox/dcim/graphql/mixins.py index 589af50c8..a489ef1f6 100644 --- a/netbox/dcim/graphql/mixins.py +++ b/netbox/dcim/graphql/mixins.py @@ -1,7 +1,6 @@ from typing import Annotated, List, Union import strawberry -import strawberry_django __all__ = ( 'CabledObjectMixin', diff --git a/netbox/dcim/models/device_components.py b/netbox/dcim/models/device_components.py index f5fbaa956..b1f951541 100644 --- a/netbox/dcim/models/device_components.py +++ b/netbox/dcim/models/device_components.py @@ -4,7 +4,7 @@ from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelatio from django.core.exceptions import ValidationError from django.core.validators import MaxValueValidator, MinValueValidator from django.db import models -from django.db.models import F, Sum +from django.db.models import Sum from django.urls import reverse from django.utils.translation import gettext_lazy as _ from mptt.models import MPTTModel, TreeForeignKey @@ -22,7 +22,6 @@ from utilities.tracking import TrackingModelMixin from wireless.choices import * from wireless.utils import get_channel_attr - __all__ = ( 'BaseInterface', 'CabledObjectModel', diff --git a/netbox/dcim/utils.py b/netbox/dcim/utils.py index eadd2da96..4d4228490 100644 --- a/netbox/dcim/utils.py +++ b/netbox/dcim/utils.py @@ -1,5 +1,3 @@ -import itertools - from django.contrib.contenttypes.models import ContentType from django.db import transaction diff --git a/netbox/extras/api/serializers_/configtemplates.py b/netbox/extras/api/serializers_/configtemplates.py index 30d2fb468..c4a683c74 100644 --- a/netbox/extras/api/serializers_/configtemplates.py +++ b/netbox/extras/api/serializers_/configtemplates.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from core.api.serializers_.data import DataFileSerializer, DataSourceSerializer from extras.models import ConfigTemplate from netbox.api.serializers import ValidatedModelSerializer diff --git a/netbox/extras/api/serializers_/customlinks.py b/netbox/extras/api/serializers_/customlinks.py index 6391e0471..8cc4f5f77 100644 --- a/netbox/extras/api/serializers_/customlinks.py +++ b/netbox/extras/api/serializers_/customlinks.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from core.models import ObjectType from extras.models import CustomLink from netbox.api.fields import ContentTypeField diff --git a/netbox/extras/api/serializers_/exporttemplates.py b/netbox/extras/api/serializers_/exporttemplates.py index faef9bb9e..11f502a02 100644 --- a/netbox/extras/api/serializers_/exporttemplates.py +++ b/netbox/extras/api/serializers_/exporttemplates.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from core.api.serializers_.data import DataFileSerializer, DataSourceSerializer from core.models import ObjectType from extras.models import ExportTemplate diff --git a/netbox/extras/api/serializers_/savedfilters.py b/netbox/extras/api/serializers_/savedfilters.py index 140303797..fb0744e59 100644 --- a/netbox/extras/api/serializers_/savedfilters.py +++ b/netbox/extras/api/serializers_/savedfilters.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from core.models import ObjectType from extras.models import SavedFilter from netbox.api.fields import ContentTypeField diff --git a/netbox/extras/api/serializers_/tags.py b/netbox/extras/api/serializers_/tags.py index 946ed3c8a..e4e62845a 100644 --- a/netbox/extras/api/serializers_/tags.py +++ b/netbox/extras/api/serializers_/tags.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from core.models import ObjectType from extras.models import Tag from netbox.api.fields import ContentTypeField, RelatedObjectCountField diff --git a/netbox/extras/api/views.py b/netbox/extras/api/views.py index cf2cab316..e4c3c7f3e 100644 --- a/netbox/extras/api/views.py +++ b/netbox/extras/api/views.py @@ -1,6 +1,5 @@ from django.http import Http404 from django.shortcuts import get_object_or_404 -from django.utils.module_loading import import_string from django_rq.queues import get_connection from drf_spectacular.utils import extend_schema, extend_schema_view from rest_framework import status @@ -15,8 +14,8 @@ from rq import Worker from core.models import ObjectType from extras import filtersets -from extras.models import * from extras.jobs import ScriptJob +from extras.models import * from netbox.api.authentication import IsAuthenticatedOrLoginNotRequired from netbox.api.features import SyncedDataMixin from netbox.api.metadata import ContentTypeMetadata diff --git a/netbox/extras/apps.py b/netbox/extras/apps.py index c565988bc..21232f95f 100644 --- a/netbox/extras/apps.py +++ b/netbox/extras/apps.py @@ -6,7 +6,7 @@ class ExtrasConfig(AppConfig): def ready(self): from netbox.models.features import register_models - from . import dashboard, lookups, search, signals + from . import dashboard, lookups, search, signals # noqa: F401 # Register models register_models(*self.get_models()) diff --git a/netbox/extras/dashboard/widgets.py b/netbox/extras/dashboard/widgets.py index 091819bd1..c56e4cd7d 100644 --- a/netbox/extras/dashboard/widgets.py +++ b/netbox/extras/dashboard/widgets.py @@ -15,7 +15,6 @@ from django.utils.translation import gettext as _ from core.models import ObjectType from extras.choices import BookmarkOrderingChoices -from netbox.choices import ButtonColorChoices from utilities.object_types import object_type_identifier, object_type_name from utilities.permissions import get_permission_for_model from utilities.querydict import dict_to_querydict diff --git a/netbox/extras/lookups.py b/netbox/extras/lookups.py index a8d89c943..c496cce78 100644 --- a/netbox/extras/lookups.py +++ b/netbox/extras/lookups.py @@ -1,4 +1,5 @@ -from django.db.models import CharField, TextField, Lookup +from django.db.models import CharField, Lookup + from .fields import CachedValueField diff --git a/netbox/extras/tests/test_api.py b/netbox/extras/tests/test_api.py index acd94d009..63baf44d3 100644 --- a/netbox/extras/tests/test_api.py +++ b/netbox/extras/tests/test_api.py @@ -12,7 +12,6 @@ from dcim.models import Device, DeviceRole, DeviceType, Manufacturer, Rack, Loca from extras.choices import * from extras.models import * from extras.scripts import BooleanVar, IntegerVar, Script as PythonClass, StringVar -from netbox.events import * from users.models import Group, User from utilities.testing import APITestCase, APIViewTestCases @@ -793,7 +792,6 @@ class ScriptTest(APITestCase): super().setUp() # Monkey-patch the Script model to return our TestScriptClass above - from extras.api.views import ScriptViewSet Script.python_class = self.python_class def test_get_script(self): diff --git a/netbox/extras/validators.py b/netbox/extras/validators.py index 6823c1978..306acf01b 100644 --- a/netbox/extras/validators.py +++ b/netbox/extras/validators.py @@ -1,4 +1,3 @@ -import inspect import operator from django.core import validators diff --git a/netbox/extras/views.py b/netbox/extras/views.py index b3d942fd8..321842260 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -6,8 +6,8 @@ from django.db.models import Count, Q from django.http import HttpResponseBadRequest, HttpResponseForbidden, HttpResponse from django.shortcuts import get_object_or_404, redirect, render from django.urls import reverse -from django.utils.module_loading import import_string from django.utils import timezone +from django.utils.module_loading import import_string from django.utils.translation import gettext as _ from django.views.generic import View @@ -20,7 +20,6 @@ from extras.choices import LogLevelChoices from extras.dashboard.forms import DashboardWidgetAddForm, DashboardWidgetForm from extras.dashboard.utils import get_widget_class from netbox.constants import DEFAULT_ACTION_PERMISSIONS -from netbox.registry import registry from netbox.views import generic from netbox.views.generic.mixins import TableMixin from utilities.forms import ConfirmationForm, get_field_value diff --git a/netbox/ipam/api/serializers_/roles.py b/netbox/ipam/api/serializers_/roles.py index 9a97a8570..99fd6f470 100644 --- a/netbox/ipam/api/serializers_/roles.py +++ b/netbox/ipam/api/serializers_/roles.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from ipam.models import Role from netbox.api.fields import RelatedObjectCountField from netbox.api.serializers import NetBoxModelSerializer diff --git a/netbox/ipam/api/serializers_/services.py b/netbox/ipam/api/serializers_/services.py index e0b2014f6..61b330d01 100644 --- a/netbox/ipam/api/serializers_/services.py +++ b/netbox/ipam/api/serializers_/services.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from dcim.api.serializers_.devices import DeviceSerializer from ipam.choices import * from ipam.models import IPAddress, Service, ServiceTemplate diff --git a/netbox/ipam/api/serializers_/vrfs.py b/netbox/ipam/api/serializers_/vrfs.py index ad54dc095..a23909108 100644 --- a/netbox/ipam/api/serializers_/vrfs.py +++ b/netbox/ipam/api/serializers_/vrfs.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from ipam.models import RouteTarget, VRF from netbox.api.fields import RelatedObjectCountField, SerializedPKRelatedField from netbox.api.serializers import NetBoxModelSerializer diff --git a/netbox/ipam/apps.py b/netbox/ipam/apps.py index 244ec7d6d..c118d5464 100644 --- a/netbox/ipam/apps.py +++ b/netbox/ipam/apps.py @@ -7,7 +7,7 @@ class IPAMConfig(AppConfig): def ready(self): from netbox.models.features import register_models - from . import signals, search + from . import signals, search # noqa: F401 # Register models register_models(*self.get_models()) diff --git a/netbox/ipam/graphql/mixins.py b/netbox/ipam/graphql/mixins.py index 73cc60ec4..757e62c74 100644 --- a/netbox/ipam/graphql/mixins.py +++ b/netbox/ipam/graphql/mixins.py @@ -1,7 +1,6 @@ from typing import Annotated, List import strawberry -import strawberry_django __all__ = ( 'IPAddressesMixin', diff --git a/netbox/netbox/api/serializers/nested.py b/netbox/netbox/api/serializers/nested.py index 04033c71f..4a5fc6214 100644 --- a/netbox/netbox/api/serializers/nested.py +++ b/netbox/netbox/api/serializers/nested.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from extras.models import Tag from utilities.api import get_related_object_by_attrs from .base import BaseModelSerializer diff --git a/netbox/netbox/plugins/urls.py b/netbox/netbox/plugins/urls.py index 075bda811..deb20732f 100644 --- a/netbox/netbox/plugins/urls.py +++ b/netbox/netbox/plugins/urls.py @@ -3,7 +3,6 @@ from importlib import import_module from django.apps import apps from django.conf import settings from django.conf.urls import include -from django.contrib.admin.views.decorators import staff_member_required from django.urls import path from django.utils.module_loading import import_string, module_has_submodule diff --git a/netbox/netbox/plugins/views.py b/netbox/netbox/plugins/views.py index 777a4c69e..6a10f2e2c 100644 --- a/netbox/netbox/plugins/views.py +++ b/netbox/netbox/plugins/views.py @@ -2,9 +2,7 @@ from collections import OrderedDict from django.apps import apps from django.conf import settings -from django.shortcuts import render from django.urls.exceptions import NoReverseMatch -from django.views.generic import View from drf_spectacular.utils import extend_schema from rest_framework import permissions from rest_framework.response import Response diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 358f41ff8..9c5078ccb 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -5,14 +5,12 @@ import os import platform import sys import warnings -from urllib.parse import urlencode, urlsplit +from urllib.parse import urlencode -import django import requests from django.contrib.messages import constants as messages from django.core.exceptions import ImproperlyConfigured, ValidationError from django.core.validators import URLValidator -from django.utils.encoding import force_str from django.utils.translation import gettext_lazy as _ from netbox.config import PARAMS as CONFIG_PARAMS @@ -252,7 +250,7 @@ if STORAGE_BACKEND is not None: # django-storage-swift elif STORAGE_BACKEND == 'swift.storage.SwiftStorage': try: - import swift.utils # type: ignore + import swift.utils # noqa: F401 except ModuleNotFoundError as e: if getattr(e, 'name') == 'swift': raise ImproperlyConfigured( diff --git a/netbox/netbox/tests/dummy_plugin/views.py b/netbox/netbox/tests/dummy_plugin/views.py index f6cf6a5c5..c4d80731f 100644 --- a/netbox/netbox/tests/dummy_plugin/views.py +++ b/netbox/netbox/tests/dummy_plugin/views.py @@ -8,7 +8,7 @@ from dcim.models import Site from utilities.views import register_model_view from .models import DummyModel # Trigger registration of custom column -from .tables import mycol +from .tables import mycol # noqa: F401 class DummyModelsView(View): diff --git a/netbox/tenancy/apps.py b/netbox/tenancy/apps.py index 7fec97d73..d08d178e9 100644 --- a/netbox/tenancy/apps.py +++ b/netbox/tenancy/apps.py @@ -6,7 +6,7 @@ class TenancyConfig(AppConfig): def ready(self): from netbox.models.features import register_models - from . import search + from . import search # noqa: F401 # Register models register_models(*self.get_models()) diff --git a/netbox/tenancy/filtersets.py b/netbox/tenancy/filtersets.py index 75096b00e..e2de18231 100644 --- a/netbox/tenancy/filtersets.py +++ b/netbox/tenancy/filtersets.py @@ -2,7 +2,6 @@ import django_filters from django.db.models import Q from django.utils.translation import gettext as _ -from extras.filters import TagFilter from netbox.filtersets import NetBoxModelFilterSet, OrganizationalModelFilterSet from utilities.filters import ContentTypeFilter, TreeNodeMultipleChoiceFilter from .models import * diff --git a/netbox/tenancy/graphql/mixins.py b/netbox/tenancy/graphql/mixins.py index 8b4c41c9b..2d97ba718 100644 --- a/netbox/tenancy/graphql/mixins.py +++ b/netbox/tenancy/graphql/mixins.py @@ -1,8 +1,6 @@ from typing import Annotated, List import strawberry -import strawberry_django - __all__ = ( 'ContactAssignmentsMixin', diff --git a/netbox/users/apps.py b/netbox/users/apps.py index cd61a59bc..4bfd612d9 100644 --- a/netbox/users/apps.py +++ b/netbox/users/apps.py @@ -6,7 +6,7 @@ class UsersConfig(AppConfig): def ready(self): from netbox.models.features import register_models - from . import signals + from . import signals # noqa: F401 # Register models register_models(*self.get_models()) diff --git a/netbox/users/tests/test_views.py b/netbox/users/tests/test_views.py index 86da7dda2..8386364dd 100644 --- a/netbox/users/tests/test_views.py +++ b/netbox/users/tests/test_views.py @@ -1,8 +1,6 @@ -from django.test import override_settings - from core.models import ObjectType from users.models import * -from utilities.testing import ViewTestCases, create_test_user, extract_form_failures +from utilities.testing import ViewTestCases, create_test_user class UserTestCase( diff --git a/netbox/utilities/management/commands/calculate_cached_counts.py b/netbox/utilities/management/commands/calculate_cached_counts.py index f7810604f..a0e841e23 100644 --- a/netbox/utilities/management/commands/calculate_cached_counts.py +++ b/netbox/utilities/management/commands/calculate_cached_counts.py @@ -1,7 +1,6 @@ from collections import defaultdict from django.core.management.base import BaseCommand -from django.db.models import Count, OuterRef, Subquery from netbox.registry import registry from utilities.counters import update_counts diff --git a/netbox/utilities/markdown.py b/netbox/utilities/markdown.py index 655539acb..0bf4e6a30 100644 --- a/netbox/utilities/markdown.py +++ b/netbox/utilities/markdown.py @@ -14,7 +14,7 @@ class StrikethroughExtension(markdown.Extension): """ def extendMarkdown(self, md): md.inlinePatterns.register( - markdown.inlinepatterns.SimpleTagPattern(STRIKE_RE, 'del'), + SimpleTagPattern(STRIKE_RE, 'del'), 'strikethrough', 200 ) diff --git a/netbox/utilities/release.py b/netbox/utilities/release.py index 256588b0b..f389e8009 100644 --- a/netbox/utilities/release.py +++ b/netbox/utilities/release.py @@ -1,9 +1,9 @@ import datetime import os -import yaml from dataclasses import asdict, dataclass, field -from typing import List, Union +from typing import Union +import yaml from django.core.exceptions import ImproperlyConfigured from utilities.datetime import datetime_from_timestamp diff --git a/netbox/utilities/serializers/json.py b/netbox/utilities/serializers/json.py index b728b0a34..e64e9e0f6 100644 --- a/netbox/utilities/serializers/json.py +++ b/netbox/utilities/serializers/json.py @@ -1,5 +1,5 @@ from django.contrib.postgres.fields import ArrayField -from django.core.serializers.json import Deserializer, Serializer as Serializer_ # noqa +from django.core.serializers.json import Deserializer, Serializer as Serializer_ # noqa: F401 from django.utils.encoding import is_protected_type # NOTE: Module must contain both Serializer and Deserializer diff --git a/netbox/utilities/templatetags/form_helpers.py b/netbox/utilities/templatetags/form_helpers.py index 242bd7b1c..ec53fe97c 100644 --- a/netbox/utilities/templatetags/form_helpers.py +++ b/netbox/utilities/templatetags/form_helpers.py @@ -1,8 +1,6 @@ -import warnings - from django import template -from utilities.forms.rendering import FieldSet, InlineFields, ObjectAttribute, TabbedGroups +from utilities.forms.rendering import InlineFields, ObjectAttribute, TabbedGroups __all__ = ( 'getfield', diff --git a/netbox/virtualization/api/serializers_/clusters.py b/netbox/virtualization/api/serializers_/clusters.py index b16487132..b64b6e7ba 100644 --- a/netbox/virtualization/api/serializers_/clusters.py +++ b/netbox/virtualization/api/serializers_/clusters.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from dcim.api.serializers_.sites import SiteSerializer from netbox.api.fields import ChoiceField, RelatedObjectCountField from netbox.api.serializers import NetBoxModelSerializer diff --git a/netbox/virtualization/apps.py b/netbox/virtualization/apps.py index 8a61bc523..ebcc591bf 100644 --- a/netbox/virtualization/apps.py +++ b/netbox/virtualization/apps.py @@ -9,7 +9,7 @@ class VirtualizationConfig(AppConfig): def ready(self): from netbox.models.features import register_models from utilities.counters import connect_counters - from . import search, signals + from . import search, signals # noqa: F401 from .models import VirtualMachine # Register models diff --git a/netbox/vpn/api/serializers_/crypto.py b/netbox/vpn/api/serializers_/crypto.py index 700917b89..c11b8de2b 100644 --- a/netbox/vpn/api/serializers_/crypto.py +++ b/netbox/vpn/api/serializers_/crypto.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from netbox.api.fields import ChoiceField, SerializedPKRelatedField from netbox.api.serializers import NetBoxModelSerializer from vpn.choices import * diff --git a/netbox/vpn/apps.py b/netbox/vpn/apps.py index 9a3751cb2..1afa0d527 100644 --- a/netbox/vpn/apps.py +++ b/netbox/vpn/apps.py @@ -7,7 +7,7 @@ class VPNConfig(AppConfig): def ready(self): from netbox.models.features import register_models - from . import search + from . import search # noqa: F401 # Register models register_models(*self.get_models()) diff --git a/netbox/wireless/api/serializers_/wirelesslinks.py b/netbox/wireless/api/serializers_/wirelesslinks.py index 1f3bcfdea..c1d8e4f10 100644 --- a/netbox/wireless/api/serializers_/wirelesslinks.py +++ b/netbox/wireless/api/serializers_/wirelesslinks.py @@ -1,5 +1,3 @@ -from rest_framework import serializers - from dcim.api.serializers_.device_components import InterfaceSerializer from dcim.choices import LinkStatusChoices from netbox.api.fields import ChoiceField diff --git a/netbox/wireless/apps.py b/netbox/wireless/apps.py index 24e1869b6..ea2d9bbc0 100644 --- a/netbox/wireless/apps.py +++ b/netbox/wireless/apps.py @@ -6,7 +6,7 @@ class WirelessConfig(AppConfig): def ready(self): from netbox.models.features import register_models - from . import signals, search + from . import signals, search # noqa: F401 # Register models register_models(*self.get_models()) diff --git a/netbox/wireless/filtersets.py b/netbox/wireless/filtersets.py index 9f60388ce..537b2ec5c 100644 --- a/netbox/wireless/filtersets.py +++ b/netbox/wireless/filtersets.py @@ -6,7 +6,7 @@ from dcim.models import Interface from ipam.models import VLAN from netbox.filtersets import OrganizationalModelFilterSet, NetBoxModelFilterSet from tenancy.filtersets import TenancyFilterSet -from utilities.filters import MultiValueNumberFilter, TreeNodeMultipleChoiceFilter +from utilities.filters import TreeNodeMultipleChoiceFilter from .choices import * from .models import * From 4e763462e607b4722138555d8657e894180e393b Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Thu, 10 Oct 2024 13:08:48 -0700 Subject: [PATCH 30/41] 17713 fix underscore in datasource.sync (#17729) --- netbox/core/models/data.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/core/models/data.py b/netbox/core/models/data.py index 97f9fdac7..717449506 100644 --- a/netbox/core/models/data.py +++ b/netbox/core/models/data.py @@ -201,7 +201,7 @@ class DataSource(JobsMixin, PrimaryModel): logger.debug(f"Updated {updated_count} files") # Bulk delete deleted files - deleted_count, _ = DataFile.objects.filter(pk__in=deleted_file_ids).delete() + deleted_count, __ = DataFile.objects.filter(pk__in=deleted_file_ids).delete() logger.debug(f"Deleted {deleted_count} files") # Walk the local replication to find new files From 1e6f2224750c973d94f1d171f53eab444ffb1b89 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 11 Oct 2024 05:02:14 +0000 Subject: [PATCH 31/41] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 446 +++++++++---------- 1 file changed, 223 insertions(+), 223 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index e25594d5b..2880bf73f 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-10-10 05:01+0000\n" +"POT-Creation-Date: 2024-10-11 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -188,7 +188,7 @@ msgstr "" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -333,7 +333,7 @@ msgstr "" #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -342,7 +342,7 @@ msgstr "" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -522,9 +522,9 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -573,7 +573,7 @@ msgid "Color" msgstr "" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -627,14 +627,14 @@ msgid "Type" msgstr "" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -703,8 +703,8 @@ msgstr "" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -868,21 +868,21 @@ msgstr "" msgid "Priority" msgstr "" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -894,8 +894,8 @@ msgstr "" msgid "Operational status" msgstr "" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -911,7 +911,7 @@ msgstr "" msgid "Assigned tenant" msgstr "" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -919,7 +919,7 @@ msgstr "" msgid "Termination" msgstr "" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1130,9 +1130,9 @@ msgstr "" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 #: netbox/dcim/models/device_component_templates.py:518 #: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1251,7 +1251,7 @@ msgstr "" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1287,7 +1287,7 @@ msgstr "" #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 #: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 netbox/dcim/models/devices.py:593 +#: netbox/dcim/models/device_components.py:53 netbox/dcim/models/devices.py:593 #: netbox/dcim/models/devices.py:1323 netbox/dcim/models/devices.py:1388 #: netbox/dcim/models/power.py:39 netbox/dcim/models/power.py:92 #: netbox/dcim/models/racks.py:262 netbox/dcim/models/sites.py:138 @@ -2057,13 +2057,13 @@ msgstr "" #: netbox/dcim/models/device_component_templates.py:414 #: netbox/dcim/models/device_component_templates.py:513 #: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 netbox/dcim/models/power.py:102 #: netbox/extras/models/customfields.py:78 netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 msgid "type" @@ -2078,7 +2078,7 @@ msgstr "" #: netbox/core/models/data.py:59 #: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -3114,7 +3114,7 @@ msgstr "" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3233,7 +3233,7 @@ msgstr "" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 +#: netbox/dcim/models/device_components.py:711 #: netbox/dcim/tables/devices.py:626 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 @@ -3353,12 +3353,12 @@ msgstr "" msgid "Master (name)" msgstr "" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "" @@ -3883,7 +3883,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1039 #: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "" @@ -3893,7 +3893,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1045 #: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "" @@ -3915,7 +3915,7 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 #: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "" @@ -3923,7 +3923,7 @@ msgstr "" #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 #: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "" @@ -4527,7 +4527,7 @@ msgstr "" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4683,7 +4683,7 @@ msgid "Mgmt only" msgstr "" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "" @@ -5005,7 +5005,7 @@ msgstr "" #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "" @@ -5103,7 +5103,7 @@ msgid "" msgstr "" #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "" @@ -5140,12 +5140,12 @@ msgid "console server port templates" msgstr "" #: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "" #: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "" @@ -5158,18 +5158,18 @@ msgid "power port templates" msgstr "" #: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" #: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "" #: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "" @@ -5192,17 +5192,17 @@ msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" #: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "" #: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "" #: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "" @@ -5215,7 +5215,7 @@ msgid "interface templates" msgstr "" #: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "" @@ -5231,7 +5231,7 @@ msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "" #: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "" @@ -5256,7 +5256,7 @@ msgid "" msgstr "" #: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "" @@ -5269,12 +5269,12 @@ msgid "rear port templates" msgstr "" #: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "" #: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" @@ -5302,12 +5302,12 @@ msgid "" msgstr "" #: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "" #: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "" @@ -5319,411 +5319,411 @@ msgstr "" msgid "inventory item templates" msgstr "" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "" -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "" -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "" -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "" -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "" -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "" -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "" -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "" -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " "({device})" msgstr "" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " "not part of virtual chassis {virtual_chassis}." msgstr "" -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " "({device})." msgstr "" -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " "not part of virtual chassis {virtual_chassis}." msgstr "" -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "" -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "" -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "" -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of " "virtual chassis {virtual_chassis}." msgstr "" -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "" -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "" -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "" -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "" -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " "interface's parent device, or it must be global." msgstr "" -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only " "{positions} positions." msgstr "" -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports " "({frontport_count})" msgstr "" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "" -#: netbox/dcim/models/device_components.py:1139 +#: netbox/dcim/models/device_components.py:1138 #: netbox/dcim/models/devices.py:1217 msgid "A module bay cannot belong to a module installed within it." msgstr "" -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "" -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." msgstr "" -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "" -#: netbox/dcim/models/device_components.py:1269 +#: netbox/dcim/models/device_components.py:1268 #: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "" -#: netbox/dcim/models/device_components.py:1277 +#: netbox/dcim/models/device_components.py:1276 #: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "" -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "" -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" @@ -7222,80 +7222,80 @@ msgstr "" msgid "Unregistered widget class: {name}" msgstr "" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "" -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." msgstr "" -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "" -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "" -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "" -#: netbox/extras/dashboard/widgets.py:349 netbox/templates/account/base.html:10 +#: netbox/extras/dashboard/widgets.py:348 netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "" @@ -7338,8 +7338,8 @@ msgstr "" msgid "Tenant group" msgstr "" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "" @@ -8800,64 +8800,64 @@ msgstr "" msgid "Method" msgstr "" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "" -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "" -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "" -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "" -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "" -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "" -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "" -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "" -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "" -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "" @@ -10975,63 +10975,63 @@ msgstr "" msgid "Cannot delete stores from registry" msgstr "" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "" @@ -13680,7 +13680,7 @@ msgid "" "Click here to attempt loading NetBox again." msgstr "" -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -13707,7 +13707,7 @@ msgid "Add Contact Group" msgstr "" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "" @@ -14011,57 +14011,57 @@ msgstr "" msgid "Distance" msgstr "" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "" From 7ac6dff96d79f37467a764f996e4f990c5d524ae Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 11 Oct 2024 07:43:46 -0400 Subject: [PATCH 32/41] Closes #17733: Replace `pycodestyle` with `ruff` (#17734) * Resolve F541 errors * Resolve F841 errors * Resolve F811 errors * Resolve F901 errors * Resolve E714 errors * Ignore F821 errors for GraphQL mixins * Replace pycodestyle with ruff * Move ignores to ruff.toml --- .github/workflows/ci.yml | 4 +- docs/development/getting-started.md | 4 +- docs/development/style-guide.md | 36 ++++++------- netbox/circuits/api/nested_serializers.py | 2 +- netbox/circuits/tests/test_views.py | 2 +- netbox/core/api/nested_serializers.py | 2 +- netbox/core/data_backends.py | 2 +- netbox/core/graphql/mixins.py | 2 +- .../management/commands/syncdatasource.py | 4 +- netbox/core/models/data.py | 2 +- netbox/core/models/jobs.py | 4 +- netbox/dcim/api/nested_serializers.py | 2 +- netbox/dcim/forms/object_create.py | 4 +- netbox/dcim/graphql/mixins.py | 40 +++++++------- .../dcim/management/commands/trace_paths.py | 2 +- .../dcim/models/device_component_templates.py | 1 - netbox/dcim/tables/devicetypes.py | 3 +- netbox/dcim/tests/test_api.py | 4 +- netbox/dcim/tests/test_filtersets.py | 7 --- netbox/dcim/tests/test_models.py | 54 +++++++++---------- netbox/dcim/tests/test_views.py | 2 +- netbox/extras/api/nested_serializers.py | 2 +- netbox/extras/jobs.py | 2 +- .../management/commands/housekeeping.py | 4 +- netbox/extras/management/commands/reindex.py | 4 +- .../extras/management/commands/runscript.py | 2 +- netbox/extras/models/customfields.py | 2 +- netbox/extras/scripts.py | 2 +- netbox/extras/tests/test_customvalidators.py | 2 +- netbox/extras/tests/test_models.py | 8 +-- netbox/extras/tests/test_views.py | 2 +- netbox/ipam/api/nested_serializers.py | 2 +- netbox/ipam/api/views.py | 6 +-- netbox/ipam/graphql/mixins.py | 4 +- netbox/ipam/tests/test_api.py | 2 - netbox/ipam/tests/test_views.py | 8 +-- netbox/netbox/config/__init__.py | 2 +- netbox/netbox/data_backends.py | 2 +- netbox/netbox/navigation/menu.py | 32 +++++------ netbox/netbox/settings.py | 2 +- netbox/netbox/staging.py | 2 +- netbox/netbox/tests/dummy_plugin/views.py | 4 +- netbox/netbox/tests/test_authentication.py | 2 +- netbox/netbox/tests/test_import.py | 1 - netbox/tenancy/api/nested_serializers.py | 2 +- netbox/tenancy/graphql/mixins.py | 2 +- netbox/users/api/nested_serializers.py | 2 +- netbox/users/api/views.py | 2 +- netbox/users/forms/model_forms.py | 1 - netbox/users/tests/test_preferences.py | 4 +- netbox/utilities/forms/fields/dynamic.py | 2 +- netbox/utilities/html.py | 2 +- netbox/utilities/tests/test_api.py | 4 +- netbox/utilities/tests/test_counters.py | 2 +- .../virtualization/api/nested_serializers.py | 2 +- netbox/virtualization/tests/test_views.py | 14 ++--- netbox/virtualization/views.py | 4 +- netbox/vpn/api/nested_serializers.py | 2 +- netbox/vpn/filtersets.py | 11 ---- netbox/vpn/tests/test_filtersets.py | 7 --- netbox/vpn/tests/test_views.py | 8 +-- netbox/wireless/api/nested_serializers.py | 2 +- netbox/wireless/tests/test_views.py | 6 +-- ruff.toml | 2 + scripts/git-hooks/pre-commit | 4 +- 65 files changed, 168 insertions(+), 199 deletions(-) create mode 100644 ruff.toml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b4be03742..c3b4876c3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: run: | python -m pip install --upgrade pip pip install -r requirements.txt - pip install pycodestyle coverage tblib + pip install ruff coverage tblib - name: Build documentation run: mkdocs build @@ -85,7 +85,7 @@ jobs: run: python netbox/manage.py makemigrations --check - name: Check PEP8 compliance - run: pycodestyle --ignore=W504,E501 --exclude=node_modules netbox/ + run: ruff check netbox/ - name: Check UI ESLint, TypeScript, and Prettier Compliance run: yarn --cwd netbox/project-static validate diff --git a/docs/development/getting-started.md b/docs/development/getting-started.md index 4dbdb63b2..374ed34b0 100644 --- a/docs/development/getting-started.md +++ b/docs/development/getting-started.md @@ -70,10 +70,10 @@ NetBox ships with a [git pre-commit hook](https://githooks.com/) script that aut cd .git/hooks/ ln -s ../../scripts/git-hooks/pre-commit ``` -For the pre-commit hooks to work, you will also need to install the pycodestyle package: +For the pre-commit hooks to work, you will also need to install the [ruff](https://docs.astral.sh/ruff/) linter: ```no-highlight -python -m pip install pycodestyle +python -m pip install ruff ``` ...and set up the yarn packages as shown in the [Web UI Development Guide](web-ui.md) diff --git a/docs/development/style-guide.md b/docs/development/style-guide.md index 9e5606749..0d4caf395 100644 --- a/docs/development/style-guide.md +++ b/docs/development/style-guide.md @@ -1,6 +1,6 @@ # Style Guide -NetBox generally follows the [Django style guide](https://docs.djangoproject.com/en/stable/internals/contributing/writing-code/coding-style/), which is itself based on [PEP 8](https://www.python.org/dev/peps/pep-0008/). [Pycodestyle](https://github.com/pycqa/pycodestyle) is used to validate code formatting, ignoring certain violations. +NetBox generally follows the [Django style guide](https://docs.djangoproject.com/en/stable/internals/contributing/writing-code/coding-style/), which is itself based on [PEP 8](https://www.python.org/dev/peps/pep-0008/). [ruff](https://docs.astral.sh/ruff/) is used for linting (with certain [exceptions](#linter-exceptions)). ## Code @@ -20,32 +20,32 @@ NetBox generally follows the [Django style guide](https://docs.djangoproject.com * Nested API serializers generate minimal representations of an object. These are stored separately from the primary serializers to avoid circular dependencies. Always import nested serializers from other apps directly. For example, from within the DCIM app you would write `from ipam.api.nested_serializers import NestedIPAddressSerializer`. -### PEP 8 Exceptions +### Linting -NetBox ignores certain PEP8 assertions. These are listed below. +The [ruff](https://docs.astral.sh/ruff/) linter is used to enforce code style. A [pre-commit hook](./getting-started.md#3-enable-pre-commit-hooks) which runs this automatically is included with NetBox. To invoke `ruff` manually, run: -#### Wildcard Imports +``` +ruff check netbox/ +``` + +#### Linter Exceptions + +The following rules are ignored when linting. + +##### [E501](https://docs.astral.sh/ruff/rules/line-too-long/): Line too long + +NetBox does not enforce a hard restriction on line length, although a maximum length of 120 characters is strongly encouraged for Python code where possible. The maximum length does not apply to HTML templates or to automatically generated code (e.g. database migrations). + +##### [F403](https://docs.astral.sh/ruff/rules/undefined-local-with-import-star/): Undefined local with import star Wildcard imports (for example, `from .constants import *`) are acceptable under any of the following conditions: * The library being import contains only constant declarations (e.g. `constants.py`) * The library being imported explicitly defines `__all__` -#### Maximum Line Length (E501) +##### [F405](https://docs.astral.sh/ruff/rules/undefined-local-with-import-star-usage/): Undefined local with import star usage -NetBox does not restrict lines to a maximum length of 79 characters. We use a maximum line length of 120 characters, however this is not enforced by CI. The maximum length does not apply to HTML templates or to automatically generated code (e.g. database migrations). - -#### Line Breaks Following Binary Operators (W504) - -Line breaks are permitted following binary operators. - -### Enforcing Code Style - -The [`pycodestyle`](https://pypi.org/project/pycodestyle/) utility (formerly `pep8`) is used by the CI process to enforce code style. A [pre-commit hook](./getting-started.md#3-enable-pre-commit-hooks) which runs this automatically is included with NetBox. To invoke `pycodestyle` manually, run: - -``` -pycodestyle --ignore=W504,E501 netbox/ -``` +The justification for ignoring this rule is the same as F403 above. ### Introducing New Dependencies diff --git a/netbox/circuits/api/nested_serializers.py b/netbox/circuits/api/nested_serializers.py index 6de2cbf54..487749872 100644 --- a/netbox/circuits/api/nested_serializers.py +++ b/netbox/circuits/api/nested_serializers.py @@ -18,7 +18,7 @@ __all__ = [ # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/circuits/tests/test_views.py b/netbox/circuits/tests/test_views.py index 87e6d99b7..b06ade30b 100644 --- a/netbox/circuits/tests/test_views.py +++ b/netbox/circuits/tests/test_views.py @@ -171,7 +171,7 @@ class CircuitTestCase(ViewTestCases.PrimaryObjectViewTestCase): ) cls.csv_update_data = ( - f"id,cid,description,status", + "id,cid,description,status", f"{circuits[0].pk},Circuit 7,New description7,{CircuitStatusChoices.STATUS_DECOMMISSIONED}", f"{circuits[1].pk},Circuit 8,New description8,{CircuitStatusChoices.STATUS_DECOMMISSIONED}", f"{circuits[2].pk},Circuit 9,New description9,{CircuitStatusChoices.STATUS_DECOMMISSIONED}", diff --git a/netbox/core/api/nested_serializers.py b/netbox/core/api/nested_serializers.py index 3b40853cf..df7b41ca7 100644 --- a/netbox/core/api/nested_serializers.py +++ b/netbox/core/api/nested_serializers.py @@ -16,7 +16,7 @@ __all__ = ( # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/core/data_backends.py b/netbox/core/data_backends.py index 8b36c6995..770a3b258 100644 --- a/netbox/core/data_backends.py +++ b/netbox/core/data_backends.py @@ -34,7 +34,7 @@ class LocalBackend(DataBackend): @contextmanager def fetch(self): - logger.debug(f"Data source type is local; skipping fetch") + logger.debug("Data source type is local; skipping fetch") local_path = urlparse(self.url).path # Strip file:// scheme yield local_path diff --git a/netbox/core/graphql/mixins.py b/netbox/core/graphql/mixins.py index 43f8761d1..5195b52a0 100644 --- a/netbox/core/graphql/mixins.py +++ b/netbox/core/graphql/mixins.py @@ -15,7 +15,7 @@ __all__ = ( class ChangelogMixin: @strawberry_django.field - def changelog(self, info) -> List[Annotated["ObjectChangeType", strawberry.lazy('.types')]]: + def changelog(self, info) -> List[Annotated["ObjectChangeType", strawberry.lazy('.types')]]: # noqa: F821 content_type = ContentType.objects.get_for_model(self) object_changes = ObjectChange.objects.filter( changed_object_type=content_type, diff --git a/netbox/core/management/commands/syncdatasource.py b/netbox/core/management/commands/syncdatasource.py index aa8137952..990b6eb2a 100644 --- a/netbox/core/management/commands/syncdatasource.py +++ b/netbox/core/management/commands/syncdatasource.py @@ -26,7 +26,7 @@ class Command(BaseCommand): if invalid_names := set(options['name']) - found_names: raise CommandError(f"Invalid data source names: {', '.join(invalid_names)}") else: - raise CommandError(f"Must specify at least one data source, or set --all.") + raise CommandError("Must specify at least one data source, or set --all.") if len(options['name']) > 1: self.stdout.write(f"Syncing {len(datasources)} data sources.") @@ -43,4 +43,4 @@ class Command(BaseCommand): raise e if len(options['name']) > 1: - self.stdout.write(f"Finished.") + self.stdout.write("Finished.") diff --git a/netbox/core/models/data.py b/netbox/core/models/data.py index 717449506..6824b4605 100644 --- a/netbox/core/models/data.py +++ b/netbox/core/models/data.py @@ -125,7 +125,7 @@ class DataSource(JobsMixin, PrimaryModel): # Ensure URL scheme matches selected type if self.backend_class.is_local and self.url_scheme not in ('file', ''): raise ValidationError({ - 'source_url': f"URLs for local sources must start with file:// (or specify no scheme)" + 'source_url': "URLs for local sources must start with file:// (or specify no scheme)" }) def to_objectchange(self, action): diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 655647ebb..e1b5715dd 100644 --- a/netbox/core/models/jobs.py +++ b/netbox/core/models/jobs.py @@ -118,9 +118,9 @@ class Job(models.Model): # TODO: Employ dynamic registration if self.object_type: if self.object_type.model == 'reportmodule': - return reverse(f'extras:report_result', kwargs={'job_pk': self.pk}) + return reverse('extras:report_result', kwargs={'job_pk': self.pk}) elif self.object_type.model == 'scriptmodule': - return reverse(f'extras:script_result', kwargs={'job_pk': self.pk}) + return reverse('extras:script_result', kwargs={'job_pk': self.pk}) return reverse('core:job', args=[self.pk]) def get_status_color(self): diff --git a/netbox/dcim/api/nested_serializers.py b/netbox/dcim/api/nested_serializers.py index 5d83b9145..4b8f0db4a 100644 --- a/netbox/dcim/api/nested_serializers.py +++ b/netbox/dcim/api/nested_serializers.py @@ -56,7 +56,7 @@ __all__ = [ # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/dcim/forms/object_create.py b/netbox/dcim/forms/object_create.py index f811700b4..d18c7ed14 100644 --- a/netbox/dcim/forms/object_create.py +++ b/netbox/dcim/forms/object_create.py @@ -261,8 +261,8 @@ class FrontPortCreateForm(ComponentCreateForm, model_forms.FrontPortForm): # TODO: Clean up the application of HTMXSelect attributes attrs={ 'hx-get': '.', - 'hx-include': f'#form_fields', - 'hx-target': f'#form_fields', + 'hx-include': '#form_fields', + 'hx-target': '#form_fields', } ) ) diff --git a/netbox/dcim/graphql/mixins.py b/netbox/dcim/graphql/mixins.py index a489ef1f6..2e5ab7ea7 100644 --- a/netbox/dcim/graphql/mixins.py +++ b/netbox/dcim/graphql/mixins.py @@ -10,18 +10,18 @@ __all__ = ( @strawberry.type class CabledObjectMixin: - cable: Annotated["CableType", strawberry.lazy('dcim.graphql.types')] | None + cable: Annotated["CableType", strawberry.lazy('dcim.graphql.types')] | None # noqa: F821 link_peers: List[Annotated[Union[ - Annotated["CircuitTerminationType", strawberry.lazy('circuits.graphql.types')], - Annotated["ConsolePortType", strawberry.lazy('dcim.graphql.types')], - Annotated["ConsoleServerPortType", strawberry.lazy('dcim.graphql.types')], - Annotated["FrontPortType", strawberry.lazy('dcim.graphql.types')], - Annotated["InterfaceType", strawberry.lazy('dcim.graphql.types')], - Annotated["PowerFeedType", strawberry.lazy('dcim.graphql.types')], - Annotated["PowerOutletType", strawberry.lazy('dcim.graphql.types')], - Annotated["PowerPortType", strawberry.lazy('dcim.graphql.types')], - Annotated["RearPortType", strawberry.lazy('dcim.graphql.types')], + Annotated["CircuitTerminationType", strawberry.lazy('circuits.graphql.types')], # noqa: F821 + Annotated["ConsolePortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["ConsoleServerPortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["FrontPortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["InterfaceType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["PowerFeedType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["PowerOutletType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["PowerPortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["RearPortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 ], strawberry.union("LinkPeerType")]] @@ -29,14 +29,14 @@ class CabledObjectMixin: class PathEndpointMixin: connected_endpoints: List[Annotated[Union[ - Annotated["CircuitTerminationType", strawberry.lazy('circuits.graphql.types')], - Annotated["ConsolePortType", strawberry.lazy('dcim.graphql.types')], - Annotated["ConsoleServerPortType", strawberry.lazy('dcim.graphql.types')], - Annotated["FrontPortType", strawberry.lazy('dcim.graphql.types')], - Annotated["InterfaceType", strawberry.lazy('dcim.graphql.types')], - Annotated["PowerFeedType", strawberry.lazy('dcim.graphql.types')], - Annotated["PowerOutletType", strawberry.lazy('dcim.graphql.types')], - Annotated["PowerPortType", strawberry.lazy('dcim.graphql.types')], - Annotated["ProviderNetworkType", strawberry.lazy('circuits.graphql.types')], - Annotated["RearPortType", strawberry.lazy('dcim.graphql.types')], + Annotated["CircuitTerminationType", strawberry.lazy('circuits.graphql.types')], # noqa: F821 + Annotated["ConsolePortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["ConsoleServerPortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["FrontPortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["InterfaceType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["PowerFeedType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["PowerOutletType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["PowerPortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 + Annotated["ProviderNetworkType", strawberry.lazy('circuits.graphql.types')], # noqa: F821 + Annotated["RearPortType", strawberry.lazy('dcim.graphql.types')], # noqa: F821 ], strawberry.union("ConnectedEndpointType")]] diff --git a/netbox/dcim/management/commands/trace_paths.py b/netbox/dcim/management/commands/trace_paths.py index d34a428e4..592aeb6a7 100644 --- a/netbox/dcim/management/commands/trace_paths.py +++ b/netbox/dcim/management/commands/trace_paths.py @@ -60,7 +60,7 @@ class Command(BaseCommand): self.stdout.write((self.style.SUCCESS(f' Deleted {deleted_count} paths'))) # Reinitialize the model's PK sequence - self.stdout.write(f'Resetting database sequence for CablePath model') + self.stdout.write('Resetting database sequence for CablePath model') sequence_sql = connection.ops.sequence_reset_sql(no_style(), [CablePath]) with connection.cursor() as cursor: for sql in sequence_sql: diff --git a/netbox/dcim/models/device_component_templates.py b/netbox/dcim/models/device_component_templates.py index 5f6aa08e3..3a71c424d 100644 --- a/netbox/dcim/models/device_component_templates.py +++ b/netbox/dcim/models/device_component_templates.py @@ -160,7 +160,6 @@ class ModularComponentTemplateModel(ComponentTemplateModel): def _get_module_tree(self, module): modules = [] - all_module_bays = module.device.modulebays.all().select_related('module') while module: modules.append(module) if module.module_bay: diff --git a/netbox/dcim/tables/devicetypes.py b/netbox/dcim/tables/devicetypes.py index 69ff8b3a2..e8a4e35f1 100644 --- a/netbox/dcim/tables/devicetypes.py +++ b/netbox/dcim/tables/devicetypes.py @@ -1,6 +1,5 @@ -from django.utils.translation import gettext_lazy as _ import django_tables2 as tables -from django.utils.translation import gettext as _ +from django.utils.translation import gettext_lazy as _ from dcim import models from netbox.tables import NetBoxTable, columns diff --git a/netbox/dcim/tests/test_api.py b/netbox/dcim/tests/test_api.py index 573fdbb96..1b460cd59 100644 --- a/netbox/dcim/tests/test_api.py +++ b/netbox/dcim/tests/test_api.py @@ -2135,12 +2135,12 @@ class ConnectedDeviceTest(APITestCase): def test_get_connected_device(self): url = reverse('dcim-api:connected-device-list') - url_params = f'?peer_device=TestDevice1&peer_interface=eth0' + url_params = '?peer_device=TestDevice1&peer_interface=eth0' response = self.client.get(url + url_params, **self.header) self.assertHttpStatus(response, status.HTTP_200_OK) self.assertEqual(response.data['name'], 'TestDevice2') - url_params = f'?peer_device=TestDevice1&peer_interface=eth1' + url_params = '?peer_device=TestDevice1&peer_interface=eth1' response = self.client.get(url + url_params, **self.header) self.assertHttpStatus(response, status.HTTP_404_NOT_FOUND) diff --git a/netbox/dcim/tests/test_filtersets.py b/netbox/dcim/tests/test_filtersets.py index afb360d76..6c65cad93 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -4838,13 +4838,6 @@ class InventoryItemTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'device_role': [role[0].slug, role[1].slug]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) - def test_role(self): - role = DeviceRole.objects.all()[:2] - params = {'role_id': [role[0].pk, role[1].pk]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) - params = {'role': [role[0].slug, role[1].slug]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 4) - def test_device(self): devices = Device.objects.all()[:2] params = {'device_id': [devices[0].pk, devices[1].pk]} diff --git a/netbox/dcim/tests/test_models.py b/netbox/dcim/tests/test_models.py index 1c3dbb90b..70431c2e1 100644 --- a/netbox/dcim/tests/test_models.py +++ b/netbox/dcim/tests/test_models.py @@ -662,10 +662,8 @@ class ModuleBayTestCase(TestCase): def test_module_bay_recursion(self): module_bay_1 = ModuleBay.objects.get(name='Module Bay 1') - module_bay_2 = ModuleBay.objects.get(name='Module Bay 2') module_bay_3 = ModuleBay.objects.get(name='Module Bay 3') module_1 = Module.objects.get(module_bay=module_bay_1) - module_2 = Module.objects.get(module_bay=module_bay_2) module_3 = Module.objects.get(module_bay=module_bay_3) # Confirm error if ModuleBay recurses @@ -681,8 +679,6 @@ class ModuleBayTestCase(TestCase): module_1.save() def test_single_module_token(self): - module_bays = ModuleBay.objects.all() - modules = Module.objects.all() device_type = DeviceType.objects.first() device_role = DeviceRole.objects.first() site = Site.objects.first() @@ -708,7 +704,7 @@ class ModuleBayTestCase(TestCase): location=location, rack=rack ) - cp = device.consoleports.first() + device.consoleports.first() def test_nested_module_token(self): pass @@ -733,39 +729,41 @@ class CableTestCase(TestCase): device2 = Device.objects.create( device_type=devicetype, role=role, name='TestDevice2', site=site ) - interface1 = Interface.objects.create(device=device1, name='eth0') - interface2 = Interface.objects.create(device=device2, name='eth0') - interface3 = Interface.objects.create(device=device2, name='eth1') - Cable(a_terminations=[interface1], b_terminations=[interface2]).save() + interfaces = ( + Interface(device=device1, name='eth0'), + Interface(device=device2, name='eth0'), + Interface(device=device2, name='eth1'), + ) + Interface.objects.bulk_create(interfaces) + Cable(a_terminations=[interfaces[0]], b_terminations=[interfaces[1]]).save() + PowerPort.objects.create(device=device2, name='psu1') - power_port1 = PowerPort.objects.create(device=device2, name='psu1') - patch_pannel = Device.objects.create( + patch_panel = Device.objects.create( device_type=devicetype, role=role, name='TestPatchPanel', site=site ) - rear_port1 = RearPort.objects.create(device=patch_pannel, name='RP1', type='8p8c') - front_port1 = FrontPort.objects.create( - device=patch_pannel, name='FP1', type='8p8c', rear_port=rear_port1, rear_port_position=1 + rear_ports = ( + RearPort(device=patch_panel, name='RP1', type='8p8c'), + RearPort(device=patch_panel, name='RP2', type='8p8c', positions=2), + RearPort(device=patch_panel, name='RP3', type='8p8c', positions=3), + RearPort(device=patch_panel, name='RP4', type='8p8c', positions=3), ) - rear_port2 = RearPort.objects.create(device=patch_pannel, name='RP2', type='8p8c', positions=2) - front_port2 = FrontPort.objects.create( - device=patch_pannel, name='FP2', type='8p8c', rear_port=rear_port2, rear_port_position=1 - ) - rear_port3 = RearPort.objects.create(device=patch_pannel, name='RP3', type='8p8c', positions=3) - front_port3 = FrontPort.objects.create( - device=patch_pannel, name='FP3', type='8p8c', rear_port=rear_port3, rear_port_position=1 - ) - rear_port4 = RearPort.objects.create(device=patch_pannel, name='RP4', type='8p8c', positions=3) - front_port4 = FrontPort.objects.create( - device=patch_pannel, name='FP4', type='8p8c', rear_port=rear_port4, rear_port_position=1 + RearPort.objects.bulk_create(rear_ports) + front_ports = ( + FrontPort(device=patch_panel, name='FP1', type='8p8c', rear_port=rear_ports[0], rear_port_position=1), + FrontPort(device=patch_panel, name='FP2', type='8p8c', rear_port=rear_ports[1], rear_port_position=1), + FrontPort(device=patch_panel, name='FP3', type='8p8c', rear_port=rear_ports[2], rear_port_position=1), + FrontPort(device=patch_panel, name='FP4', type='8p8c', rear_port=rear_ports[3], rear_port_position=1), ) + FrontPort.objects.bulk_create(front_ports) + provider = Provider.objects.create(name='Provider 1', slug='provider-1') provider_network = ProviderNetwork.objects.create(name='Provider Network 1', provider=provider) circuittype = CircuitType.objects.create(name='Circuit Type 1', slug='circuit-type-1') circuit1 = Circuit.objects.create(provider=provider, type=circuittype, cid='1') circuit2 = Circuit.objects.create(provider=provider, type=circuittype, cid='2') - circuittermination1 = CircuitTermination.objects.create(circuit=circuit1, site=site, term_side='A') - circuittermination2 = CircuitTermination.objects.create(circuit=circuit1, site=site, term_side='Z') - circuittermination3 = CircuitTermination.objects.create(circuit=circuit2, provider_network=provider_network, term_side='A') + CircuitTermination.objects.create(circuit=circuit1, site=site, term_side='A') + CircuitTermination.objects.create(circuit=circuit1, site=site, term_side='Z') + CircuitTermination.objects.create(circuit=circuit2, provider_network=provider_network, term_side='A') def test_cable_creation(self): """ diff --git a/netbox/dcim/tests/test_views.py b/netbox/dcim/tests/test_views.py index 7d6c34337..e290a6d1d 100644 --- a/netbox/dcim/tests/test_views.py +++ b/netbox/dcim/tests/test_views.py @@ -2571,7 +2571,7 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): } cls.csv_data = ( - f"device,name,type,vrf.pk,poe_mode,poe_type", + "device,name,type,vrf.pk,poe_mode,poe_type", f"Device 1,Interface 4,1000base-t,{vrfs[0].pk},pse,type1-ieee802.3af", f"Device 1,Interface 5,1000base-t,{vrfs[0].pk},pse,type1-ieee802.3af", f"Device 1,Interface 6,1000base-t,{vrfs[0].pk},pse,type1-ieee802.3af", diff --git a/netbox/extras/api/nested_serializers.py b/netbox/extras/api/nested_serializers.py index ba291b34e..235cdd6d6 100644 --- a/netbox/extras/api/nested_serializers.py +++ b/netbox/extras/api/nested_serializers.py @@ -24,7 +24,7 @@ __all__ = [ # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/extras/jobs.py b/netbox/extras/jobs.py index e540ef439..64a7d6a69 100644 --- a/netbox/extras/jobs.py +++ b/netbox/extras/jobs.py @@ -48,7 +48,7 @@ class ScriptJob(JobRunner): except AbortTransaction: script.log_info(message=_("Database changes have been reverted automatically.")) if script.failed: - logger.warning(f"Script failed") + logger.warning("Script failed") raise except Exception as e: diff --git a/netbox/extras/management/commands/housekeeping.py b/netbox/extras/management/commands/housekeeping.py index cb8137ee2..ade486fc0 100644 --- a/netbox/extras/management/commands/housekeeping.py +++ b/netbox/extras/management/commands/housekeeping.py @@ -95,7 +95,7 @@ class Command(BaseCommand): self.stdout.write("[*] Checking for latest release") if settings.ISOLATED_DEPLOYMENT: if options['verbosity']: - self.stdout.write(f"\tSkipping: ISOLATED_DEPLOYMENT is enabled") + self.stdout.write("\tSkipping: ISOLATED_DEPLOYMENT is enabled") elif settings.RELEASE_CHECK_URL: headers = { 'Accept': 'application/vnd.github.v3+json', @@ -129,7 +129,7 @@ class Command(BaseCommand): self.stdout.write(f"\tRequest error: {exc}", self.style.ERROR) else: if options['verbosity']: - self.stdout.write(f"\tSkipping: RELEASE_CHECK_URL not set") + self.stdout.write("\tSkipping: RELEASE_CHECK_URL not set") if options['verbosity']: self.stdout.write("Finished.", self.style.SUCCESS) diff --git a/netbox/extras/management/commands/reindex.py b/netbox/extras/management/commands/reindex.py index 5aab74511..21442be93 100644 --- a/netbox/extras/management/commands/reindex.py +++ b/netbox/extras/management/commands/reindex.py @@ -96,9 +96,9 @@ class Command(BaseCommand): if i: self.stdout.write(f'{i} entries cached.') else: - self.stdout.write(f'No objects found.') + self.stdout.write('No objects found.') - msg = f'Completed.' + msg = 'Completed.' if total_count := search_backend.size: msg += f' Total entries: {total_count}' self.stdout.write(msg, self.style.SUCCESS) diff --git a/netbox/extras/management/commands/runscript.py b/netbox/extras/management/commands/runscript.py index ab0d6d894..d5fb435ad 100644 --- a/netbox/extras/management/commands/runscript.py +++ b/netbox/extras/management/commands/runscript.py @@ -51,7 +51,7 @@ class Command(BaseCommand): user = User.objects.filter(is_superuser=True).order_by('pk')[0] # Setup logging to Stdout - formatter = logging.Formatter(f'[%(asctime)s][%(levelname)s] - %(message)s') + formatter = logging.Formatter('[%(asctime)s][%(levelname)s] - %(message)s') stdouthandler = logging.StreamHandler(sys.stdout) stdouthandler.setLevel(logging.DEBUG) stdouthandler.setFormatter(formatter) diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index 91de7df0d..8b7fc0cb6 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -283,7 +283,7 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel): """ for ct in content_types: model = ct.model_class() - instances = model.objects.exclude(**{f'custom_field_data__contains': self.name}) + instances = model.objects.exclude(**{'custom_field_data__contains': self.name}) for instance in instances: instance.custom_field_data[self.name] = self.default model.objects.bulk_update(instances, ['custom_field_data'], batch_size=100) diff --git a/netbox/extras/scripts.py b/netbox/extras/scripts.py index 96d08d8af..f2bd75a1d 100644 --- a/netbox/extras/scripts.py +++ b/netbox/extras/scripts.py @@ -554,7 +554,7 @@ class BaseScript: """ Run the report and save its results. Each test method will be executed in order. """ - self.logger.info(f"Running report") + self.logger.info("Running report") try: for test_name in self.tests: diff --git a/netbox/extras/tests/test_customvalidators.py b/netbox/extras/tests/test_customvalidators.py index 49deb9da5..9f85b4913 100644 --- a/netbox/extras/tests/test_customvalidators.py +++ b/netbox/extras/tests/test_customvalidators.py @@ -162,7 +162,7 @@ class CustomValidatorTest(TestCase): Site(name='abcdef123', slug='abcdef123').clean() @override_settings(CUSTOM_VALIDATORS={'dcim.site': [region_validator]}) - def test_valid(self): + def test_related_object(self): region1 = Region(name='Foo', slug='foo') region1.save() region2 = Region(name='Bar', slug='bar') diff --git a/netbox/extras/tests/test_models.py b/netbox/extras/tests/test_models.py index c92a1bc54..188a06a3f 100644 --- a/netbox/extras/tests/test_models.py +++ b/netbox/extras/tests/test_models.py @@ -49,11 +49,11 @@ class ConfigContextTest(TestCase): sitegroup = SiteGroup.objects.create(name='Site Group') site = Site.objects.create(name='Site 1', slug='site-1', region=region, group=sitegroup) location = Location.objects.create(name='Location 1', slug='location-1', site=site) - platform = Platform.objects.create(name='Platform') + Platform.objects.create(name='Platform') tenantgroup = TenantGroup.objects.create(name='Tenant Group') - tenant = Tenant.objects.create(name='Tenant', group=tenantgroup) - tag1 = Tag.objects.create(name='Tag', slug='tag') - tag2 = Tag.objects.create(name='Tag2', slug='tag2') + Tenant.objects.create(name='Tenant', group=tenantgroup) + Tag.objects.create(name='Tag', slug='tag') + Tag.objects.create(name='Tag2', slug='tag2') Device.objects.create( name='Device 1', diff --git a/netbox/extras/tests/test_views.py b/netbox/extras/tests/test_views.py index 796d36180..5d82fae4c 100644 --- a/netbox/extras/tests/test_views.py +++ b/netbox/extras/tests/test_views.py @@ -417,7 +417,7 @@ class EventRulesTestCase(ViewTestCases.PrimaryObjectViewTestCase): } cls.csv_data = ( - f'name,object_types,event_types,action_type,action_object', + 'name,object_types,event_types,action_type,action_object', f'Webhook 4,dcim.site,"{OBJECT_CREATED},{OBJECT_UPDATED}",webhook,Webhook 1', ) diff --git a/netbox/ipam/api/nested_serializers.py b/netbox/ipam/api/nested_serializers.py index 57a1a65d5..8b10f29df 100644 --- a/netbox/ipam/api/nested_serializers.py +++ b/netbox/ipam/api/nested_serializers.py @@ -30,7 +30,7 @@ __all__ = [ # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index cac90bb87..ffd4d5b7d 100644 --- a/netbox/ipam/api/views.py +++ b/netbox/ipam/api/views.py @@ -186,13 +186,13 @@ class AvailableObjectsView(ObjectValidationMixin, APIView): """ Return the parent object. """ - raise NotImplemented() + raise NotImplementedError() def get_available_objects(self, parent, limit=None): """ Return all available objects for the parent. """ - raise NotImplemented() + raise NotImplementedError() def get_extra_context(self, parent): """ @@ -250,7 +250,7 @@ class AvailableObjectsView(ObjectValidationMixin, APIView): # Determine if the requested number of objects is available if not self.check_sufficient_available(serializer.validated_data, available_objects): return Response( - {"detail": f"Insufficient resources are available to satisfy the request"}, + {"detail": "Insufficient resources are available to satisfy the request"}, status=status.HTTP_409_CONFLICT ) diff --git a/netbox/ipam/graphql/mixins.py b/netbox/ipam/graphql/mixins.py index 757e62c74..692741871 100644 --- a/netbox/ipam/graphql/mixins.py +++ b/netbox/ipam/graphql/mixins.py @@ -10,9 +10,9 @@ __all__ = ( @strawberry.type class IPAddressesMixin: - ip_addresses: List[Annotated["IPAddressType", strawberry.lazy('ipam.graphql.types')]] + ip_addresses: List[Annotated["IPAddressType", strawberry.lazy('ipam.graphql.types')]] # noqa: F821 @strawberry.type class VLANGroupsMixin: - vlan_groups: List[Annotated["VLANGroupType", strawberry.lazy('ipam.graphql.types')]] + vlan_groups: List[Annotated["VLANGroupType", strawberry.lazy('ipam.graphql.types')]] # noqa: F821 diff --git a/netbox/ipam/tests/test_api.py b/netbox/ipam/tests/test_api.py index 59335cbbe..1d2cdf1b7 100644 --- a/netbox/ipam/tests/test_api.py +++ b/netbox/ipam/tests/test_api.py @@ -700,8 +700,6 @@ class IPAddressTest(APIViewTestCases.APIViewTestCase): device1.primary_ip4 = ip_addresses[0] device1.save() - ip2 = ip_addresses[1] - url = reverse('ipam-api:ipaddress-detail', kwargs={'pk': ip1.pk}) self.add_permissions('ipam.change_ipaddress') diff --git a/netbox/ipam/tests/test_views.py b/netbox/ipam/tests/test_views.py index 2acb80ac1..95b311878 100644 --- a/netbox/ipam/tests/test_views.py +++ b/netbox/ipam/tests/test_views.py @@ -50,7 +50,7 @@ class ASNRangeTestCase(ViewTestCases.PrimaryObjectViewTestCase): } cls.csv_data = ( - f"name,slug,rir,tenant,start,end,description", + "name,slug,rir,tenant,start,end,description", f"ASN Range 4,asn-range-4,{rirs[1].name},{tenants[1].name},400,499,Fourth range", f"ASN Range 5,asn-range-5,{rirs[1].name},{tenants[1].name},500,599,Fifth range", f"ASN Range 6,asn-range-6,{rirs[1].name},{tenants[1].name},600,699,Sixth range", @@ -770,14 +770,14 @@ class VLANGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase): } cls.csv_data = ( - f"name,slug,scope_type,scope_id,description", - f"VLAN Group 4,vlan-group-4,,,Fourth VLAN group", + "name,slug,scope_type,scope_id,description", + "VLAN Group 4,vlan-group-4,,,Fourth VLAN group", f"VLAN Group 5,vlan-group-5,dcim.site,{sites[0].pk},Fifth VLAN group", f"VLAN Group 6,vlan-group-6,dcim.site,{sites[1].pk},Sixth VLAN group", ) cls.csv_update_data = ( - f"id,name,description", + "id,name,description", f"{vlan_groups[0].pk},VLAN Group 7,Fourth VLAN group7", f"{vlan_groups[1].pk},VLAN Group 8,Fifth VLAN group8", f"{vlan_groups[2].pk},VLAN Group 9,Sixth VLAN group9", diff --git a/netbox/netbox/config/__init__.py b/netbox/netbox/config/__init__.py index 1c16d6769..23108f1d2 100644 --- a/netbox/netbox/config/__init__.py +++ b/netbox/netbox/config/__init__.py @@ -85,7 +85,7 @@ class Config: logger.debug("Loaded configuration data from database") except DatabaseError: # The database may not be available yet (e.g. when running a management command) - logger.warning(f"Skipping config initialization (database unavailable)") + logger.warning("Skipping config initialization (database unavailable)") return revision.activate() diff --git a/netbox/netbox/data_backends.py b/netbox/netbox/data_backends.py index d5bab75c1..e3a3de4d1 100644 --- a/netbox/netbox/data_backends.py +++ b/netbox/netbox/data_backends.py @@ -50,4 +50,4 @@ class DataBackend: 2. Yields the local path at which data has been replicated 3. Performs any necessary cleanup """ - raise NotImplemented() + raise NotImplementedError() diff --git a/netbox/netbox/navigation/menu.py b/netbox/netbox/navigation/menu.py index a1d65d6e2..9d8ffaaf8 100644 --- a/netbox/netbox/navigation/menu.py +++ b/netbox/netbox/navigation/menu.py @@ -386,57 +386,57 @@ ADMIN_MENU = Menu( label=_('Authentication'), items=( MenuItem( - link=f'users:user_list', + link='users:user_list', link_text=_('Users'), auth_required=True, - permissions=[f'users.view_user'], + permissions=['users.view_user'], buttons=( MenuItemButton( - link=f'users:user_add', + link='users:user_add', title='Add', icon_class='mdi mdi-plus-thick', - permissions=[f'users.add_user'] + permissions=['users.add_user'] ), MenuItemButton( - link=f'users:user_import', + link='users:user_import', title='Import', icon_class='mdi mdi-upload', - permissions=[f'users.add_user'] + permissions=['users.add_user'] ) ) ), MenuItem( - link=f'users:group_list', + link='users:group_list', link_text=_('Groups'), auth_required=True, - permissions=[f'users.view_group'], + permissions=['users.view_group'], buttons=( MenuItemButton( - link=f'users:group_add', + link='users:group_add', title='Add', icon_class='mdi mdi-plus-thick', - permissions=[f'users.add_group'] + permissions=['users.add_group'] ), MenuItemButton( - link=f'users:group_import', + link='users:group_import', title='Import', icon_class='mdi mdi-upload', - permissions=[f'users.add_group'] + permissions=['users.add_group'] ) ) ), MenuItem( - link=f'users:token_list', + link='users:token_list', link_text=_('API Tokens'), auth_required=True, - permissions=[f'users.view_token'], + permissions=['users.view_token'], buttons=get_model_buttons('users', 'token') ), MenuItem( - link=f'users:objectpermission_list', + link='users:objectpermission_list', link_text=_('Permissions'), auth_required=True, - permissions=[f'users.view_objectpermission'], + permissions=['users.view_objectpermission'], buttons=get_model_buttons('users', 'objectpermission', actions=['add']) ), ), diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 9c5078ccb..a8ac68d4d 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -198,7 +198,7 @@ if len(SECRET_KEY) < 50: if RELEASE_CHECK_URL: try: URLValidator()(RELEASE_CHECK_URL) - except ValidationError as e: + except ValidationError: raise ImproperlyConfigured( "RELEASE_CHECK_URL must be a valid URL. Example: https://api.github.com/repos/netbox-community/netbox" ) diff --git a/netbox/netbox/staging.py b/netbox/netbox/staging.py index 4d37fb7ad..e6b946403 100644 --- a/netbox/netbox/staging.py +++ b/netbox/netbox/staging.py @@ -80,7 +80,7 @@ class checkout: Create Change instances for all actions stored in the queue. """ if not self.queue: - logger.debug(f"No queued changes; aborting") + logger.debug("No queued changes; aborting") return logger.debug(f"Processing {len(self.queue)} queued changes") diff --git a/netbox/netbox/tests/dummy_plugin/views.py b/netbox/netbox/tests/dummy_plugin/views.py index c4d80731f..82f250fc1 100644 --- a/netbox/netbox/tests/dummy_plugin/views.py +++ b/netbox/netbox/tests/dummy_plugin/views.py @@ -21,7 +21,7 @@ class DummyModelsView(View): class DummyModelAddView(View): def get(self, request): - return HttpResponse(f"Create an instance") + return HttpResponse("Create an instance") def post(self, request): instance = DummyModel( @@ -29,7 +29,7 @@ class DummyModelAddView(View): number=random.randint(1, 100000) ) instance.save() - return HttpResponse(f"Instance created") + return HttpResponse("Instance created") @register_model_view(Site, 'extra', path='other-stuff') diff --git a/netbox/netbox/tests/test_authentication.py b/netbox/netbox/tests/test_authentication.py index 5c7a30dc7..ae6d3f4c2 100644 --- a/netbox/netbox/tests/test_authentication.py +++ b/netbox/netbox/tests/test_authentication.py @@ -106,7 +106,7 @@ class ExternalAuthenticationTestCase(TestCase): self.assertEqual(settings.REMOTE_AUTH_HEADER, 'HTTP_REMOTE_USER') # Client should not be authenticated - response = self.client.get(reverse('home'), follow=True, **headers) + self.client.get(reverse('home'), follow=True, **headers) self.assertNotIn('_auth_user_id', self.client.session) @override_settings( diff --git a/netbox/netbox/tests/test_import.py b/netbox/netbox/tests/test_import.py index 03690029c..16711ef72 100644 --- a/netbox/netbox/tests/test_import.py +++ b/netbox/netbox/tests/test_import.py @@ -77,7 +77,6 @@ class CSVImportTestCase(ModelViewTestCase): self.assertHttpStatus(self.client.post(self._get_url('import'), data), 302) regions = Region.objects.all() self.assertEqual(regions.count(), 4) - region = Region.objects.get(slug="region-4") self.assertEqual( list(regions[0].tags.values_list('name', flat=True)), ['Alpha', 'Bravo'] diff --git a/netbox/tenancy/api/nested_serializers.py b/netbox/tenancy/api/nested_serializers.py index 5f339ecba..5adb78863 100644 --- a/netbox/tenancy/api/nested_serializers.py +++ b/netbox/tenancy/api/nested_serializers.py @@ -15,7 +15,7 @@ __all__ = [ # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/tenancy/graphql/mixins.py b/netbox/tenancy/graphql/mixins.py index 2d97ba718..9cdba100e 100644 --- a/netbox/tenancy/graphql/mixins.py +++ b/netbox/tenancy/graphql/mixins.py @@ -10,4 +10,4 @@ __all__ = ( @strawberry.type class ContactAssignmentsMixin: - assignments: List[Annotated["ContactAssignmentType", strawberry.lazy('tenancy.graphql.types')]] + assignments: List[Annotated["ContactAssignmentType", strawberry.lazy('tenancy.graphql.types')]] # noqa: F821 diff --git a/netbox/users/api/nested_serializers.py b/netbox/users/api/nested_serializers.py index 2a5763476..201e38901 100644 --- a/netbox/users/api/nested_serializers.py +++ b/netbox/users/api/nested_serializers.py @@ -18,7 +18,7 @@ __all__ = [ # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/users/api/views.py b/netbox/users/api/views.py index 240f68d36..bba9a4ec3 100644 --- a/netbox/users/api/views.py +++ b/netbox/users/api/views.py @@ -73,7 +73,7 @@ class TokenProvisionView(APIView): def perform_create(self, serializer): model = serializer.Meta.model - logger = logging.getLogger(f'netbox.api.views.TokenProvisionView') + logger = logging.getLogger('netbox.api.views.TokenProvisionView') logger.info(f"Creating new {model._meta.verbose_name}") serializer.save() diff --git a/netbox/users/forms/model_forms.py b/netbox/users/forms/model_forms.py index 639b9f726..42c3b15f0 100644 --- a/netbox/users/forms/model_forms.py +++ b/netbox/users/forms/model_forms.py @@ -36,7 +36,6 @@ class UserConfigFormMetaclass(forms.models.ModelFormMetaclass): # Emulate a declared field for each supported user preference preference_fields = {} for field_name, preference in PREFERENCES.items(): - description = f'{preference.description}
' if preference.description else '' help_text = f'{field_name}' if preference.description: help_text = f'{preference.description}
{help_text}' diff --git a/netbox/users/tests/test_preferences.py b/netbox/users/tests/test_preferences.py index b5037ec3f..13120d328 100644 --- a/netbox/users/tests/test_preferences.py +++ b/netbox/users/tests/test_preferences.py @@ -51,11 +51,11 @@ class UserPreferencesTest(TestCase): # Check that table ordering preference has been recorded self.user.refresh_from_db() - ordering = self.user.config.get(f'tables.SiteTable.ordering') + ordering = self.user.config.get('tables.SiteTable.ordering') self.assertEqual(ordering, ['status']) # Check that a recorded preference is honored by default - self.user.config.set(f'tables.SiteTable.ordering', ['-status'], commit=True) + self.user.config.set('tables.SiteTable.ordering', ['-status'], commit=True) table = SiteTable(Site.objects.all()) request = RequestFactory().get(url) request.user = self.user diff --git a/netbox/utilities/forms/fields/dynamic.py b/netbox/utilities/forms/fields/dynamic.py index bec067ba2..6666c0e4d 100644 --- a/netbox/utilities/forms/fields/dynamic.py +++ b/netbox/utilities/forms/fields/dynamic.py @@ -142,7 +142,7 @@ class DynamicModelChoiceMixin: if data: # When the field is multiple choice pass the data as a list if it's not already - if isinstance(bound_field.field, DynamicModelMultipleChoiceField) and not type(data) is list: + if isinstance(bound_field.field, DynamicModelMultipleChoiceField) and type(data) is not list: data = [data] field_name = getattr(self, 'to_field_name') or 'pk' diff --git a/netbox/utilities/html.py b/netbox/utilities/html.py index f99dabe5a..c9203d169 100644 --- a/netbox/utilities/html.py +++ b/netbox/utilities/html.py @@ -59,7 +59,7 @@ def highlight(value, highlight, trim_pre=None, trim_post=None, trim_placeholder= else: highlight = re.escape(highlight) pre, match, post = re.split(fr'({highlight})', value, maxsplit=1, flags=re.IGNORECASE) - except ValueError as e: + except ValueError: # Match not found return escape(value) diff --git a/netbox/utilities/tests/test_api.py b/netbox/utilities/tests/test_api.py index 81be70a34..ba0c3c4f8 100644 --- a/netbox/utilities/tests/test_api.py +++ b/netbox/utilities/tests/test_api.py @@ -149,7 +149,7 @@ class APIPaginationTestCase(APITestCase): self.assertHttpStatus(response, status.HTTP_200_OK) self.assertEqual(response.data['count'], 100) - self.assertTrue(response.data['next'].endswith(f'?limit=10&offset=10')) + self.assertTrue(response.data['next'].endswith('?limit=10&offset=10')) self.assertIsNone(response.data['previous']) self.assertEqual(len(response.data['results']), 10) @@ -159,7 +159,7 @@ class APIPaginationTestCase(APITestCase): self.assertHttpStatus(response, status.HTTP_200_OK) self.assertEqual(response.data['count'], 100) - self.assertTrue(response.data['next'].endswith(f'?limit=20&offset=20')) + self.assertTrue(response.data['next'].endswith('?limit=20&offset=20')) self.assertIsNone(response.data['previous']) self.assertEqual(len(response.data['results']), 20) diff --git a/netbox/utilities/tests/test_counters.py b/netbox/utilities/tests/test_counters.py index b87e73ace..45823065e 100644 --- a/netbox/utilities/tests/test_counters.py +++ b/netbox/utilities/tests/test_counters.py @@ -85,7 +85,7 @@ class CountersTest(TestCase): def test_mptt_child_delete(self): device1, device2 = Device.objects.all() inventory_item1 = InventoryItem.objects.create(device=device1, name='Inventory Item 1') - inventory_item2 = InventoryItem.objects.create(device=device1, name='Inventory Item 2', parent=inventory_item1) + InventoryItem.objects.create(device=device1, name='Inventory Item 2', parent=inventory_item1) device1.refresh_from_db() self.assertEqual(device1.inventory_item_count, 2) diff --git a/netbox/virtualization/api/nested_serializers.py b/netbox/virtualization/api/nested_serializers.py index a2395faa5..59016f74d 100644 --- a/netbox/virtualization/api/nested_serializers.py +++ b/netbox/virtualization/api/nested_serializers.py @@ -18,7 +18,7 @@ __all__ = [ # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/virtualization/tests/test_views.py b/netbox/virtualization/tests/test_views.py index 0daa55a5c..3c6a058c9 100644 --- a/netbox/virtualization/tests/test_views.py +++ b/netbox/virtualization/tests/test_views.py @@ -354,14 +354,14 @@ class VMInterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase): } cls.csv_data = ( - f"virtual_machine,name,vrf.pk", + "virtual_machine,name,vrf.pk", f"Virtual Machine 2,Interface 4,{vrfs[0].pk}", f"Virtual Machine 2,Interface 5,{vrfs[0].pk}", f"Virtual Machine 2,Interface 6,{vrfs[0].pk}", ) cls.csv_update_data = ( - f"id,name,description", + "id,name,description", f"{interfaces[0].pk},Interface 7,New description 7", f"{interfaces[1].pk},Interface 8,New description 8", f"{interfaces[2].pk},Interface 9,New description 9", @@ -438,14 +438,14 @@ class VirtualDiskTestCase(ViewTestCases.DeviceComponentViewTestCase): } cls.csv_data = ( - f"virtual_machine,name,size,description", - f"Virtual Machine 1,Disk 4,20,Fourth", - f"Virtual Machine 1,Disk 5,20,Fifth", - f"Virtual Machine 1,Disk 6,20,Sixth", + "virtual_machine,name,size,description", + "Virtual Machine 1,Disk 4,20,Fourth", + "Virtual Machine 1,Disk 5,20,Fifth", + "Virtual Machine 1,Disk 6,20,Sixth", ) cls.csv_update_data = ( - f"id,name,size", + "id,name,size", f"{disks[0].pk},disk1,20", f"{disks[1].pk},disk2,20", f"{disks[2].pk},disk3,20", diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py index ad3487b8b..0828d3a2a 100644 --- a/netbox/virtualization/views.py +++ b/netbox/virtualization/views.py @@ -657,7 +657,7 @@ class VirtualMachineBulkAddInterfaceView(generic.BulkComponentCreateView): default_return_url = 'virtualization:virtualmachine_list' def get_required_permission(self): - return f'virtualization.add_vminterface' + return 'virtualization.add_vminterface' class VirtualMachineBulkAddVirtualDiskView(generic.BulkComponentCreateView): @@ -671,4 +671,4 @@ class VirtualMachineBulkAddVirtualDiskView(generic.BulkComponentCreateView): default_return_url = 'virtualization:virtualmachine_list' def get_required_permission(self): - return f'virtualization.add_virtualdisk' + return 'virtualization.add_virtualdisk' diff --git a/netbox/vpn/api/nested_serializers.py b/netbox/vpn/api/nested_serializers.py index c1a90cbea..59e394c2e 100644 --- a/netbox/vpn/api/nested_serializers.py +++ b/netbox/vpn/api/nested_serializers.py @@ -21,7 +21,7 @@ __all__ = ( # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/vpn/filtersets.py b/netbox/vpn/filtersets.py index 92aa702c6..6403b662f 100644 --- a/netbox/vpn/filtersets.py +++ b/netbox/vpn/filtersets.py @@ -147,17 +147,6 @@ class IKEProposalFilterSet(NetBoxModelFilterSet): group = django_filters.MultipleChoiceFilter( choices=DHGroupChoices ) - ike_policy_id = django_filters.ModelMultipleChoiceFilter( - field_name='ike_policies', - queryset=IKEPolicy.objects.all(), - label=_('IKE policy (ID)'), - ) - ike_policy = django_filters.ModelMultipleChoiceFilter( - field_name='ike_policies__name', - queryset=IKEPolicy.objects.all(), - to_field_name='name', - label=_('IKE policy (name)'), - ) class Meta: model = IKEProposal diff --git a/netbox/vpn/tests/test_filtersets.py b/netbox/vpn/tests/test_filtersets.py index 0b9c79420..d2b893766 100644 --- a/netbox/vpn/tests/test_filtersets.py +++ b/netbox/vpn/tests/test_filtersets.py @@ -385,13 +385,6 @@ class IKEProposalTestCase(TestCase, ChangeLoggedFilterSetTests): params = {'sa_lifetime': [1000, 2000]} self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - def test_ike_policy(self): - ike_policies = IKEPolicy.objects.all()[:2] - params = {'ike_policy_id': [ike_policies[0].pk, ike_policies[1].pk]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - params = {'ike_policy': [ike_policies[0].name, ike_policies[1].name]} - self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) - class IKEPolicyTestCase(TestCase, ChangeLoggedFilterSetTests): queryset = IKEPolicy.objects.all() diff --git a/netbox/vpn/tests/test_views.py b/netbox/vpn/tests/test_views.py index 105ca0b6f..05ac527fe 100644 --- a/netbox/vpn/tests/test_views.py +++ b/netbox/vpn/tests/test_views.py @@ -542,9 +542,9 @@ class IPSecProfileTestCase(ViewTestCases.PrimaryObjectViewTestCase): cls.csv_data = ( "name,mode,ike_policy,ipsec_policy", - f"IKE Proposal 4,ah,IKE Policy 2,IPSec Policy 2", - f"IKE Proposal 5,ah,IKE Policy 2,IPSec Policy 2", - f"IKE Proposal 6,ah,IKE Policy 2,IPSec Policy 2", + "IKE Proposal 4,ah,IKE Policy 2,IPSec Policy 2", + "IKE Proposal 5,ah,IKE Policy 2,IPSec Policy 2", + "IKE Proposal 6,ah,IKE Policy 2,IPSec Policy 2", ) cls.csv_update_data = ( @@ -661,7 +661,7 @@ class L2VPNTerminationTestCase( ) cls.csv_update_data = ( - f"id,l2vpn", + "id,l2vpn", f"{terminations[0].pk},{l2vpns[0].name}", f"{terminations[1].pk},{l2vpns[0].name}", f"{terminations[2].pk},{l2vpns[0].name}", diff --git a/netbox/wireless/api/nested_serializers.py b/netbox/wireless/api/nested_serializers.py index 433164e60..9b8b6c3e3 100644 --- a/netbox/wireless/api/nested_serializers.py +++ b/netbox/wireless/api/nested_serializers.py @@ -12,7 +12,7 @@ __all__ = ( # TODO: Remove in v4.2 warnings.warn( - f"Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", + "Dedicated nested serializers will be removed in NetBox v4.2. Use Serializer(nested=True) instead.", DeprecationWarning ) diff --git a/netbox/wireless/tests/test_views.py b/netbox/wireless/tests/test_views.py index 055edf73c..a4dc2aae5 100644 --- a/netbox/wireless/tests/test_views.py +++ b/netbox/wireless/tests/test_views.py @@ -102,14 +102,14 @@ class WirelessLANTestCase(ViewTestCases.PrimaryObjectViewTestCase): } cls.csv_data = ( - f"group,ssid,status,tenant", + "group,ssid,status,tenant", f"Wireless LAN Group 2,WLAN4,{WirelessLANStatusChoices.STATUS_ACTIVE},{tenants[0].name}", f"Wireless LAN Group 2,WLAN5,{WirelessLANStatusChoices.STATUS_DISABLED},{tenants[1].name}", f"Wireless LAN Group 2,WLAN6,{WirelessLANStatusChoices.STATUS_RESERVED},{tenants[2].name}", ) cls.csv_update_data = ( - f"id,ssid", + "id,ssid", f"{wireless_lans[0].pk},WLAN7", f"{wireless_lans[1].pk},WLAN8", f"{wireless_lans[2].pk},WLAN9", @@ -167,7 +167,7 @@ class WirelessLinkTestCase(ViewTestCases.PrimaryObjectViewTestCase): } cls.csv_data = ( - f"interface_a,interface_b,status,tenant", + "interface_a,interface_b,status,tenant", f"{interfaces[6].pk},{interfaces[7].pk},connected,{tenants[0].name}", f"{interfaces[8].pk},{interfaces[9].pk},connected,{tenants[1].name}", f"{interfaces[10].pk},{interfaces[11].pk},connected,{tenants[2].name}", diff --git a/ruff.toml b/ruff.toml new file mode 100644 index 000000000..854404469 --- /dev/null +++ b/ruff.toml @@ -0,0 +1,2 @@ +[lint] +ignore = ["E501", "F403", "F405"] diff --git a/scripts/git-hooks/pre-commit b/scripts/git-hooks/pre-commit index 2ccf8df89..4b4ca172f 100755 --- a/scripts/git-hooks/pre-commit +++ b/scripts/git-hooks/pre-commit @@ -28,8 +28,8 @@ if [ ${NOVALIDATE} ]; then exit $EXIT fi -echo "Validating PEP8 compliance..." -pycodestyle --ignore=W504,E501 --exclude=node_modules netbox/ +echo "Linting with ruff..." +ruff check netbox/ if [ $? != 0 ]; then EXIT=1 fi From a964645c0a52be234133869cc6ceea02a4534f8c Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 11 Oct 2024 10:26:54 -0400 Subject: [PATCH 33/41] Closes #16248: Replace git commit hook script with pre-commit --- .pre-commit-config.yaml | 44 +++++++++++++++++++++++++++++ docs/development/getting-started.md | 39 ++++++++++++++----------- scripts/git-hooks/pre-commit | 5 ++++ 3 files changed, 71 insertions(+), 17 deletions(-) create mode 100644 .pre-commit-config.yaml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..09f935b61 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,44 @@ +repos: +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.6.9 + hooks: + - id: ruff + name: "Ruff linter" + args: [ netbox/ ] +- repo: local + hooks: + - id: django-check + name: "Django system check" + description: "Run Django's internal check for common problems" + entry: python netbox/manage.py check + language: system + pass_filenames: false + types: [python] + - id: django-makemigrations + name: "Django migrations check" + description: "Check for any missing Django migrations" + entry: python netbox/manage.py makemigrations --check + language: system + pass_filenames: false + types: [python] + - id: mkdocs-build + name: "Build documentation" + description: "Build the documentation with mkdocs" + files: 'docs/' + entry: mkdocs build + language: system + pass_filenames: false + - id: yarn-validate + name: "Yarn validate" + description: "Check UI ESLint, TypeScript, and Prettier compliance" + files: 'netbox/project-static/' + entry: yarn --cwd netbox/project-static validate + language: system + pass_filenames: false + - id: verify-bundles + name: "Verify static asset bundles" + description: "Ensure that any modified static assets have been compiled" + files: 'netbox/project-static/' + entry: scripts/verify-bundles.sh + language: system + pass_filenames: false diff --git a/docs/development/getting-started.md b/docs/development/getting-started.md index 374ed34b0..6e425d5a3 100644 --- a/docs/development/getting-started.md +++ b/docs/development/getting-started.md @@ -62,22 +62,7 @@ $issue-$description The description should be just two or three words to imply the focus of the work being performed. For example, bug #1234 to fix a TypeError exception when creating a device might be named `1234-device-typerror`. This ensures that branches are always follow some logical ordering (e.g. when running `git branch -a`) and helps other developers quickly identify the purpose of each. -### 3. Enable Pre-Commit Hooks - -NetBox ships with a [git pre-commit hook](https://githooks.com/) script that automatically checks for style compliance and missing database migrations prior to committing changes. This helps avoid erroneous commits that result in CI test failures. You are encouraged to enable it by creating a link to `scripts/git-hooks/pre-commit`: - -```no-highlight -cd .git/hooks/ -ln -s ../../scripts/git-hooks/pre-commit -``` -For the pre-commit hooks to work, you will also need to install the [ruff](https://docs.astral.sh/ruff/) linter: - -```no-highlight -python -m pip install ruff -``` -...and set up the yarn packages as shown in the [Web UI Development Guide](web-ui.md) - -### 4. Create a Python Virtual Environment +### 3. Create a Python Virtual Environment A [virtual environment](https://docs.python.org/3/tutorial/venv.html) (or "venv" for short) is like a container for a set of Python packages. These allow you to build environments suited to specific projects without interfering with system packages or other projects. When installed per the documentation, NetBox uses a virtual environment in production. @@ -101,7 +86,7 @@ source ~/.venv/netbox/bin/activate Notice that the console prompt changes to indicate the active environment. This updates the necessary system environment variables to ensure that any Python scripts are run within the virtual environment. -### 5. Install Required Packages +### 4. Install Required Packages With the virtual environment activated, install the project's required Python packages using the `pip` module. Required packages are defined in `requirements.txt`. Each line in this file specifies the name and specific version of a required package. @@ -109,6 +94,26 @@ With the virtual environment activated, install the project's required Python pa python -m pip install -r requirements.txt ``` +### 5. Install Pre-Commit + +NetBox uses [`pre-commit`](https://pre-commit.com/) to automatically validate code when commiting new changes. This includes the following operations: + +* Run the `ruff` Python linter +* Run Django's internal system check +* Check for missing database migrations +* Validate any changes to the documentation with `mkdocs` +* Validate Typescript & Sass styling with `yarn` +* Ensure that any modified static front end assets have been recompiled + +Enable `pre-commit` with the following commands _prior_ to commiting any changes: + +```no-highlight +python -m pip install ruff pre-commit +pre-commit install +``` + +You may also need to set up the yarn packages as shown in the [Web UI Development Guide](web-ui.md). + ### 6. Configure NetBox Within the `netbox/netbox/` directory, copy `configuration_example.py` to `configuration.py` and update the following parameters: diff --git a/scripts/git-hooks/pre-commit b/scripts/git-hooks/pre-commit index 4b4ca172f..da746b64f 100755 --- a/scripts/git-hooks/pre-commit +++ b/scripts/git-hooks/pre-commit @@ -14,6 +14,11 @@ RED='\033[0;31m' YELLOW='\033[0;33m' NOCOLOR='\033[0m' +printf "${YELLOW}This script is obsolete and will be removed in a future release.\n" +printf "Please use pre-commit instead:\n" +printf " pip install pre-commit\n" +printf " pre-commit install${NOCOLOR}\n" + if [ -d ./venv/ ]; then VENV="$PWD/venv" if [ -e $VENV/bin/python ]; then From 9a655d80e10176f1a46b48c477ca24160440221e Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Fri, 11 Oct 2024 13:04:42 -0700 Subject: [PATCH 34/41] 17614 Disallow removal of virtual chassis from device if set as master (#17731) * 17614 Disallow removal of virtual chassis from device if set as master * 17614 review changes * 17614 review changes --- netbox/dcim/models/devices.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index a2b78957e..0f11cb5f3 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -983,6 +983,13 @@ class Device( 'vc_position': _("A device assigned to a virtual chassis must have its position defined.") }) + if hasattr(self, 'vc_master_for') and self.vc_master_for and self.vc_master_for != self.virtual_chassis: + raise ValidationError({ + 'virtual_chassis': _('Device cannot be removed from virtual chassis {virtual_chassis} because it is currently designated as its master.').format( + virtual_chassis=self.vc_master_for + ) + }) + def _instantiate_components(self, queryset, bulk_create=True): """ Instantiate components for the device from the specified component templates. From fcc498641fef91088f420a25d47247557b08c8dd Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Fri, 11 Oct 2024 13:06:31 -0700 Subject: [PATCH 35/41] 17644 fix login icon size (#17730) * 17644 fix login icon size * 17644 fix login icon size * 17644 review changes --- netbox/project-static/dist/netbox.css | Bin 554378 -> 554418 bytes .../project-static/styles/custom/_misc.scss | 8 ++++++++ netbox/templates/login.html | 6 +++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/netbox/project-static/dist/netbox.css b/netbox/project-static/dist/netbox.css index 93361c63a8b9605588a591231d2e8ef8e2bc49cd..8c6bfd1347f963c3166eb576c90e73b4dd113d8d 100644 GIT binary patch delta 70 zcmeBrt+?s6VnYjK3sVbo3rh=Y3tJ2O77qDRb-kSY^!)0K)XemZ5-SUXf{I$b;^KVW T%;fw$n5dCSLB({rQjQz|kuw=l delta 30 lcmdn=TCwZ3VnYjK3sVbo3rh=Y3tJ2O77qE+>F%W**#NiF3Zno3 diff --git a/netbox/project-static/styles/custom/_misc.scss b/netbox/project-static/styles/custom/_misc.scss index 08125e8d3..89eefbaa0 100644 --- a/netbox/project-static/styles/custom/_misc.scss +++ b/netbox/project-static/styles/custom/_misc.scss @@ -33,3 +33,11 @@ span.color-label { .netbox-edition { letter-spacing: .15rem; } + +.logo { + height: 80px; +} + +.sso-icon { + height: 24px; +} diff --git a/netbox/templates/login.html b/netbox/templates/login.html index 612a72e50..e50303911 100644 --- a/netbox/templates/login.html +++ b/netbox/templates/login.html @@ -11,8 +11,8 @@ {# NetBox logo #}
- {% trans - {% trans + +
{{ settings.RELEASE.edition }}
@@ -81,7 +81,7 @@ From dfce55ceffcd9744e8999722f44cdad2263d5f9a Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 11 Oct 2024 16:16:07 -0400 Subject: [PATCH 36/41] Changelog for #17614, #17644, #17713 --- docs/release-notes/version-4.1.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index 5b353d54f..4cc78b199 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -16,10 +16,13 @@ * [#16024](https://github.com/netbox-community/netbox/issues/16024) - Fix AND/OR filtering in GraphQL API for selection fields * [#17562](https://github.com/netbox-community/netbox/issues/17562) - Fix GraphQL API query support for custom field choices * [#17566](https://github.com/netbox-community/netbox/issues/17566) - Fix AttributeError exception resulting from background jobs with no associated object type +* [#17614](https://github.com/netbox-community/netbox/issues/17614) - Disallow removal of a master device from its virtual chassis * [#17636](https://github.com/netbox-community/netbox/issues/17636) - Fix filtering of related objects when adding a power port, rear port, or inventory item template to a device type +* [#17644](https://github.com/netbox-community/netbox/issues/17644) - Correct sizing of logo & SSO icons on login page * [#17648](https://github.com/netbox-community/netbox/issues/17648) - Fix AttributeError exception when attempting to delete a background job under certain conditions * [#17663](https://github.com/netbox-community/netbox/issues/17663) - Fix extended lookups for choice field filters * [#17671](https://github.com/netbox-community/netbox/issues/17671) - Fix the display of rack types in global search results +* [#17713](https://github.com/netbox-community/netbox/issues/17713) - Fix UnboundLocalError exception when attempting to sync data source in parallel --- From 55fad2f533d9a0190ee9b5cf7c32bf173c982794 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 12 Oct 2024 05:02:27 +0000 Subject: [PATCH 37/41] Update source translation strings --- netbox/translations/en/LC_MESSAGES/django.po | 343 ++++++++++--------- 1 file changed, 174 insertions(+), 169 deletions(-) diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 2880bf73f..fea5de22d 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-10-11 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -20,7 +20,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "" @@ -55,7 +55,7 @@ msgstr "" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "" @@ -147,7 +147,7 @@ msgstr "" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "" @@ -159,7 +159,7 @@ msgstr "" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "" @@ -254,7 +254,7 @@ msgstr "" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "" @@ -308,7 +308,7 @@ msgstr "" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "" @@ -560,8 +560,8 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 #: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 -#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 netbox/templates/dcim/devicerole.html:34 @@ -680,7 +680,7 @@ msgstr "" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -1074,7 +1074,7 @@ msgstr "" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "" @@ -1128,8 +1128,8 @@ msgid "Circuit Group" msgstr "" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 #: netbox/dcim/models/device_components.py:975 #: netbox/dcim/models/device_components.py:1049 #: netbox/dcim/models/device_components.py:1204 @@ -1156,8 +1156,8 @@ msgstr "" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 #: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1288,7 +1288,7 @@ msgstr "" #: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 #: netbox/dcim/models/device_components.py:53 netbox/dcim/models/devices.py:593 -#: netbox/dcim/models/devices.py:1323 netbox/dcim/models/devices.py:1388 +#: netbox/dcim/models/devices.py:1330 netbox/dcim/models/devices.py:1395 #: netbox/dcim/models/power.py:39 netbox/dcim/models/power.py:92 #: netbox/dcim/models/racks.py:262 netbox/dcim/models/sites.py:138 #: netbox/extras/models/configs.py:36 netbox/extras/models/configs.py:215 @@ -1375,7 +1375,7 @@ msgstr "" #: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 #: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 #: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 -#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1509,7 +1509,7 @@ msgstr "" #: netbox/circuits/tables/circuits.py:80 netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 #: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1671,7 +1671,7 @@ msgstr "" #: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "" @@ -1743,7 +1743,7 @@ msgstr "" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1857,7 +1857,7 @@ msgstr "" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "" @@ -1954,7 +1954,7 @@ msgstr "" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "" @@ -2050,13 +2050,13 @@ msgid "Config revision #{id}" msgstr "" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 +#: netbox/dcim/models/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 #: netbox/dcim/models/device_components.py:283 #: netbox/dcim/models/device_components.py:312 #: netbox/dcim/models/device_components.py:345 @@ -2077,7 +2077,7 @@ msgid "URL" msgstr "" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 +#: netbox/dcim/models/device_component_templates.py:418 #: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 @@ -2287,7 +2287,7 @@ msgid "Last updated" msgstr "" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 netbox/wireless/tables/wirelesslink.py:17 @@ -3158,7 +3158,7 @@ msgid "Device model" msgstr "" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "" @@ -3173,7 +3173,7 @@ msgstr "" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 #: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "" @@ -3183,7 +3183,7 @@ msgstr "" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 #: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 -#: netbox/vpn/filtersets.py:385 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "" @@ -3270,7 +3270,7 @@ msgid "VRF (RD)" msgstr "" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "" @@ -3385,7 +3385,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3432,8 +3432,8 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 netbox/dcim/forms/object_import.py:187 #: netbox/dcim/tables/devices.py:96 netbox/dcim/tables/devices.py:172 -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:81 -#: netbox/dcim/tables/devicetypes.py:309 netbox/dcim/tables/modules.py:20 +#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:80 +#: netbox/dcim/tables/devicetypes.py:308 netbox/dcim/tables/modules.py:20 #: netbox/dcim/tables/modules.py:60 netbox/dcim/tables/racks.py:58 #: netbox/dcim/tables/racks.py:132 netbox/templates/dcim/devicetype.html:14 #: netbox/templates/dcim/inventoryitem.html:44 @@ -3496,7 +3496,7 @@ msgstr "" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3557,7 +3557,7 @@ msgstr "" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 netbox/dcim/forms/object_import.py:181 #: netbox/dcim/tables/devices.py:169 netbox/dcim/tables/devices.py:809 -#: netbox/dcim/tables/devices.py:937 netbox/dcim/tables/devicetypes.py:305 +#: netbox/dcim/tables/devices.py:937 netbox/dcim/tables/devicetypes.py:304 #: netbox/dcim/tables/racks.py:129 netbox/extras/filtersets.py:552 #: netbox/ipam/forms/bulk_edit.py:260 netbox/ipam/forms/bulk_edit.py:310 #: netbox/ipam/forms/bulk_edit.py:358 netbox/ipam/forms/bulk_edit.py:556 @@ -3664,12 +3664,12 @@ msgstr "" msgid "U height" msgstr "" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 netbox/templates/dcim/module.html:61 msgid "Device Type" msgstr "" @@ -3882,7 +3882,7 @@ msgid "Maximum draw" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 +#: netbox/dcim/models/device_component_templates.py:282 #: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "" @@ -3892,7 +3892,7 @@ msgid "Allocated draw" msgstr "" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 +#: netbox/dcim/models/device_component_templates.py:289 #: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "" @@ -3914,7 +3914,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 +#: netbox/dcim/models/device_component_templates.py:437 #: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "" @@ -3922,7 +3922,7 @@ msgstr "" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 +#: netbox/dcim/models/device_component_templates.py:443 #: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "" @@ -5123,199 +5123,199 @@ msgid "" "module type." msgstr "" -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:279 +#: netbox/dcim/models/device_component_templates.py:278 #: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "" -#: netbox/dcim/models/device_component_templates.py:286 +#: netbox/dcim/models/device_component_templates.py:285 #: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:316 +#: netbox/dcim/models/device_component_templates.py:315 #: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" -#: netbox/dcim/models/device_component_templates.py:348 +#: netbox/dcim/models/device_component_templates.py:347 #: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "" -#: netbox/dcim/models/device_component_templates.py:352 +#: netbox/dcim/models/device_component_templates.py:351 #: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:424 +#: netbox/dcim/models/device_component_templates.py:423 #: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "" -#: netbox/dcim/models/device_component_templates.py:432 +#: netbox/dcim/models/device_component_templates.py:431 #: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "" -#: netbox/dcim/models/device_component_templates.py:450 +#: netbox/dcim/models/device_component_templates.py:449 #: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:464 +#: netbox/dcim/models/device_component_templates.py:463 #: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "" -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:527 +#: netbox/dcim/models/device_component_templates.py:526 #: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " "positions" msgstr "" -#: netbox/dcim/models/device_component_templates.py:622 +#: netbox/dcim/models/device_component_templates.py:621 #: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:663 +#: netbox/dcim/models/device_component_templates.py:662 #: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "" -#: netbox/dcim/models/device_component_templates.py:666 +#: netbox/dcim/models/device_component_templates.py:665 #: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " "allow device bays." msgstr "" -#: netbox/dcim/models/device_component_templates.py:769 +#: netbox/dcim/models/device_component_templates.py:768 #: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "" -#: netbox/dcim/models/device_component_templates.py:771 +#: netbox/dcim/models/device_component_templates.py:770 #: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "" @@ -5643,7 +5643,7 @@ msgid "module bays" msgstr "" #: netbox/dcim/models/device_components.py:1138 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "" @@ -5679,14 +5679,14 @@ msgid "inventory item roles" msgstr "" #: netbox/dcim/models/device_components.py:1268 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "" #: netbox/dcim/models/device_components.py:1276 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "" @@ -5863,7 +5863,7 @@ msgstr "" msgid "Chassis serial number, assigned by the manufacturer" msgstr "" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "" @@ -5875,12 +5875,12 @@ msgstr "" msgid "rack face" msgstr "" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "" @@ -6016,69 +6016,76 @@ msgstr "" msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "" -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." msgstr "" -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "" -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" @@ -6546,7 +6553,7 @@ msgid "Power outlets" msgstr "" #: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6584,8 +6591,8 @@ msgstr "" msgid "Module Bay" msgstr "" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6643,7 +6650,7 @@ msgstr "" msgid "Tunnel" msgstr "" -#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "" @@ -6668,7 +6675,7 @@ msgstr "" msgid "Module Status" msgstr "" -#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "" @@ -6677,41 +6684,41 @@ msgstr "" msgid "Items" msgstr "" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6722,7 +6729,7 @@ msgstr "" msgid "Console Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6733,7 +6740,7 @@ msgstr "" msgid "Console Server Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6744,7 +6751,7 @@ msgstr "" msgid "Power Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6755,7 +6762,7 @@ msgstr "" msgid "Power Outlets" msgstr "" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6765,7 +6772,7 @@ msgstr "" msgid "Front Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6776,7 +6783,7 @@ msgstr "" msgid "Rear Ports" msgstr "" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6784,7 +6791,7 @@ msgstr "" msgid "Device Bays" msgstr "" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7472,7 +7479,7 @@ msgstr "" #: netbox/extras/forms/model_forms.py:237 #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 -#: netbox/extras/forms/model_forms.py:489 netbox/users/forms/model_forms.py:277 +#: netbox/extras/forms/model_forms.py:489 netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "" @@ -7566,8 +7573,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "" @@ -7579,8 +7586,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "" @@ -8925,19 +8932,19 @@ msgstr "" msgid "Invalid IP address format: {address}" msgstr "" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "" @@ -9007,11 +9014,11 @@ msgstr "" msgid "Mask length" msgstr "" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "" @@ -9031,23 +9038,23 @@ msgid "Parent prefix" msgstr "" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 #: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "" @@ -10829,9 +10836,9 @@ msgstr "" msgid "API Tokens" msgstr "" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "" @@ -12686,7 +12693,7 @@ msgstr "" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "" @@ -13745,7 +13752,7 @@ msgid "View" msgstr "" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "" @@ -14226,60 +14233,60 @@ msgstr "" msgid "Can Delete" msgstr "" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 "" -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for " "no restrictions. Example: 10.1.1.0/24,192.168.10.16/32,2001:" "db8:1::/64" msgstr "" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "" -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 msgid "" "JSON expression of a queryset filter that will return only permitted " "objects. Leave null to match all objects of this type. A list of multiple " "objects will result in a logical OR operation." msgstr "" -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "" -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "" @@ -15121,33 +15128,31 @@ msgstr "" msgid "Outside IP (ID)" msgstr "" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "" From 111a1ad888219ec0c44b45d8f7ecc110b220ca37 Mon Sep 17 00:00:00 2001 From: Erik Hetland Date: Wed, 9 Oct 2024 19:46:31 +0200 Subject: [PATCH 38/41] Fixes #17400: Handle cablepaths directly via multiple single-position rear ports --- netbox/dcim/models/cables.py | 8 ++++++ netbox/dcim/tests/test_cablepaths.py | 43 ++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/netbox/dcim/models/cables.py b/netbox/dcim/models/cables.py index f996fe67d..9cec965a3 100644 --- a/netbox/dcim/models/cables.py +++ b/netbox/dcim/models/cables.py @@ -666,6 +666,14 @@ class CablePath(models.Model): rear_port_id=remote_terminations[0].pk, rear_port_position__in=position_stack.pop() ) + # If all rear ports have a single position, we can just get the front ports + elif all([rp.positions == 1 for rp in remote_terminations]): + front_ports = FrontPort.objects.filter(rear_port_id__in=[rp.pk for rp in remote_terminations]) + + if len(front_ports) != len(remote_terminations): + # Some rear ports does not have a front port + is_split = True + break else: # No position indicated: path has split, so we stop at the RearPorts is_split = True diff --git a/netbox/dcim/tests/test_cablepaths.py b/netbox/dcim/tests/test_cablepaths.py index cd7b0e6d7..f7c337bdf 100644 --- a/netbox/dcim/tests/test_cablepaths.py +++ b/netbox/dcim/tests/test_cablepaths.py @@ -2060,6 +2060,49 @@ class CablePathTestCase(TestCase): # Test SVG generation CableTraceSVG(interface1).render() + def test_222_single_path_via_multiple_singleposition_rear_ports(self): + """ + [IF1] --C1-- [FP1] [RP1] --C2-- [IF2] + [FP2] [RP2] + """ + interface1 = Interface.objects.create(device=self.device, name='Interface 1') + interface2 = Interface.objects.create(device=self.device, name='Interface 2') + rearport1 = RearPort.objects.create(device=self.device, name='Rear Port 1', positions=1) + rearport2 = RearPort.objects.create(device=self.device, name='Rear Port 2', positions=1) + frontport1 = FrontPort.objects.create( + device=self.device, name='Front Port 1', rear_port=rearport1, rear_port_position=1 + ) + frontport2 = FrontPort.objects.create( + device=self.device, name='Front Port 2', rear_port=rearport2, rear_port_position=1 + ) + + cable1 = Cable( + a_terminations=[interface1], + b_terminations=[frontport1, frontport2] + ) + cable1.save() + self.assertEqual(CablePath.objects.count(), 1) + + cable2 = Cable( + a_terminations=[rearport1, rearport2], + b_terminations=[interface2] + ) + cable2.save() + self.assertEqual(CablePath.objects.count(), 2) + + self.assertPathExists( + (interface1, cable1, (frontport1, frontport2), (rearport1, rearport2), cable2, interface2), + is_complete=True + ) + self.assertPathExists( + (interface2, cable2, (rearport1, rearport2), (frontport1, frontport2), cable1, interface1), + is_complete=True + ) + + # Test SVG generation both directions + CableTraceSVG(interface1).render() + CableTraceSVG(interface2).render() + def test_301_create_path_via_existing_cable(self): """ [IF1] --C1-- [FP1] [RP1] --C2-- [RP2] [FP2] --C3-- [IF2] From 75225c6c752a818469dd8b4ca9a5e9a5f87b84af Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:30:35 -0400 Subject: [PATCH 39/41] Updates for project NetBox (#17762) * Translate django.po in cs 100% translated source file: 'django.po' on 'cs'. * Translate django.po in fr 100% translated source file: 'django.po' on 'fr'. * Translate django.po in uk 100% translated source file: 'django.po' on 'uk'. * Translate django.po in it 100% translated source file: 'django.po' on 'it'. * Translate django.po in de 100% translated source file: 'django.po' on 'de'. * Translate django.po in zh 100% translated source file: 'django.po' on 'zh'. * Translate django.po in da 100% translated source file: 'django.po' on 'da'. * Translate django.po in ja 100% translated source file: 'django.po' on 'ja'. * Translate django.po in es 100% translated source file: 'django.po' on 'es'. * Translate django.po in nl 100% translated source file: 'django.po' on 'nl'. * Translate django.po in ru 100% translated source file: 'django.po' on 'ru'. * Translate django.po in pl 100% translated source file: 'django.po' on 'pl'. * Translate django.po in tr 100% translated source file: 'django.po' on 'tr'. * Translate django.po in pt 100% translated source file: 'django.po' on 'pt'. --------- Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com> --- netbox/translations/cs/LC_MESSAGES/django.po | 1203 +++++++------- netbox/translations/da/LC_MESSAGES/django.po | 1134 +++++++------- netbox/translations/de/LC_MESSAGES/django.po | 1302 ++++++++-------- netbox/translations/es/LC_MESSAGES/django.po | 1134 +++++++------- netbox/translations/fr/LC_MESSAGES/django.po | 1134 +++++++------- netbox/translations/it/LC_MESSAGES/django.po | 1134 +++++++------- netbox/translations/ja/LC_MESSAGES/django.po | 1130 +++++++------- netbox/translations/nl/LC_MESSAGES/django.po | 1149 +++++++------- netbox/translations/pl/LC_MESSAGES/django.po | 1134 +++++++------- netbox/translations/pt/LC_MESSAGES/django.po | 1134 +++++++------- netbox/translations/ru/LC_MESSAGES/django.po | 1150 +++++++------- netbox/translations/tr/LC_MESSAGES/django.po | 1134 +++++++------- netbox/translations/uk/LC_MESSAGES/django.po | 1461 +++++++++--------- netbox/translations/zh/LC_MESSAGES/django.po | 1130 +++++++------- 14 files changed, 8453 insertions(+), 8010 deletions(-) diff --git a/netbox/translations/cs/LC_MESSAGES/django.po b/netbox/translations/cs/LC_MESSAGES/django.po index f9b66f770..b583f13f7 100644 --- a/netbox/translations/cs/LC_MESSAGES/django.po +++ b/netbox/translations/cs/LC_MESSAGES/django.po @@ -6,15 +6,16 @@ # Translators: # czarnian, 2024 # Jeremy Stretch, 2024 +# Pavel Valach, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: Pavel Valach, 2024\n" "Language-Team: Czech (https://app.transifex.com/netbox-community/teams/178115/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -24,7 +25,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Klíč" @@ -60,7 +61,7 @@ msgstr "Naposledy použitý" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "Povolené IP adresy" @@ -87,8 +88,8 @@ msgstr "Vaše heslo bylo úspěšně změněno." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -100,8 +101,8 @@ msgstr "Zajišťování" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -112,8 +113,8 @@ msgid "Active" msgstr "Aktivní" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Vypnuto" @@ -126,7 +127,7 @@ msgstr "Zrušení přidělování" msgid "Decommissioned" msgstr "Vyřazeno z provozu" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primární" @@ -152,7 +153,7 @@ msgstr "Neaktivní" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Region (ID)" @@ -164,7 +165,7 @@ msgstr "Region (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Region (zkratka)" @@ -189,11 +190,11 @@ msgstr "Skupina stránek (ID)" #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 msgid "Site group (slug)" -msgstr "Skupina stránek (slimák)" +msgstr "Skupina stránek (slug)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -259,9 +260,9 @@ msgstr "Stránky" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" -msgstr "Místo (slimák)" +msgstr "Místo (slug)" #: netbox/circuits/filtersets.py:67 msgid "ASN (ID)" @@ -284,7 +285,7 @@ msgstr "Poskytovatel (ID)" #: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:289 #: netbox/circuits/filtersets.py:331 netbox/ipam/filtersets.py:249 msgid "Provider (slug)" -msgstr "Poskytovatel (slimák)" +msgstr "Poskytovatel (slug)" #: netbox/circuits/filtersets.py:167 msgid "Provider account (ID)" @@ -313,7 +314,7 @@ msgstr "Typ okruhu (URL zkratka)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Stránky (ID)" @@ -332,13 +333,13 @@ msgstr "Zakončení A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -347,7 +348,7 @@ msgstr "Vyhledávání" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -382,7 +383,7 @@ msgstr "Skupina obvodů (ID)" #: netbox/circuits/filtersets.py:351 msgid "Circuit group (slug)" -msgstr "Skupina obvodů (slimák)" +msgstr "Skupina okruhů (slug)" #: netbox/circuits/forms/bulk_edit.py:30 #: netbox/circuits/forms/filtersets.py:56 @@ -531,9 +532,9 @@ msgstr "Popis" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -570,9 +571,9 @@ msgstr "ID služby" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -585,7 +586,7 @@ msgid "Color" msgstr "Barva" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -608,7 +609,7 @@ msgstr "Barva" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -642,14 +643,14 @@ msgid "Type" msgstr "Typ" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Účet poskytovatele" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -665,8 +666,8 @@ msgstr "Účet poskytovatele" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -695,7 +696,7 @@ msgstr "Účet poskytovatele" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -719,8 +720,8 @@ msgstr "Stav" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -886,21 +887,21 @@ msgstr "Podrobnosti o zakončení" msgid "Priority" msgstr "Priorita" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Přiřazený poskytovatel" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Přiřazený účet poskytovatele" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Typ okruhu" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -912,8 +913,8 @@ msgstr "Typ okruhu" msgid "Operational status" msgstr "Provozní stav" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -929,7 +930,7 @@ msgstr "Provozní stav" msgid "Assigned tenant" msgstr "Přidělený nájemce" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -937,7 +938,7 @@ msgstr "Přidělený nájemce" msgid "Termination" msgstr "Zakončení" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1093,7 +1094,7 @@ msgstr "Strana termínu" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Přiřazení" @@ -1148,11 +1149,11 @@ msgid "Circuit Group" msgstr "Skupina okruhů" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1175,9 +1176,9 @@ msgid "Unique circuit ID" msgstr "Jedinečné ID obvodu" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1271,7 +1272,7 @@ msgstr "ID propojovacího panelu a číslo portu/ů" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1309,11 +1310,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1351,7 +1352,7 @@ msgstr "Celé jméno poskytovatele" #: netbox/tenancy/models/tenants.py:49 netbox/vpn/models/l2vpn.py:27 #: netbox/wireless/models.py:56 msgid "slug" -msgstr "slimák" +msgstr "slug" #: netbox/circuits/models/providers.py:42 msgid "provider" @@ -1397,11 +1398,11 @@ msgstr "sítě poskytovatelů" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1539,8 +1540,8 @@ msgstr "Míra odevzdání" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1617,8 +1618,8 @@ msgstr "Dokončeno" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Neuspěl" @@ -1684,42 +1685,42 @@ msgstr "Zastaveno" msgid "Cancelled" msgstr "Zrušeno" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Místní" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Uživatelské jméno" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Používá se pouze pro klonování pomocí HTTP (S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Heslo" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Větev" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Načítání vzdálených dat se nezdařilo ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "ID přístupového klíče AWS" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Tajný přístupový klíč AWS" @@ -1774,7 +1775,7 @@ msgstr "Uživatelské jméno" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1888,7 +1889,7 @@ msgstr "Dokončeno dříve" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Uživatel" @@ -1943,7 +1944,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Výšky stojanů" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1986,7 +1987,7 @@ msgstr "Uživatelské předvolby" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Různé" @@ -2045,7 +2046,7 @@ msgid "Change logging is not supported for this object type ({type})." msgstr "Protokolování změn není u tohoto typu objektu podporováno ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2082,20 +2083,20 @@ msgid "Config revision #{id}" msgstr "Revize konfigurace #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2110,8 +2111,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2224,58 +2225,58 @@ msgstr "spravovaný soubor" msgid "managed files" msgstr "spravované soubory" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "naplánováno" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "interval" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Interval opakování (v minutách)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "začal" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "dokončena" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "data" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "chyba" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "ID úlohy" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "práce" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "pracovní místa" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "K tomuto typu objektu nelze přiřadit úlohy ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "Neplatný stav pro ukončení úlohy. Možnosti jsou: {choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "enqueue () nelze volat s hodnotami pro schedule_at a instant." @@ -2324,7 +2325,7 @@ msgid "Last updated" msgstr "Naposledy aktualizováno" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2516,7 +2517,7 @@ msgid "Staging" msgstr "Inscenace" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Vyřazení z provozu" @@ -2580,17 +2581,17 @@ msgstr "Zastaralé" msgid "Millimeters" msgstr "Milimetry" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "palce" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" -msgstr "Přední dozadu" +msgstr "Zepředu dozadu" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Zezadu dopředu" @@ -2603,8 +2604,8 @@ msgstr "Zezadu dopředu" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2639,7 +2640,7 @@ msgstr "Dítě" #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" -msgstr "Fronta" +msgstr "Přední" #: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 #: netbox/templates/dcim/rack.html:139 @@ -2648,7 +2649,7 @@ msgstr "Fronta" msgid "Rear" msgstr "Zadní" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Inscenovaný" @@ -2657,67 +2658,79 @@ msgstr "Inscenovaný" msgid "Inventory" msgstr "Inventář" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Zleva doprava" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Zprava doleva" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Ze strany dozadu" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "Zezadu na stranu" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "Zdola nahoru" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "Nahoru dolů" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "pasivní" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Smíšené" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (bez blokování)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (zamykání)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Kalifornský styl" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "Mezinárodní/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Proprietární" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Ostatní" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/Mezinárodní" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Fyzické" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Virtuální" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2725,13 +2738,13 @@ msgstr "Virtuální" msgid "Wireless" msgstr "Bezdrátové" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Virtuální rozhraní" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2739,27 +2752,27 @@ msgstr "Virtuální rozhraní" msgid "Bridge" msgstr "Most" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Agregační skupina (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (pevný)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modulární)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (propojovací deska)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Buněčný" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2767,130 +2780,130 @@ msgstr "Buněčný" msgid "Serial" msgstr "Sériový" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Koaxiální" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "Stohování" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Poloviční" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Plný" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Přístup" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Označeno" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Označeno (Vše)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "Norma IEEE" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "Pasivní 24V (2 páry)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "Pasivní 24V (4 páry)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "Pasivní 48V (2 páry)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "Pasivní 48V (4 páry)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "měď" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Optická vlákna" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Vlákno" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Připojeno" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometry" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Metry" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Centimetry" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Míle" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Stopy" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogramy" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Gramy" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "libry" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Unce" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Redundantní" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Jednofázový" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Třífázový" @@ -2927,7 +2940,7 @@ msgstr "Skupina (ID)" #: netbox/dcim/filtersets.py:170 msgid "Group (slug)" -msgstr "Skupina (slimák)" +msgstr "Skupina (slug)" #: netbox/dcim/filtersets.py:176 netbox/dcim/filtersets.py:181 msgid "AS (ID)" @@ -2939,7 +2952,7 @@ msgstr "Nadřazené umístění (ID)" #: netbox/dcim/filtersets.py:252 msgid "Parent location (slug)" -msgstr "Rodičovské umístění (slimák)" +msgstr "Rodičovské umístění (slug)" #: netbox/dcim/filtersets.py:258 netbox/dcim/filtersets.py:369 #: netbox/dcim/filtersets.py:490 netbox/dcim/filtersets.py:1057 @@ -2951,7 +2964,7 @@ msgstr "Umístění (ID)" #: netbox/dcim/filtersets.py:497 netbox/dcim/filtersets.py:1410 #: netbox/extras/filtersets.py:542 msgid "Location (slug)" -msgstr "Umístění (slimák)" +msgstr "Umístění (slug)" #: netbox/dcim/filtersets.py:296 netbox/dcim/filtersets.py:381 #: netbox/dcim/filtersets.py:539 netbox/dcim/filtersets.py:678 @@ -2967,11 +2980,11 @@ msgstr "Výrobce (ID)" #: netbox/dcim/filtersets.py:979 netbox/dcim/filtersets.py:1312 #: netbox/dcim/filtersets.py:1846 msgid "Manufacturer (slug)" -msgstr "Výrobce (slimák)" +msgstr "Výrobce (slug)" #: netbox/dcim/filtersets.py:393 msgid "Rack type (slug)" -msgstr "Typ stojanu (slimák)" +msgstr "Typ stojanu (slug)" #: netbox/dcim/filtersets.py:397 msgid "Rack type (ID)" @@ -2990,7 +3003,7 @@ msgstr "Role (ID)" #: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:1009 #: netbox/virtualization/filtersets.py:216 msgid "Role (slug)" -msgstr "Role (slimák)" +msgstr "Role (slug)" #: netbox/dcim/filtersets.py:447 netbox/dcim/filtersets.py:1062 #: netbox/dcim/filtersets.py:1415 netbox/dcim/filtersets.py:2244 @@ -3010,7 +3023,7 @@ msgstr "Výchozí platforma (ID)" #: netbox/dcim/filtersets.py:555 msgid "Default platform (slug)" -msgstr "Výchozí platforma (slimák)" +msgstr "Výchozí platforma (slug)" #: netbox/dcim/filtersets.py:558 netbox/dcim/forms/filtersets.py:517 msgid "Has a front image" @@ -3094,7 +3107,7 @@ msgstr "Konfigurační šablona (ID)" #: netbox/dcim/filtersets.py:985 msgid "Device type (slug)" -msgstr "Typ zařízení (slimák)" +msgstr "Typ zařízení (slug)" #: netbox/dcim/filtersets.py:1005 msgid "Parent Device (ID)" @@ -3113,7 +3126,7 @@ msgstr "Platforma (URL zkratka)" #: netbox/dcim/filtersets.py:1934 netbox/dcim/filtersets.py:2176 #: netbox/dcim/filtersets.py:2235 msgid "Site name (slug)" -msgstr "Název lokality (slimák)" +msgstr "Název lokality (slug)" #: netbox/dcim/filtersets.py:1067 msgid "Parent bay (ID)" @@ -3126,7 +3139,7 @@ msgstr "Cluster virtuálních počítačů (ID)" #: netbox/dcim/filtersets.py:1077 netbox/extras/filtersets.py:591 #: netbox/virtualization/filtersets.py:136 msgid "Cluster group (slug)" -msgstr "Skupina klastru (slimák)" +msgstr "Skupina klastru (slug)" #: netbox/dcim/filtersets.py:1082 netbox/virtualization/filtersets.py:130 msgid "Cluster group (ID)" @@ -3134,7 +3147,7 @@ msgstr "Skupina clusteru (ID)" #: netbox/dcim/filtersets.py:1088 msgid "Device model (slug)" -msgstr "Model zařízení (slimák)" +msgstr "Model zařízení (slug)" #: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/bulk_edit.py:516 msgid "Is full depth" @@ -3142,7 +3155,7 @@ msgstr "Je plná hloubka" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3186,7 +3199,7 @@ msgid "Device model" msgstr "Model zařízení" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Rozhraní (ID)" @@ -3200,8 +3213,8 @@ msgstr "Modulová přihrádka (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Zařízení (ID)" @@ -3210,8 +3223,8 @@ msgid "Rack (name)" msgstr "Stojan (název)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Zařízení (název)" @@ -3225,7 +3238,7 @@ msgstr "Role zařízení (ID)" #: netbox/dcim/filtersets.py:1453 msgid "Device role (slug)" -msgstr "Role zařízení (slimák)" +msgstr "Role zařízení (slug)" #: netbox/dcim/filtersets.py:1458 msgid "Virtual Chassis (ID)" @@ -3261,8 +3274,8 @@ msgstr "Přiřazené VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3298,7 +3311,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3354,7 +3367,7 @@ msgstr "Kontext virtuálního zařízení (identifikátor)" msgid "Wireless LAN" msgstr "Bezdrátová síť LAN" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Bezdrátové spojení" @@ -3382,14 +3395,14 @@ msgstr "Mistr (ID)" msgid "Master (name)" msgstr "Mistr (jméno)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Nájemce (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" -msgstr "Nájemce (slimák)" +msgstr "Nájemce (slug)" #: netbox/dcim/filtersets.py:1981 netbox/dcim/forms/filtersets.py:1077 msgid "Unterminated" @@ -3414,7 +3427,7 @@ msgstr "Značky" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3463,8 +3476,8 @@ msgstr "Časové pásmo" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3528,7 +3541,7 @@ msgstr "Hloubka montáže" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3589,8 +3602,8 @@ msgstr "Číslování" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3698,12 +3711,12 @@ msgstr "Číslo dílu" msgid "U height" msgstr "Výška U pozic" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Vyloučit z využití" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3792,10 +3805,10 @@ msgstr "Nástupiště" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3922,8 +3935,8 @@ msgid "Maximum draw" msgstr "Maximální příkon" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Maximální příkon (W)" @@ -3932,8 +3945,8 @@ msgid "Allocated draw" msgstr "Přidělený příkon" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Přidělený příkon (W)" @@ -3954,16 +3967,16 @@ msgstr "Pouze správa" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "Režim PoE" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "Typ PoE" @@ -3987,7 +4000,7 @@ msgstr "Bezdrátová role" msgid "Module" msgstr "Modul" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "Agregační skupina" @@ -3999,7 +4012,7 @@ msgstr "Kontexty virtuálních zařízení" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4046,7 +4059,7 @@ msgid "Wireless LAN group" msgstr "Skupina bezdrátových sítí" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4432,7 +4445,7 @@ msgstr "Odpovídající zadní port" msgid "Physical medium classification" msgstr "Klasifikace fyzického média" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Nainstalované zařízení" @@ -4521,7 +4534,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "Zakončení strany {side_upper} nebylo nalezeno: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4573,7 +4586,7 @@ msgstr "Primární IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "IPv6 adresa s délkou předpony, např. 2001:db8: :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4736,7 +4749,7 @@ msgid "Mgmt only" msgstr "Pouze správa" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4769,7 +4782,7 @@ msgstr "Vysílací výkon (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "objeveno" @@ -4918,7 +4931,7 @@ msgid "Front Port" msgstr "Přední port" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5054,7 +5067,7 @@ msgstr "" "Počet předních portů, které mají být vytvořeny ({frontport_count}), musí " "odpovídat zvolenému počtu pozic zadních portů ({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5077,7 +5090,7 @@ msgstr "Pro prvního člena virtuálnáho šasi musí být specifikována pozice #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "štítek" @@ -5180,7 +5193,7 @@ msgstr "" "typu modulu." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Fyzický popisek" @@ -5203,135 +5216,135 @@ msgstr "" "Šablona komponenty musí být přiřazena buď k typu zařízení, nebo k typu " "modulu." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "šablona portu konzoly" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "šablony portů konzoly" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "šablona portu konzolového serveru" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "šablony portů konzolového serveru" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "maximální příkon" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "přidělený příkon" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "šablona napájecího portu" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "šablony napájecích portů" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "Přidělený příkon nesmí překročit maximální příkon ({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "napájecí větev" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Fáze (pro třífázové napájení)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "šablona elektrické zásuvky" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "šablony zásuvek" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Rodičovský napájecí port ({power_port}) musí patřit ke stejnému typu " "zařízení" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Rodičovský napájecí port ({power_port}) musí patřit ke stejnému typu modulu" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "pouze řízení" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "rozhraní mostu" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "bezdrátová role" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "šablona rozhraní" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "šablony rozhraní" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Rozhraní nemůže být přemostěno samo od sebe." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "Rozhraní můstku ({bridge}) musí patřit ke stejnému typu zařízení" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Rozhraní můstku ({bridge}) musí patřit ke stejnému typu modulu" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "pozice zadního portu" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "šablona předního portu" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "šablony předního portu" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Zadní port ({name}) musí patřit ke stejnému typu zařízení" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5340,48 +5353,48 @@ msgstr "" "Neplatná poloha zadního portu ({position}); zadní port {name} má pouze " "{count} pozice" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "pozice" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "šablona zadního portu" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "šablony zadních portů" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "pozice" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Identifikátor, na který se má odkazovat při přejmenování nainstalovaných " "komponent" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "šablona moduární šachty" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "šablony modulárních šachet" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "šablona pozice zařízení" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "šablony rozvaděčů zařízení" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5390,206 +5403,206 @@ msgstr "" "Role dílčího zařízení typu zařízení ({device_type}) musí být nastaveno na " "„rodič“, aby bylo možné povolit pozice zařízení." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "ID součásti" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Identifikátor součásti přiřazený výrobcem" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "šablona položky inventáře" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "šablony položek inventáře" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Komponenty nelze přesunout do jiného zařízení." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "konec kabelu" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "označit připojený" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Považovat za připojený" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "Při připojování kabelu je nutné zadat konec kabelu (A nebo B)." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "Konec kabelu nesmí být nastaven bez kabelu." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Nelze označit jako připojený s připojeným kabelem." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} modely musí deklarovat vlastnost parent_object" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Fyzický typ portu" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "rychlost" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Rychlost portu v bitech za sekundu" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "konzolový port" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "konzolové porty" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "port konzolového serveru" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "porty konzolového serveru" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "napájecí port" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "napájecí porty" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "elektrická zásuvka" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "elektrické zásuvky" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Rodičovský napájecí port ({power_port}) musí patřit ke stejnému zařízení" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "režim" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "Strategie označování IEEE 802.1Q" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "nadřazené rozhraní" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "nadřazená MAS" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Toto rozhraní se používá pouze pro správu mimo pásmo" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "Rychlost (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "duplexní" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64bitový celosvětový název" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "bezdrátový kanál" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "frekvence kanálu (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Vyplněno vybraným kanálem (pokud je nastaven)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "vysílací výkon (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "bezdrátové sítě LAN" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "neoznačené VLAN" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "označené VLAN" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "rozhraní" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "rozhraní" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} Rozhraní nemůže mít připojený kabel." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type} rozhraní nelze označit jako připojená." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Rozhraní nemůže být svým vlastním rodičem." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "K nadřazenému rozhraní lze přiřadit pouze virtuální rozhraní." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5597,7 +5610,7 @@ msgid "" msgstr "" "Vybrané nadřazené rozhraní ({interface}) patří k jinému zařízení ({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5606,7 +5619,7 @@ msgstr "" "Vybrané nadřazené rozhraní ({interface}) patří {device}, která není součástí" " virtuálního podvozku {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5614,7 +5627,7 @@ msgid "" msgstr "" "Vybrané rozhraní můstku ({bridge}) patří k jinému zařízení ({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5623,21 +5636,21 @@ msgstr "" "Vybrané rozhraní můstku ({interface}) patří {device}, která není součástí " "virtuálního podvozku {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "Virtuální rozhraní nemohou mít nadřazené rozhraní LAG." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Rozhraní MAS nemůže být vlastním rodičem." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "Vybrané rozhraní LAG ({lag}) patří k jinému zařízení ({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5646,44 +5659,44 @@ msgstr "" "Vybrané rozhraní LAG ({lag}) patří {device}, která není součástí virtuálního" " podvozku {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Virtuální rozhraní nemohou mít režim PoE." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Virtuální rozhraní nemohou mít typ PoE." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "Při určování typu PoE musí specifikovat režim PoE." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" "Role bezdrátové sítě může být nastavena pouze na bezdrátových rozhraních." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Kanál lze nastavit pouze na bezdrátových rozhraních." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "Frekvence kanálu může být nastavena pouze na bezdrátových rozhraních." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "Nelze určit vlastní frekvenci s vybraným kanálem." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "Šířku kanálu lze nastavit pouze na bezdrátových rozhraních." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "Nelze určit vlastní šířku s vybraným kanálem." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5692,24 +5705,24 @@ msgstr "" "Neznačená VLAN ({untagged_vlan}) musí patřit ke stejnému webu jako nadřazené" " zařízení rozhraní, nebo musí být globální." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Mapovaná poloha na odpovídajícím zadním portu" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "přední port" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "přední porty" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Zadní port ({rear_port}) musí patřit ke stejnému zařízení" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5718,19 +5731,19 @@ msgstr "" "Neplatná poloha zadního portu ({rear_port_position}): Zadní port {name} má " "pouze {positions} pozice." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Počet předních portů, které lze mapovat" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "zadní port" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "zadní porty" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5739,97 +5752,97 @@ msgstr "" "Počet pozic nesmí být menší než počet mapovaných předních portů " "({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "přihrádka modulů" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "pozice modulů" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "Pozice modulu nemůže patřit k modulu nainstalovanému v ní." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "pozice zařízení" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "pozice zařízení" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "Tento typ zařízení ({device_type}) nepodporuje pozice zařízení." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Nelze nainstalovat zařízení do sebe." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." msgstr "" "Nelze nainstalovat určené zařízení; zařízení je již nainstalováno {bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "role položky inventáře" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "role položek zásob" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "sériové číslo" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "štítek majetku" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Jedinečná značka použitá k identifikaci této položky" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "objeveny" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Tato položka byla automaticky objevena" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "položka inventáře" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "inventární položky" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Nelze přiřadit sebe jako rodiče." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "Nadřazená položka inventáře nepatří do stejného zařízení." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "Nelze přesunout položku inventáře se závislými podřízenými" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "Nelze přiřadit skladovou položku ke komponentě na jiném zařízení" @@ -5977,7 +5990,7 @@ msgstr "Funkce, kterou toto zařízení slouží" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Sériové číslo podvozku přidělené výrobcem" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Jedinečná značka použitá k identifikaci tohoto zařízení" @@ -5989,12 +6002,12 @@ msgstr "poloha (U)" msgid "rack face" msgstr "plocha stojanu" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "primární IPv4" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "primární IPv6" @@ -6139,15 +6152,24 @@ msgstr "Přiřazený cluster patří do jiné lokality ({site})" msgid "A device assigned to a virtual chassis must have its position defined." msgstr "Zařízení přiřazené k virtuálnímu šasi musí mít definovanou polohu." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Zařízení nelze odebrat z virtuálního šasi {virtual_chassis} protože je v " +"současné době označen jako jeho pán." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "modul" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "moduly" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6155,22 +6177,22 @@ msgid "" msgstr "" "Modul musí být instalován v modulu patřící přiřazenému zařízení ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "doména" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "virtuální podvozek" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "Vybraný master ({master}) není přiřazena k tomuto virtuálnímu podvozku." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6179,34 +6201,34 @@ msgstr "" "Nelze odstranit virtuální šasi {self}. Existují členská rozhraní, která " "tvoří rozhraní LAG napříč podvozky." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identifikátor" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Numerický identifikátor jedinečný pro nadřazené zařízení" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "komentáře" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "kontext virtuálního zařízení" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "kontexty virtuálních zařízení" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} není IPV{family} adresa." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "Primární IP adresa musí patřit k rozhraní na přiřazeném zařízení." @@ -6630,7 +6652,7 @@ msgstr "Konfigurační šablona" msgid "Site Group" msgstr "Skupina stránek" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6639,12 +6661,12 @@ msgstr "Skupina stránek" msgid "IP Address" msgstr "IP adresa" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4 Adresa" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Adresa IPv6" @@ -6682,8 +6704,8 @@ msgstr "Napájecí porty" msgid "Power outlets" msgstr "Elektrické zásuvky" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6721,8 +6743,8 @@ msgstr "Inventární položky" msgid "Module Bay" msgstr "Modulová přihrádka" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6780,75 +6802,75 @@ msgstr "Skupiny FHRP" msgid "Tunnel" msgstr "Tunel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Pouze správa" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Instalovaný modul" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Sériový modul" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Štítek aktiv modulu" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Stav modulu" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Komponenta" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Položky" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Typy zařízení" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Typy modulů" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Platformy" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Výchozí platforma" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Plná hloubka" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "Výška U" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Instance" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6859,7 +6881,7 @@ msgstr "Instance" msgid "Console Ports" msgstr "Porty konzoly" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6870,7 +6892,7 @@ msgstr "Porty konzoly" msgid "Console Server Ports" msgstr "Porty konzolového serveru" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6881,7 +6903,7 @@ msgstr "Porty konzolového serveru" msgid "Power Ports" msgstr "Napájecí porty" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6892,7 +6914,7 @@ msgstr "Napájecí porty" msgid "Power Outlets" msgstr "Napájecí zásuvky" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6902,7 +6924,7 @@ msgstr "Napájecí zásuvky" msgid "Front Ports" msgstr "Přední porty" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6913,7 +6935,7 @@ msgstr "Přední porty" msgid "Rear Ports" msgstr "Zadní porty" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6921,7 +6943,7 @@ msgstr "Zadní porty" msgid "Device Bays" msgstr "Pozice pro zařízení" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7361,81 +7383,81 @@ msgstr "Typ widgetu" msgid "Unregistered widget class: {name}" msgstr "Neregistrovaná třída widgetu: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} musí definovat metodu render ()." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Poznámka" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "Zobrazí nějaký libovolný vlastní obsah. Markdown je podporován." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Počty objektů" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." msgstr "Zobrazí sadu modelů NetBox a počet objektů vytvořených pro každý typ." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Filtry, které se použijí při počítání počtu objektů" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "Neplatný formát. Objektové filtry musí být předány jako slovník." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Seznam objektů" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Zobrazí libovolný seznam objektů." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Výchozí počet objektů k zobrazení" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "Neplatný formát. Parametry URL musí být předány jako slovník." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "RSS kanál" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Vložte kanál RSS z externího webu." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "Adresa URL zdroje" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Maximální počet objektů, které se mají zobrazit" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "Jak dlouho uložit obsah uložený v mezipaměti (v sekundách)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Záložky" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Zobrazit své osobní záložky" @@ -7471,17 +7493,17 @@ msgstr "Typ clusteru" #: netbox/extras/filtersets.py:580 netbox/virtualization/filtersets.py:95 #: netbox/virtualization/filtersets.py:147 msgid "Cluster type (slug)" -msgstr "Typ klastru (slimák)" +msgstr "Typ klastru (slug)" #: netbox/extras/filtersets.py:601 netbox/tenancy/forms/forms.py:16 #: netbox/tenancy/forms/forms.py:39 msgid "Tenant group" msgstr "Skupina nájemců" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" -msgstr "Skupina nájemců (slimák)" +msgstr "Skupina nájemců (slug)" #: netbox/extras/filtersets.py:623 netbox/extras/forms/model_forms.py:495 #: netbox/templates/extras/tag.html:11 @@ -7490,7 +7512,7 @@ msgstr "Značka" #: netbox/extras/filtersets.py:629 msgid "Tag (slug)" -msgstr "Štítek (slimák)" +msgstr "Štítek (slug)" #: netbox/extras/filtersets.py:689 netbox/extras/forms/filtersets.py:429 msgid "Has local config context data" @@ -7616,7 +7638,7 @@ msgstr "Je aktivní" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Typy objektů" @@ -7715,8 +7737,8 @@ msgstr "Klasifikace vstupu" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Uživatelé" @@ -7728,8 +7750,8 @@ msgstr "Uživatelská jména oddělená čárkami, uzavřená dvojitými uvozovk #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Skupiny" @@ -8439,10 +8461,19 @@ msgstr "vlastní sada výběru polí" msgid "custom field choice sets" msgstr "vlastní sady výběru polí" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Musí definovat základní nebo další možnosti." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Nelze odebrat volbu {choice} jak existují {model} objekty, které na něj " +"odkazují." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "rozložení" @@ -9014,64 +9045,64 @@ msgstr "Zpráva" msgid "Method" msgstr "Metoda" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Ujistěte se, že tato hodnota se rovná %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Ujistěte se, že tato hodnota není stejná %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Toto pole musí být prázdné." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Toto pole nesmí být prázdné." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Ověřovací pravidla musí být předána jako slovník" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "Vlastní ověření se nezdařilo pro {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Neplatný atribut“{name}„na vyžádání" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Neplatný atribut“{name}„pro {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Váš řídicí panel byl resetován." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Přidán widget: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Aktualizovaný widget: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Odstraněný widget: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Chyba při mazání widgetu: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "Nelze spustit skript: Proces RQ Worker není spuštěn." @@ -9140,19 +9171,19 @@ msgstr "Prostý text" msgid "Invalid IP address format: {address}" msgstr "Neplatný formát IP adresy: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Cíl importu" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Cíl importu (název)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Cíl exportu" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Cíl exportu (název)" @@ -9202,7 +9233,7 @@ msgstr "RIR (ID)" #: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204 #: netbox/ipam/filtersets.py:227 msgid "RIR (slug)" -msgstr "RIR (slimák)" +msgstr "RIR (slug)" #: netbox/ipam/filtersets.py:285 msgid "Within prefix" @@ -9222,11 +9253,11 @@ msgstr "Předpony, které obsahují tuto předponu nebo IP" msgid "Mask length" msgstr "Délka masky" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "Číslo VLAN (1-4094)" @@ -9246,23 +9277,23 @@ msgid "Parent prefix" msgstr "Nadřazená předpona" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Virtuální počítač (název)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Virtuální počítač (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Rozhraní (název)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "Rozhraní virtuálního počítače (název)" @@ -9290,19 +9321,27 @@ msgstr "Služba (ID)" msgid "NAT inside IP address (ID)" msgstr "NAT uvnitř IP adresy (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Přiřazené rozhraní" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Přiřazené rozhraní virtuálního počítače" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "IP adresa (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "IP adresa" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "Primární IPv4 (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "Primární IPv6 (ID)" @@ -9356,7 +9395,7 @@ msgstr "Je soukromý" #: netbox/templates/ipam/asn.html:27 netbox/templates/ipam/asnrange.html:19 #: netbox/templates/ipam/rir.html:19 msgid "RIR" -msgstr "ZVRHNOUT" +msgstr "RIR" #: netbox/ipam/forms/bulk_edit.py:170 msgid "Date added" @@ -9516,10 +9555,6 @@ msgstr "Virtuální stroj" msgid "Parent VM of assigned interface (if any)" msgstr "Nadřazený virtuální počítač přiřazeného rozhraní (pokud existuje)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Přiřazené rozhraní" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Je primární" @@ -11076,9 +11111,9 @@ msgstr "Administrátor" msgid "API Tokens" msgstr "Tokeny API" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Oprávnění" @@ -11226,63 +11261,63 @@ msgstr "Po inicializaci nelze do registru přidat úložiště" msgid "Cannot delete stores from registry" msgstr "Nelze odstranit obchody z registru" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "Čeština" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "Dánština" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "Němčina" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "Angličtina" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "Španělština" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "Francouzština" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "Italština" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "Japonština" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "Holandština" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "Polština" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "Portugalština" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "Ruština" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "Turečtina" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "Ukrajinština" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "Čínština" @@ -11647,7 +11682,7 @@ msgstr "NetBox Logo" #: netbox/templates/base/layout.html:150 netbox/templates/base/layout.html:151 msgid "Docs" -msgstr "Doktoři" +msgstr "Dokumentace" #: netbox/templates/base/layout.html:156 netbox/templates/base/layout.html:157 #: netbox/templates/rest_framework/api.html:10 @@ -12489,7 +12524,7 @@ msgstr "Mateřská zátoka" #: netbox/templates/dcim/device_edit.html:48 #: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" -msgstr "Regenerujte slimáka" +msgstr "Přegenerovat slug" #: netbox/templates/dcim/device_edit.html:49 #: netbox/templates/generic/bulk_remove.html:21 @@ -12952,7 +12987,7 @@ msgstr "Přidat nového člena" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Akce" @@ -14003,7 +14038,7 @@ msgstr "" "Klepněte na tlačítko tady pokusit se znovu " "načíst NetBox." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14032,7 +14067,7 @@ msgid "Add Contact Group" msgstr "Přidat skupinu kontaktů" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Kontaktní role" @@ -14070,7 +14105,7 @@ msgid "View" msgstr "Pohled" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Omezení" @@ -14097,11 +14132,6 @@ msgstr "Paměť" msgid "Disk Space" msgstr "Místo na disku" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Přidat virtuální počítač" @@ -14342,59 +14372,59 @@ msgstr "Vlastnosti odkazu" msgid "Distance" msgstr "Vzdálenost" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Rodičovská kontaktní skupina (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Rodičovská kontaktní skupina (slimák)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Kontaktní skupina (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" -msgstr "Kontaktní skupina (slimák)" +msgstr "Kontaktní skupina (slug)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Kontakt (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Kontaktní role (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" -msgstr "Kontaktní role (slimák)" +msgstr "Kontaktní role (slug)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Kontaktní skupina" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Nadřazená skupina nájemců (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Nadřazená skupina nájemců (slimák)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Skupina nájemců (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Skupina nájemců (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" -msgstr "Skupina nájemců (slimák)" +msgstr "Skupina nájemců (slug)" #: netbox/tenancy/forms/bulk_edit.py:66 msgid "Desciption" @@ -14557,11 +14587,11 @@ msgstr "Může se změnit" msgid "Can Delete" msgstr "Může smazat" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Uživatelské rozhraní" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14571,7 +14601,7 @@ msgstr "" "klíč před odesláním tohoto formuláře, protože po vytvoření tokenu " "již nemusí být přístupný." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14581,31 +14611,31 @@ msgstr "" "omezení. Příklad: 10.1.1.0/24,192.168.10.16/32,2001: db 8:1: " ":/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Potvrdit heslo" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Pro ověření zadejte stejné heslo jako dříve." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "Hesla se neshodují! Zkontrolujte prosím svůj vstup a zkuste to znovu." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Další akce" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Opatření udělená navíc k výše uvedeným opatřením" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Objekty" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14615,11 +14645,11 @@ msgstr "" "hodnotu null, aby odpovídala všem objektům tohoto typu. Seznam více objektů " "bude mít za následek logickou operaci OR." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Musí být vybrána alespoň jedna akce." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Neplatný filtr pro {model}: {error}" @@ -14874,7 +14904,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Neplatná hodnota pro pole s více možnostmi volby: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Objekt nenalezen: %(value)s" @@ -14887,11 +14917,16 @@ msgid "" msgstr "" "„{value}„není jedinečná hodnota pro toto pole; bylo nalezeno více objektů" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "„{field_name}„je neplatný název pole pro přístup." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Typ objektu musí být zadán jako“.„" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Neplatný typ objektu" @@ -15193,7 +15228,7 @@ msgstr "Nadřazená skupina (ID)" #: netbox/virtualization/filtersets.py:85 msgid "Parent group (slug)" -msgstr "Rodičovská skupina (slimák)" +msgstr "Rodičovská skupina (slug)" #: netbox/virtualization/filtersets.py:89 #: netbox/virtualization/filtersets.py:141 @@ -15476,19 +15511,19 @@ msgstr "Podpisy DSA" msgid "Group {n}" msgstr "Skupina {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Ethernetová soukromá síť LAN" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Ethernetová virtuální privátní síť LAN" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Ethernetový soukromý strom" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Virtuální privátní strom Ethernetu" @@ -15498,7 +15533,7 @@ msgstr "Skupina tunelů (ID)" #: netbox/vpn/filtersets.py:47 msgid "Tunnel group (slug)" -msgstr "Skupina tunelů (slimák)" +msgstr "Skupina tunelů (slug)" #: netbox/vpn/filtersets.py:54 msgid "IPSec profile (ID)" @@ -15520,33 +15555,31 @@ msgstr "Tunel (název)" msgid "Outside IP (ID)" msgstr "Vnější IP (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "Zásady IKE (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "Zásady IKE (název)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "Zásady IPsec (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "Zásada IPsec (název)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" -msgstr "L2VPN (slimák)" +msgstr "L2VPN (slug)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "Rozhraní virtuálního počítače (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (název)" diff --git a/netbox/translations/da/LC_MESSAGES/django.po b/netbox/translations/da/LC_MESSAGES/django.po index a3eb24b39..14e00591d 100644 --- a/netbox/translations/da/LC_MESSAGES/django.po +++ b/netbox/translations/da/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-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Danish (https://app.transifex.com/netbox-community/teams/178115/da/)\n" @@ -26,7 +26,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Nøgle" @@ -62,7 +62,7 @@ msgstr "Sidst brugt" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "Tilladte IP'er" @@ -89,8 +89,8 @@ msgstr "Din adgangskode er blevet ændret." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -102,8 +102,8 @@ msgstr "Opretter" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -114,8 +114,8 @@ msgid "Active" msgstr "Aktiv" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Offline" @@ -128,7 +128,7 @@ msgstr "Nedlægger" msgid "Decommissioned" msgstr "Nedlagt" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primær" @@ -154,7 +154,7 @@ msgstr "Inaktiv" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Område (ID)" @@ -166,7 +166,7 @@ msgstr "Område (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Region (slug)" @@ -195,7 +195,7 @@ msgstr "Områdegruppe (slug)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -261,7 +261,7 @@ msgstr "Område" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Område (slug)" @@ -315,7 +315,7 @@ msgstr "Kredsløbstype (slug)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Område (ID)" @@ -334,13 +334,13 @@ msgstr "Afslutning A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -349,7 +349,7 @@ msgstr "Søg" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -533,9 +533,9 @@ msgstr "Beskrivelse" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -572,9 +572,9 @@ msgstr "Tjeneste-id" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -587,7 +587,7 @@ msgid "Color" msgstr "Farve" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -610,7 +610,7 @@ msgstr "Farve" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -644,14 +644,14 @@ msgid "Type" msgstr "Type" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Leverandørkonto" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -667,8 +667,8 @@ msgstr "Leverandørkonto" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -697,7 +697,7 @@ msgstr "Leverandørkonto" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -721,8 +721,8 @@ msgstr "Status" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -888,21 +888,21 @@ msgstr "Oplysninger om opsigelse" msgid "Priority" msgstr "Prioritet" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Tildelt leverandør" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Tildelt leverandørkonto" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Kredsløbstype" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -914,8 +914,8 @@ msgstr "Kredsløbstype" msgid "Operational status" msgstr "Driftsstatus" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -931,7 +931,7 @@ msgstr "Driftsstatus" msgid "Assigned tenant" msgstr "Tildelt lejer" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -939,7 +939,7 @@ msgstr "Tildelt lejer" msgid "Termination" msgstr "Opsigelse" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1095,7 +1095,7 @@ msgstr "Termside" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Opgave" @@ -1150,11 +1150,11 @@ msgid "Circuit Group" msgstr "Kredsløbsgruppe" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1177,9 +1177,9 @@ msgid "Unique circuit ID" msgstr "Unikt kredsløbs-ID" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1273,7 +1273,7 @@ msgstr "Patchpanelets ID og portnummer" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1312,11 +1312,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1400,11 +1400,11 @@ msgstr "leverandørnetværk" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1542,8 +1542,8 @@ msgstr "Forpligtelsesrate" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1620,8 +1620,8 @@ msgstr "Afsluttet" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Mislykkedes" @@ -1687,42 +1687,42 @@ msgstr "Stoppet" msgid "Cancelled" msgstr "Annulleret" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Lokalt" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Brugernavn" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Bruges kun til kloning med HTTP(S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Adgangskode" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Afdeling" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Hentning af fjerndata mislykkedes ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "AWS-adgangsnøgle-id" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "AWS hemmelig adgangsnøgle" @@ -1777,7 +1777,7 @@ msgstr "Brugernavn" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1891,7 +1891,7 @@ msgstr "Færdiggjort før" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Bruger" @@ -1945,7 +1945,7 @@ msgstr "Skal uploade en fil eller vælge en datafil, der skal synkroniseres" msgid "Rack Elevations" msgstr "Rackhøjder" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1988,7 +1988,7 @@ msgstr "Brugerpræferencer" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Diverse" @@ -2047,7 +2047,7 @@ msgid "Change logging is not supported for this object type ({type})." msgstr "Ændringslogføring understøttes ikke for denne objekttype ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2084,20 +2084,20 @@ msgid "Config revision #{id}" msgstr "Konfigurationsrevision #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2112,8 +2112,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2227,58 +2227,58 @@ msgstr "administreret fil" msgid "managed files" msgstr "administrerede filer" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "planlagt" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "interval" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Gentagelsesinterval (i minutter)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "startede" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "afsluttet" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "data" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "fejl" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "job-ID" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "job" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "stillinger" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Job kan ikke tildeles denne objekttype ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "Ugyldig status for opsigelse af job. Valgmulighederne er: {choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2328,7 +2328,7 @@ msgid "Last updated" msgstr "Sidst opdateret" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2520,7 +2520,7 @@ msgid "Staging" msgstr "Iscenesættelse" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Nedlæggelse" @@ -2584,17 +2584,17 @@ msgstr "Forældet" msgid "Millimeters" msgstr "Millimeter" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Tommer" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "Foran til bag" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Bagsiden til forsiden" @@ -2607,8 +2607,8 @@ msgstr "Bagsiden til forsiden" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2652,7 +2652,7 @@ msgstr "Front" msgid "Rear" msgstr "Bageste" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Iscenesat" @@ -2661,67 +2661,79 @@ msgstr "Iscenesat" msgid "Inventory" msgstr "Inventar" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Venstre mod højre" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Højre til venstre" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Side til bagside" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "Bag til side" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "Bund til top" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "Top til bund" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Passiv" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Blandet" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (Ikke-låsende)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (Låsning)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Californiens stil" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "International/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Proprietær" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Andet" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/International" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Fysisk" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Virtuel" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2729,13 +2741,13 @@ msgstr "Virtuel" msgid "Wireless" msgstr "Trådløs" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Virtuelle grænseflader" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2743,27 +2755,27 @@ msgstr "Virtuelle grænseflader" msgid "Bridge" msgstr "Bro" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Link Aggregation Group (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (fast)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modulopbygget)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (bagplan)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Cellulær" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2771,130 +2783,130 @@ msgstr "Cellulær" msgid "Serial" msgstr "Seriel" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Koaksial" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "Stabling" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Halvdelen" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Fuld" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Adgang" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Markeret" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Tagget (Alle)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "IEEE-standard" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "Passiv 24V (2-par)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "Passiv 24V (4-par)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "Passiv 48V (2-par)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "Passiv 48V (4-par)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Kobber" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Fiberoptisk" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Fiber" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Tilsluttet" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometer" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Meter" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Centimeter" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Mil" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Fod" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogram" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Gram" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "pund" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Ounce" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Redundant" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Enkeltfase" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Trefaset" @@ -3146,7 +3158,7 @@ msgstr "Er fuld dybde" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3190,7 +3202,7 @@ msgid "Device model" msgstr "Enhedsmodel" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Grænseflade (ID)" @@ -3204,8 +3216,8 @@ msgstr "Modulplads (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Enhed (ID)" @@ -3214,8 +3226,8 @@ msgid "Rack (name)" msgstr "Rack (navn)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Enhed (navn)" @@ -3265,8 +3277,8 @@ msgstr "Tildelt VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3302,7 +3314,7 @@ msgid "VRF (RD)" msgstr "VRF (RED.)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3358,7 +3370,7 @@ msgstr "Virtuel enhedskontekst (identifikator)" msgid "Wireless LAN" msgstr "Trådløst LAN" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Trådløs forbindelse" @@ -3386,12 +3398,12 @@ msgstr "Master (ID)" msgid "Master (name)" msgstr "Master (navn)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Lejer (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Lejer (snegle)" @@ -3418,7 +3430,7 @@ msgstr "Mærker" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3467,8 +3479,8 @@ msgstr "Tidszone" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3532,7 +3544,7 @@ msgstr "Monteringsdybde" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3593,8 +3605,8 @@ msgstr "Nummerering" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3702,12 +3714,12 @@ msgstr "Varenummer" msgid "U height" msgstr "U højde" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Ekskluder fra udnyttelse" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3796,10 +3808,10 @@ msgstr "Platformen" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3926,8 +3938,8 @@ msgid "Maximum draw" msgstr "Maksimal trækning" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Maksimal forbrug (watt)" @@ -3936,8 +3948,8 @@ msgid "Allocated draw" msgstr "Tildelt lodtrækning" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Allokeret forbrug (watt)" @@ -3958,16 +3970,16 @@ msgstr "Kun ledelse" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "PoE-tilstand" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "PoE-type" @@ -3991,7 +4003,7 @@ msgstr "Trådløs rolle" msgid "Module" msgstr "Modul" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "FORSINKELSE" @@ -4003,7 +4015,7 @@ msgstr "Virtuelle enhedskontekster" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4050,7 +4062,7 @@ msgid "Wireless LAN group" msgstr "Trådløs LAN-gruppe" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4436,7 +4448,7 @@ msgstr "Tilsvarende bagport" msgid "Physical medium classification" msgstr "Klassificering af fysisk medium" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Installeret enhed" @@ -4526,7 +4538,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} sideafslutning ikke fundet: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4578,7 +4590,7 @@ msgstr "Primær IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "IPv6-adresse med præfix-længde, fx 2001:db8::1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4741,7 +4753,7 @@ msgid "Mgmt only" msgstr "Kun Mgmt" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4774,7 +4786,7 @@ msgstr "Sendeeffekt (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Opdaget" @@ -4924,7 +4936,7 @@ msgid "Front Port" msgstr "Frontport" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5059,7 +5071,7 @@ msgstr "" "Antallet af frontporte, der skal oprettes ({frontport_count}) skal matche " "det valgte antal bageste portpositioner ({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5083,7 +5095,7 @@ msgstr "En stilling skal specificeres for det første VC-medlem." #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "etiket" @@ -5189,7 +5201,7 @@ msgstr "" "knyttet til en modultype." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Fysisk etiket" @@ -5213,134 +5225,134 @@ msgstr "" "En komponentskabelon skal være tilknyttet enten en enhedstype eller en " "modultype." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "skabelon til konsolport" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "konsolportskabeloner" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "skabelon til konsolserverport" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "skabeloner til konsolserverportskabeloner" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "maksimal trækning" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "tildelt lodtrækning" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "strømstikskabelon" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "strømstikskabeloner" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "Tildelt lodtrækning kan ikke overstige den maksimale trækning " "({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "foderben" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Fase (til trefasefoedninger)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "Strømudtag skabelon" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "strømudtagsskabeloner" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "Hovedstrømstik ({power_port}) skal tilhøre samme enhedstype" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "Hovedstrømstik ({power_port}) skal tilhøre samme modultype" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "Kun ledelse" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "brogrænseflade" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "trådløs rolle" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "grænseflade skabelon" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "interface skabeloner" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "En grænseflade kan ikke kobles til sig selv." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "Brogrænseflade ({bridge}) skal tilhøre samme enhedstype" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Brogrænseflade ({bridge}) skal tilhøre samme modultype" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "bageste portposition" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "skabelon til frontport" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "frontportskabeloner" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Bageste port ({name}) skal tilhøre samme enhedstype" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5349,47 +5361,47 @@ msgstr "" "Ugyldig bageste portposition ({position}); bageste port {name} har kun " "{count} positioner" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "positioner" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "bagport skabelon" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "bageste portskabeloner" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "position" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Identifikator, der skal refereres til, når installerede komponenter omdøbes" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "modulbugtsskabelon" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "modulbugtsskabeloner" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "skabelon til enhedsplads" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "skabeloner til enhedsplads" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5398,205 +5410,205 @@ msgstr "" "Underenhedsrolle for enhedstypen ({device_type}) skal indstilles til " "„forælder“ for at tillade enhedspladser." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "del-ID" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Producenttildelt artikel-id" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "lagervareskabelon" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "lagervareskabeloner" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Komponenter kan ikke flyttes til en anden enhed." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "kabelende" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "mærke tilsluttet" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Behandl som om et kabel er tilsluttet" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "Du skal angive kabelenden (A eller B), når du tilslutter et kabel." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "Kabelenden må ikke indstilles uden et kabel." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Kan ikke markere som tilsluttet med et tilsluttet kabel." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} modeller skal erklære en parent_object egenskab" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Fysisk porttype" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "hastighed" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Porthastighed i bit pr. sekund" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "konsolport" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "konsolporte" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "Konsolserverport" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "konsolserverporte" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "strømstik" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "strømstik" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "strømudtag" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "strømudtag" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "Hovedstrømstik ({power_port}) skal tilhøre den samme enhed" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "tilstand" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "IEEE 802.1Q-mærkningsstrategi" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "forældregrænseflade" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "forældreLAG" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Denne grænseflade bruges kun til administration uden for båndet" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "hastighed (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "duplex" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64-bit verdensomspændende navn" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "trådløs kanal" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "kanalfrekvens (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Udfyldt af valgt kanal (hvis indstillet)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "sendeeffekt (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "trådløse LAN" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "umærket VLAN" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "mærkede VLAN'er" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "grænseflade" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "grænseflader" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} grænseflader kan ikke have et kabel tilsluttet." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type} grænseflader kan ikke markeres som tilsluttet." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "En grænseflade kan ikke være sin egen forælder." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "Kun virtuelle grænseflader kan tildeles en overordnet grænseflade." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5605,7 +5617,7 @@ msgstr "" "Den valgte overordnede grænseflade ({interface}) tilhører en anden enhed " "({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5614,7 +5626,7 @@ msgstr "" "Den valgte overordnede grænseflade ({interface}) tilhører {device}, som ikke" " er en del af det virtuelle chassis {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5622,7 +5634,7 @@ msgid "" msgstr "" "Den valgte brogrænseflade ({bridge}) tilhører en anden enhed ({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5631,22 +5643,22 @@ msgstr "" "Den valgte brogrænseflade ({interface}) tilhører {device}, som ikke er en " "del af det virtuelle chassis {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "Virtuelle grænseflader kan ikke have en overordnet LAG-grænseflade." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "En LAG-grænseflade kan ikke være dens egen overordnede." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "" "Den valgte LAG-grænseflade ({lag}) tilhører en anden enhed ({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5655,43 +5667,43 @@ msgstr "" "Den valgte LAG-grænseflade ({lag}) tilhører {device}, som ikke er en del af " "det virtuelle chassis {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Virtuelle grænseflader kan ikke have en PoE-tilstand." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Virtuelle grænseflader kan ikke have en PoE-type." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "Skal angive PoE-tilstand, når du angiver en PoE-type." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "Trådløs rolle kan kun indstilles på trådløse grænseflader." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Kanal kan kun indstilles på trådløse grænseflader." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "Kanalfrekvensen kan kun indstilles på trådløse grænseflader." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "Kan ikke angive brugerdefineret frekvens med valgt kanal." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "Kanalbredden kan kun indstilles på trådløse grænseflader." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "Kan ikke angive brugerdefineret bredde med valgt kanal." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5700,24 +5712,24 @@ msgstr "" "Den umærkede VLAN ({untagged_vlan}) skal tilhøre det samme område som " "grænsefladens overordnede enhed, eller det skal være globalt." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Kortlagt position på tilsvarende bageste port" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "Frontport" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "frontporte" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Bageste port ({rear_port}) skal tilhøre den samme enhed" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5726,19 +5738,19 @@ msgstr "" "Ugyldig bageste portposition ({rear_port_position}): Bageste port {name} har" " kun {positions} positioner." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Antal frontporte, der kan kortlægges" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "bageste port" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "bageste porte" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5747,37 +5759,37 @@ msgstr "" "Antallet af positioner kan ikke være mindre end antallet af kortlagte " "frontporte ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "modulplads" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "modulpladser" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "En modulplads kan ikke tilhøre et modul, der er installeret i den." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "enhedsplads" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "enhedsbugter" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "Denne type enhed ({device_type}) understøtter ikke enhedsbugter." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Kan ikke installere en enhed i sig selv." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5785,60 +5797,60 @@ msgstr "" "Kan ikke installere den angivne enhed; enheden er allerede installeret i " "{bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "lagervarerolle" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "lagervareroller" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "serienummer" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "aktivmærke" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Et unikt tag, der bruges til at identificere dette element" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "opdaget" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Dette element blev automatisk opdaget" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "lagerpost" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "lagervarer" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Kan ikke tildele mig selv som forælder." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "Overordnet lagervare tilhører ikke den samme enhed." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "Kan ikke flytte en lagervare med afhængige underordnede" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "Kan ikke tildele lagervare til komponent på en anden enhed" @@ -5987,7 +5999,7 @@ msgstr "Funktionen denne enhed tjener" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Chassisserienummer, tildelt af producenten" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Et unikt tag, der bruges til at identificere denne enhed" @@ -5999,12 +6011,12 @@ msgstr "position (U)" msgid "rack face" msgstr "rackflade" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "Primær IPv4" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "Primær IPv6" @@ -6151,15 +6163,24 @@ msgstr "" "En enhed, der er tildelt et virtuelt chassis, skal have sin position " "defineret." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Enheden kan ikke fjernes fra det virtuelle chassis {virtual_chassis} fordi " +"det i øjeblikket er udpeget som sin herre." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "modul" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "moduler" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6168,21 +6189,21 @@ msgstr "" "Modulet skal installeres i en modulplads, der tilhører den tildelte enhed " "({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "domæne" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "virtuelt chassis" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "Den valgte master ({master}) er ikke tildelt dette virtuelle chassis." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6191,34 +6212,34 @@ msgstr "" "Kan ikke slette virtuelt chassis {self}. Der er medlemsgrænseflader, der " "danner LAG-grænseflader på tværs af chassiserne." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identificere" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Numerisk identifikator, der er unik for den overordnede enhed" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "kommenterer" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "virtuel enhedskontekst" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "virtuelle enhedskontekster" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} er ikke en IPV{family} adresse." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "Primær IP-adresse skal tilhøre en grænseflade på den tildelte enhed." @@ -6645,7 +6666,7 @@ msgstr "Konfigurationsskabelon" msgid "Site Group" msgstr "Områdegruppe" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6654,12 +6675,12 @@ msgstr "Områdegruppe" msgid "IP Address" msgstr "IP adresse" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4-adresse" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6-adresse" @@ -6697,8 +6718,8 @@ msgstr "Strømstik" msgid "Power outlets" msgstr "Strømudtag" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6736,8 +6757,8 @@ msgstr "Lagervarer" msgid "Module Bay" msgstr "Modulbugt" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6795,75 +6816,75 @@ msgstr "FHRP Grupper" msgid "Tunnel" msgstr "Tunnel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Kun ledelse" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDC'er" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Installeret modul" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Seriel modul" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Modulaktivmærke" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Modulstatus" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Komponent" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Varer" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Enhedstyper" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Modultyper" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Platforme" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Standardplatform" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Fuld dybde" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "U Højde" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "forekomster" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6874,7 +6895,7 @@ msgstr "forekomster" msgid "Console Ports" msgstr "Konsolporte" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6885,7 +6906,7 @@ msgstr "Konsolporte" msgid "Console Server Ports" msgstr "Konsolserverporte" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6896,7 +6917,7 @@ msgstr "Konsolserverporte" msgid "Power Ports" msgstr "Strømstik" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6907,7 +6928,7 @@ msgstr "Strømstik" msgid "Power Outlets" msgstr "Strømudtag" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6917,7 +6938,7 @@ msgstr "Strømudtag" msgid "Front Ports" msgstr "Frontporte" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6928,7 +6949,7 @@ msgstr "Frontporte" msgid "Rear Ports" msgstr "Bageste porte" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6936,7 +6957,7 @@ msgstr "Bageste porte" msgid "Device Bays" msgstr "Enhedsbugter" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7375,24 +7396,24 @@ msgstr "Widgettype" msgid "Unregistered widget class: {name}" msgstr "Uregistreret widget klasse: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} skal definere en render () -metode." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Bemærk" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "Vis noget vilkårligt brugerdefineret indhold. Markdown understøttes." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Objekttællinger" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7400,58 +7421,58 @@ msgstr "" "Vis et sæt NetBox-modeller og antallet af objekter, der er oprettet for hver" " type." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Filtre, der skal anvendes, når antallet af objekter tælles" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "Ugyldigt format. Objektfiltre skal sendes som en ordbog." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Objektliste" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Vis en vilkårlig liste over objekter." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Standardantallet af objekter, der skal vises" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "Ugyldigt format. URL-parametre skal sendes som en ordbog." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "RSS-feed" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Indlejr et RSS-feed fra en ekstern hjemmeside." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "Foderwebadresse" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Det maksimale antal objekter, der skal vises" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "Hvor længe det cachelagrede indhold skal gemmes (i sekunder)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Bogmærker" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Vis dine personlige bogmærker" @@ -7494,8 +7515,8 @@ msgstr "Clustertype (slug)" msgid "Tenant group" msgstr "Lejergruppe" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Lejergruppe (slug)" @@ -7632,7 +7653,7 @@ msgstr "Er aktiv" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Objekttyper" @@ -7732,8 +7753,8 @@ msgstr "Klassificering af indrejse" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Brugere" @@ -7745,8 +7766,8 @@ msgstr "Brugernavne adskilt af kommaer, indkapslet med dobbelte anførselstegn" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Grupper" @@ -8461,10 +8482,19 @@ msgstr "brugerdefineret felt valgsæt" msgid "custom field choice sets" msgstr "brugerdefinerede feltvalgssæt" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Skal definere base eller ekstra valg." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Kan ikke fjerne valg {choice} som der er {model} objekter, der henviser til " +"det." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "layout" @@ -9035,64 +9065,64 @@ msgstr "Besked" msgid "Method" msgstr "Fremgangsmåde" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Sørg for, at denne værdi er lig med %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Sørg for, at denne værdi ikke er lig %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Dette felt skal være tomt." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Dette felt må ikke være tomt." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Valideringsregler skal godkendes som en ordbog" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "Brugerdefineret validering mislykkedes for {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Ugyldig attribut“{name}„på forespørgsel" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Ugyldig attribut“{name}„til {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Dit dashboard er blevet nulstillet." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Tilføjet widget: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Opdateret widget: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Slettet widget: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Fejl ved sletning af widget: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "Kan ikke køre script: RQ-arbejderprocessen kører ikke." @@ -9161,19 +9191,19 @@ msgstr "Almindelig tekst" msgid "Invalid IP address format: {address}" msgstr "Ugyldigt IP-adresseformat: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Importmål" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Importmål (navn)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Eksportmål" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Eksportmål (navn)" @@ -9243,11 +9273,11 @@ msgstr "Præfikser, der indeholder dette præfiks eller IP" msgid "Mask length" msgstr "Maskelængde" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "VLAN-nummer (1-4094)" @@ -9267,23 +9297,23 @@ msgid "Parent prefix" msgstr "Forældrepræfiks" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Virtuel maskine (navn)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Virtuel maskine (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Grænseflade (navn)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "VM-grænseflade (navn)" @@ -9311,19 +9341,27 @@ msgstr "Tjeneste (ID)" msgid "NAT inside IP address (ID)" msgstr "NAT inde i IP-adresse (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Tildelt grænseflade" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Tildelt VM grænseflade" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "IP-adresse (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "IP adresse" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "Primær IPv4 (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "Primær IPv6 (ID)" @@ -9537,10 +9575,6 @@ msgstr "Virtuel maskine" msgid "Parent VM of assigned interface (if any)" msgstr "Overordnet VM for tildelt grænseflade (hvis nogen)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Tildelt grænseflade" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Er primær" @@ -11105,9 +11139,9 @@ msgstr "Administrator" msgid "API Tokens" msgstr "API-tokens" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Tilladelser" @@ -11258,63 +11292,63 @@ msgstr "" msgid "Cannot delete stores from registry" msgstr "Kan ikke slette butikker fra registreringsdatabasen" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "Tjekkisk" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "dansk" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "Tysk" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "engelsk" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "spansk" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "franskmænd" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "Italiensk" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "Japansk" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "Hollandsk" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "Polere" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "portugisisk" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "Russisk" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "Tyrkisk" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "Ukrainsk" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "kinesisk" @@ -12987,7 +13021,7 @@ msgstr "Tilføj nyt medlem" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Handlinger" @@ -14041,7 +14075,7 @@ msgid "Click here to attempt loading NetBox again." msgstr "" "Klik her for at forsøge at indlæse NetBox igen." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14070,7 +14104,7 @@ msgid "Add Contact Group" msgstr "Tilføj kontaktgruppe" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Kontaktrolle" @@ -14108,7 +14142,7 @@ msgid "View" msgstr "Udsigt" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Begrænsninger" @@ -14135,11 +14169,6 @@ msgstr "Hukommelse" msgid "Disk Space" msgstr "Diskplads" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Tilføj virtuel maskine" @@ -14380,57 +14409,57 @@ msgstr "Linkegenskaber" msgid "Distance" msgstr "Afstand" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Forældrekontaktgruppe (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Forældrekontaktgruppe (slug)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Kontaktgruppe (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Kontaktgruppe (slug)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Kontakt (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Kontaktrolle (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Kontaktrolle (slug)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Kontaktgruppe" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Overordnet lejergruppe (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Forældrelejergruppe (slug)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Lejergruppe (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Lejergruppe (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Lejergruppe (slug)" @@ -14595,11 +14624,11 @@ msgstr "Kan ændre sig" msgid "Can Delete" msgstr "Kan slette" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Brugergrænseflade" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14609,7 +14638,7 @@ msgstr "" "nøgle før indsendelse af denne formular, da den muligvis ikke " "længere er tilgængelig, når tokenet er oprettet." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14619,32 +14648,32 @@ msgstr "" "uden begrænsninger. Eksempel: 10.1.1.0/24.192.168.10.16/32.2001: db " "8:1: :/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Bekræft adgangskode" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Indtast den samme adgangskode som før, til bekræftelse." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" "Adgangskoder stemmer ikke overens! Kontroller dit input, og prøv igen." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Yderligere tiltag" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Foranstaltninger, der er ydet ud over dem, der er anført ovenfor" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Objekter" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14654,11 +14683,11 @@ msgstr "" "Efterlad null for at matche alle objekter af denne type. En liste over flere" " objekter vil resultere i en logisk OR-operation." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Mindst en handling skal vælges." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Ugyldigt filter for {model}: {error}" @@ -14916,7 +14945,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Ugyldig værdi for et flervalgsfelt: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Objektet blev ikke fundet: %(value)s" @@ -14929,11 +14958,16 @@ msgid "" msgstr "" "„{value}„er ikke en unik værdi for dette felt; flere objekter blev fundet" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "„{field_name}„er et ugyldigt adgangsfeltnavn." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Objekttype skal angives som“.„" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Ugyldig objekttype" @@ -15516,19 +15550,19 @@ msgstr "DSA signaturer" msgid "Group {n}" msgstr "Gruppe {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Ethernet Privat LAN" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Ethernet virtuelt privat LAN" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Ethernet privat træ" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Ethernet virtuelt privat træ" @@ -15560,33 +15594,31 @@ msgstr "Tunnel (navn)" msgid "Outside IP (ID)" msgstr "Udenfor IP (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "IKE-politik (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "IKE-politik (navn)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "IPsec-politik (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "IPsec-politik (navn)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (slug)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "VM-grænseflade (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (navn)" diff --git a/netbox/translations/de/LC_MESSAGES/django.po b/netbox/translations/de/LC_MESSAGES/django.po index c8c7e2a55..4635cd650 100644 --- a/netbox/translations/de/LC_MESSAGES/django.po +++ b/netbox/translations/de/LC_MESSAGES/django.po @@ -8,9 +8,9 @@ # Niklas, 2024 # fepilins, 2024 # Steffen, 2024 -# Uli Haage, 2024 # Jeremy Stretch, 2024 # Robin Reinhardt, 2024 +# haagehan, 2024 # chbally, 2024 # #, fuzzy @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 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" @@ -30,7 +30,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Schlüssel" @@ -66,7 +66,7 @@ msgstr "Zuletzt verwendet" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "Erlaubte IP-Adressen" @@ -94,8 +94,8 @@ msgstr "Dein Passwort wurde erfolgreich geändert." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -107,8 +107,8 @@ msgstr "Provisionierung" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -119,8 +119,8 @@ msgid "Active" msgstr "Aktiv" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Offline" @@ -133,7 +133,7 @@ msgstr "Deprovisionierung" msgid "Decommissioned" msgstr "Stillgelegt" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primär" @@ -159,7 +159,7 @@ msgstr "Inaktiv" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Region (ID)" @@ -171,7 +171,7 @@ msgstr "Region (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Region (URL-Slug)" @@ -200,7 +200,7 @@ msgstr "Standortgruppe (URL-Slug)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -266,7 +266,7 @@ msgstr "Standort" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Standort (URL-Slug)" @@ -320,7 +320,7 @@ msgstr "Transportnetz Typ (URL-Slug)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Standort (ID)" @@ -339,13 +339,13 @@ msgstr "Abschlusspunkt A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -354,7 +354,7 @@ msgstr "Suche" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -538,9 +538,9 @@ msgstr "Beschreibung" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -577,9 +577,9 @@ msgstr "Dienst ID" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -592,7 +592,7 @@ msgid "Color" msgstr "Farbe" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -615,7 +615,7 @@ msgstr "Farbe" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -649,14 +649,14 @@ msgid "Type" msgstr "Typ" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Providerkonto" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -672,8 +672,8 @@ msgstr "Providerkonto" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -702,7 +702,7 @@ msgstr "Providerkonto" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -726,8 +726,8 @@ msgstr "Status" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -873,7 +873,7 @@ msgstr "Als verbunden markieren" #: netbox/templates/dcim/interface.html:193 #: netbox/templates/dcim/rearport.html:111 msgid "Circuit Termination" -msgstr "Transportnetz Abschlusspunkt" +msgstr "Transportnetzabschlusspunkt" #: netbox/circuits/forms/bulk_edit.py:221 #: netbox/circuits/forms/model_forms.py:159 @@ -893,21 +893,21 @@ msgstr "Einzelheiten zum Abschlusspunkt" msgid "Priority" msgstr "Priorität" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Zugewiesener Provider" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Zugewiesenes Providerkonto" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Transportnetz Typ" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -919,8 +919,8 @@ msgstr "Transportnetz Typ" msgid "Operational status" msgstr "Betriebsstatus" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -936,7 +936,7 @@ msgstr "Betriebsstatus" msgid "Assigned tenant" msgstr "Zugewiesener Mandant" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -944,7 +944,7 @@ msgstr "Zugewiesener Mandant" msgid "Termination" msgstr "Abschlusspunkt" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1100,7 +1100,7 @@ msgstr "Terminationsseite" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Zuweisung" @@ -1155,11 +1155,11 @@ msgid "Circuit Group" msgstr "Transportnetzgruppe" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1167,11 +1167,11 @@ msgstr "Farbe" #: netbox/circuits/models/circuits.py:36 msgid "circuit type" -msgstr "Transportnetz Typ" +msgstr "Transportnetztyp" #: netbox/circuits/models/circuits.py:37 msgid "circuit types" -msgstr "Transportnetz Typen" +msgstr "Transportnetztypen" #: netbox/circuits/models/circuits.py:48 msgid "circuit ID" @@ -1182,9 +1182,9 @@ msgid "Unique circuit ID" msgstr "Eindeutige Transportnetz-ID" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1279,7 +1279,7 @@ msgstr "Patchpanel-ID und Anschlussnummer(n)" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1318,11 +1318,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1406,11 +1406,11 @@ msgstr "Providernetzwerke" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1548,8 +1548,8 @@ msgstr "Garantierte Bandbreite" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1627,8 +1627,8 @@ msgstr "Abgeschlossen" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Fehlgeschlagen" @@ -1694,42 +1694,42 @@ msgstr "Gestoppt" msgid "Cancelled" msgstr "Abgebrochen" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Lokal" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Nutzername" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Wird nur für das Klonen über HTTP(S) verwendet" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Passwort" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Branch" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Abrufen der Remotedaten ist fehlgeschlagen ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "AWS-Zugriffsschlüssel-ID" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Geheimer AWS-Zugriffsschlüssel" @@ -1784,7 +1784,7 @@ msgstr "Benutzername" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1898,7 +1898,7 @@ msgstr "Abgeschlossen vor" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Nutzer" @@ -1955,7 +1955,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Rackübersichten" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1998,13 +1998,13 @@ msgstr "Benutzereinstellungen" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Diverses" #: netbox/core/forms/model_forms.py:169 msgid "Config Revision" -msgstr "Konfigurationsrevisionen" +msgstr "Konfigurationsverlauf" #: netbox/core/forms/model_forms.py:208 msgid "This parameter has been defined statically and cannot be modified." @@ -2060,7 +2060,7 @@ msgstr "" "({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2097,20 +2097,20 @@ msgid "Config revision #{id}" msgstr "Konfigurationsrevision #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2125,8 +2125,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2240,60 +2240,60 @@ msgstr "verwaltete Datei" msgid "managed files" msgstr "verwaltete Dateien" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "geplant" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "Intervall" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Wiederholungsintervall (in Minuten)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "gestartet" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "abgeschlossen" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "Daten" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "Fehler" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "Job-ID" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "Job" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "Jobs" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Jobs können diesem Objekttyp nicht zugewiesen werden ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" "Ungültiger Status für die Beendigung des Jobs. Es stehen folgende Optionen " "zur Auswahl: {choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2344,7 +2344,7 @@ msgid "Last updated" msgstr "Letzte Aktualisierung" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2536,7 +2536,7 @@ msgid "Staging" msgstr "Bereitstellung" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Außerbetriebnahme" @@ -2600,17 +2600,17 @@ msgstr "Veraltet" msgid "Millimeters" msgstr "Millimeter" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Zoll" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "Front- zu Rückseite" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Rück- zu Frontseite" @@ -2623,8 +2623,8 @@ msgstr "Rück- zu Frontseite" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2668,7 +2668,7 @@ msgstr "Frontseite" msgid "Rear" msgstr "Rückseite" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Vorbereitet" @@ -2677,67 +2677,79 @@ msgstr "Vorbereitet" msgid "Inventory" msgstr "Inventar" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Links nach rechts" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Rechts nach links" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Seite nach hinten" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "Von hinten zur Seite" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "Von unten nach oben" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "Von oben nach unten" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Passiv" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Gemischt" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (nicht verriegelnd)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (verriegelnd)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Kalifornischer Stil" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "International/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Propritär" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Andere" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/International" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Physikalisch" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Virtuell" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2745,13 +2757,13 @@ msgstr "Virtuell" msgid "Wireless" msgstr "Funknetze" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Virtuelle Schnittstellen" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2759,27 +2771,27 @@ msgstr "Virtuelle Schnittstellen" msgid "Bridge" msgstr "Bridge" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Link Aggregation Group (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (fest)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modular)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (Backplane)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Mobilfunk" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2787,130 +2799,130 @@ msgstr "Mobilfunk" msgid "Serial" msgstr "Seriell" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Koaxial" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "Stapelnd" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Halb" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Voll" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Automatisch" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Untagged" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Tagged" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Tagged (Alle)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "IEEE-Standard" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "Passiv 24 V (2 Paare)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "Passiv 24 V (4 Paare)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "Passiv 48 V (2 Paare)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "Passiv 48 V (4 Paare)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Kupfer" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Glasfaser" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Faser" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Verbunden" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometer" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Meter" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Zentimeter" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Meilen" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Fuß" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogramm" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Gramm" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Pfund" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Unzen" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Redundant" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Einphasig" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Dreiphasig" @@ -3062,7 +3074,7 @@ msgstr "Hat Stromanschlüsse" #: netbox/dcim/filtersets.py:1143 netbox/dcim/forms/filtersets.py:552 #: netbox/dcim/forms/filtersets.py:648 netbox/dcim/forms/filtersets.py:869 msgid "Has power outlets" -msgstr "Hat Stromabgänge" +msgstr "Hat Steckdosen" #: netbox/dcim/filtersets.py:583 netbox/dcim/filtersets.py:704 #: netbox/dcim/filtersets.py:1147 netbox/dcim/forms/filtersets.py:559 @@ -3162,7 +3174,7 @@ msgstr "Hat volle Tiefe" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3206,7 +3218,7 @@ msgid "Device model" msgstr "Modell des Geräts" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Schnittstelle (ID)" @@ -3220,8 +3232,8 @@ msgstr "Modulschacht (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Gerät (ID)" @@ -3230,8 +3242,8 @@ msgid "Rack (name)" msgstr "Rack (Name)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Gerät (Name)" @@ -3281,8 +3293,8 @@ msgstr "Zugewiesene VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3318,7 +3330,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3366,7 +3378,7 @@ msgstr "Virtual Device Context" #: netbox/dcim/filtersets.py:1719 msgid "Virtual Device Context (Identifier)" -msgstr " Virtual Device Context (Identifier)" +msgstr "Virtual Device Context (Identifier)" #: netbox/dcim/filtersets.py:1730 #: netbox/templates/wireless/wirelesslan.html:11 @@ -3374,7 +3386,7 @@ msgstr " Virtual Device Context (Identifier)" msgid "Wireless LAN" msgstr "WLAN" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "WLAN Verbindung" @@ -3402,12 +3414,12 @@ msgstr "Master (ID)" msgid "Master (name)" msgstr "Master (Name)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Mandant (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Mandant (URL-Slug)" @@ -3434,7 +3446,7 @@ msgstr "Tags" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3483,8 +3495,8 @@ msgstr "Zeitzone" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3548,7 +3560,7 @@ msgstr "Einbautiefe" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3609,8 +3621,8 @@ msgstr "Nummerierung" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3718,12 +3730,12 @@ msgstr "Artikelnummer" msgid "U height" msgstr "Höheneinheit" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Von der Nutzung ausschließen" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3812,10 +3824,10 @@ msgstr "Betriebssystem" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3942,8 +3954,8 @@ msgid "Maximum draw" msgstr "Maximale Auslastung" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Maximale Leistungsaufnahme (Watt)" @@ -3952,8 +3964,8 @@ msgid "Allocated draw" msgstr "Zugewiesene Leistungsaufnahme" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Zugewiesene Leistungsaufnahme (Watt)" @@ -3974,16 +3986,16 @@ msgstr "Nur Management" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "PoE-Modus" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "PoE-Typ" @@ -4007,19 +4019,19 @@ msgstr "WLAN Funktion" msgid "Module" msgstr "Modul" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "LAG" #: netbox/dcim/forms/bulk_edit.py:1425 netbox/dcim/forms/model_forms.py:1305 msgid "Virtual device contexts" -msgstr " Virtual Device Contexts" +msgstr "Virtual Device Contexts" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4066,7 +4078,7 @@ msgid "Wireless LAN group" msgstr "WLAN-Gruppe" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4363,7 +4375,7 @@ msgstr "Ausgangstyp" #: netbox/dcim/forms/bulk_import.py:790 msgid "Local power port which feeds this outlet" -msgstr "Lokaler Stromanschluss, der diese Stromabgänge speist" +msgstr "Lokaler Stromanschluss, der diese Steckdose speist" #: netbox/dcim/forms/bulk_import.py:796 msgid "Electrical phase (for three-phase circuits)" @@ -4456,7 +4468,7 @@ msgstr "Entsprechender Rückanschluss" msgid "Physical medium classification" msgstr "Klassifizierung des physikalischen Mediums" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Installiertes Gerät" @@ -4546,7 +4558,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} Seitlicher Abschluss nicht gefunden: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4598,7 +4610,7 @@ msgstr "Primäre IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "IPv6-Adresse mit Präfixlänge, z. B. 2001:db8: :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4763,7 +4775,7 @@ msgid "Mgmt only" msgstr "Nur Verwaltung" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4796,7 +4808,7 @@ msgstr "Sendeleistung (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Erfasst" @@ -4887,7 +4899,7 @@ msgstr "Schnittstellen-Vorlage" #: netbox/dcim/forms/model_forms.py:1119 msgid "Power outlet template" -msgstr "Vorlage für Stromabgänge" +msgstr "Vorlage für Steckdosen" #: netbox/dcim/forms/model_forms.py:1127 msgid "Power port template" @@ -4949,7 +4961,7 @@ msgid "Front Port" msgstr "Frontanschluss" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5076,8 +5088,8 @@ msgid "" "The string {module} will be replaced with the position of the " "assigned module, if any." msgstr "" -"Die Schnur {module} wird durch die Position des zugewiesenen " -"Moduls ersetzt, falls vorhanden." +"Die Zeichenkette {module} wird durch die Position des " +"zugewiesenen Moduls ersetzt, falls vorhanden." #: netbox/dcim/forms/object_create.py:320 #, python-brace-format @@ -5089,7 +5101,7 @@ msgstr "" "der ausgewählten Anzahl der hinteren Anschlusspositionen übereinstimmen " "({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5114,7 +5126,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/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "Label" @@ -5223,7 +5235,7 @@ msgstr "" " es an einen Modultyp angehängt wird." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Physisches Label" @@ -5249,138 +5261,138 @@ msgstr "" "Eine Komponentenvorlage muss entweder einem Gerätetyp oder einem Modultyp " "zugeordnet sein." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "Vorlage für Konsolenanschluss" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "Vorlagen für Konsolenanschlüsse" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "Portvorlage für Konsolenserver" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "Portvorlagen für Konsolenserver" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "maximale Leistungsaufnahme" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "zugewiesene Leistungsaufnahme" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "Vorlage für Stromanschluss" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "Vorlagen für Stromanschlüsse" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "Die zugewiesene Leistungsaufnahme darf die maximale Leistung " "({maximum_draw}W) nicht überschreiten." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "Phasenlage" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Phase (bei dreiphasiger Stromzufuhr)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "Vorlage für Stromabgang" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" -msgstr "Vorlagen für Stromabgänge" +msgstr "Vorlagen für Steckdosen" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Übergeordneter Stromanschluss ({power_port}) muss zum gleichen Gerätetyp " "gehören" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Übergeordneter Stromanschluss ({power_port}) muss zum gleichen Modultyp " "gehören" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "Nur Verwaltung" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "Bridge-Schnittstelle" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "WLAN Rolle" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "Schnittstellenvorlage" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "Schnittstellenvorlagen" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Eine Schnittstelle kann nicht zu sich selbst überbrückt werden." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "Bridge-Schnittstelle ({bridge}) muss zum gleichen Gerätetyp gehören" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Bridge-Schnittstelle ({bridge}) muss zum gleichen Modultyp gehören" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "Position des Rückanschlusses" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "Frontanschluss-Vorlage" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "Frontanschluss-Vorlagen" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Hinterer Anschluss ({name}) muss zum gleichen Gerätetyp gehören" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5389,47 +5401,47 @@ msgstr "" "Ungültige Position des hinteren Anschlusses ({position}); hinterer Anschluss" " {name} hat nur {count} Positionen" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "Positionen" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "Vorlage für den Rückanschluss" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "Vorlagen für Rückanschlüsse" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "Position" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Bezeichner, auf den beim Umbenennen installierter Komponenten verwiesen wird" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "Vorlage für Moduleinsatz" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "Vorlagen für Moduleinsätze" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "Vorlage für Geräteeinsatz" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "Vorlagen für Geräteeinsätze" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5438,214 +5450,214 @@ msgstr "" "Untergeräterolle des Gerätetyps ({device_type}) muss auf „Übergeordnet“ " "gesetzt sein, um Geräteschächte zuzulassen." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "Teile-ID" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Vom Hersteller zugewiesene Teile-ID" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "Vorlage für Inventarartikel" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "Vorlagen für Inventarartikel" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Komponenten können nicht auf ein anderes Gerät verschoben werden." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "Kabelende" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "als verbunden markieren" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "So behandeln, als ob ein Kabel angeschlossen wäre" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "" "Beim Anschließen eines Kabels muss das Kabelende (A oder B) angegeben " "werden." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "Das Kabelende darf nicht ohne Kabel verlegt werden." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Mit angeschlossenem Kabel kann nicht als verbunden markiert werden." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "" "{class_name} Modelle müssen eine parent_object-Eigenschaft deklarieren" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Physischer Anschlusstyp" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "Geschwindigkeit" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Anschlussgeschwindigkeit in Bit pro Sekunde" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "Konsolenanschluss" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "Konsolenanschlüsse" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "Konsolenserveranschluss" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "Konsolenserveranschlüsse" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "Stromanschluss" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "Stromanschlüsse" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "Stromabgang" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" -msgstr "Stromabgänge" +msgstr "Steckdosen" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Übergeordneter Stromanschluss ({power_port}) muss zum selben Gerät gehören" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "Modus" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "IEEE 802.1Q-Tagging-Strategie" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "übergeordnete Schnittstelle" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "übergeordnete LAG" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Diese Schnittstelle wird nur für Out-of-Band-Verwaltung verwendet" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "Geschwindigkeit (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "Duplex" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "Weltweiter 64-Bit-Name" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "WLAN Kanal" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "Kanalfrequenz (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Wird vom ausgewählten Kanal aufgefüllt (falls gesetzt)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "Sendeleistung (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "WLANs" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "untagged VLAN" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "tagged VLANs" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "Schnittstelle" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "Schnittstellen" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "" "{display_type} An Schnittstellen kann kein Kabel angeschlossen werden." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "" "{display_type} Schnittstellen können nicht als verbunden markiert werden." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "" "Eine Schnittstelle kann nicht seine eigene übergeordnete Schnittstelle sein." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "" "Nur virtuelle Schnittstellen können einer übergeordneten Schnittstelle " "zugewiesen werden." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5654,7 +5666,7 @@ msgstr "" "Die ausgewählte übergeordnete Schnittstelle ({interface}) gehört zu einem " "anderen Gerät ({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5663,7 +5675,7 @@ msgstr "" "Die ausgewählte übergeordnete Schnittstelle ({interface}) gehört zu " "{device}, das nicht Teil des virtuellen Chassis ist {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5672,7 +5684,7 @@ msgstr "" "Die gewählte Bridge-Schnittstelle ({bridge}) gehört zu einem anderen Gerät " "({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5681,17 +5693,17 @@ msgstr "" "Die gewählte Bridge-Schnittstelle ({interface}) gehört zu {device}, das " "nicht Teil des virtuellen Chassis ist {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "" "Virtuelle Schnittstellen können keine übergeordnete LAG-Schnittstelle haben." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "" "Eine LAG-Schnittstelle nicht seine eigene übergeordnete Schnittstelle sein." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." @@ -5699,7 +5711,7 @@ msgstr "" "Die gewählte LAG-Schnittstelle ({lag}) gehört zu einem anderen Gerät " "({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5708,50 +5720,50 @@ msgstr "" "Die gewählte LAG-Schnittstelle ({lag}) gehört zu {device}, das nicht Teil " "des virtuellen Chassis ist {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Virtuelle Schnittstellen können keinen PoE-Modus haben." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Virtuelle Schnittstellen können keinen PoE-Typ haben." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "" "Bei der Festlegung eines PoE-Typs muss der PoE-Modus angegeben werden." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "Die WLAN-Rolle kann nur auf Funkschnittstellen festgelegt werden." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Der Kanal kann nur an drahtlosen Schnittstellen eingestellt werden." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" "Die Kanalfrequenz kann nur an drahtlosen Schnittstellen eingestellt werden." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "" "Bei ausgewähltem Kanal kann keine benutzerdefinierte Frequenz angegeben " "werden." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" "Die Kanalbreite kann nur an drahtlosen Schnittstellen eingestellt werden." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" "Bei ausgewähltem Kanal kann keine benutzerdefinierte Breite angegeben " "werden." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5760,24 +5772,24 @@ msgstr "" "Das untagged VLAN ({untagged_vlan}) muss zu demselben Standort gehören wie " "das übergeordnete Gerät der Schnittstelle, oder es muss global sein." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Abgebildete Position am entsprechenden hinteren Anschluss" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "Frontanschluss" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "Frontanschlüsse" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Rückanschluss ({rear_port}) muss zum selben Gerät gehören" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5786,19 +5798,19 @@ msgstr "" "Ungültige Position des hinteren Anschlusses ({rear_port_position}): Hinterer" " Anschluss {name} hat nur {positions} Stellungen." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Anzahl der Frontanschlüsse, die zugeordnet werden können" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "Rückanschluss" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "Rückanschlüsse" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5807,38 +5819,38 @@ msgstr "" "Die Anzahl der Positionen darf nicht kleiner sein als die Anzahl der " "zugewiesenen Vorderanschlüsse ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "Moduleinsatz" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "Moduleinsätze" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "" "Ein Modulschacht kann nicht zu einem darin installierten Modul gehören." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "Geräteeinsatz" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "Geräteeinsätze" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "Dieser Gerätetyp ({device_type}) unterstützt keine Geräteeinsätze." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Ein Gerät kann nicht in sich selbst installiert werden." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5846,64 +5858,64 @@ msgstr "" "Das angegebene Gerät kann nicht installiert werden; Das Gerät ist bereits " "installiert in {bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "Inventarartikelrolle" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "Inventarartikelrollen" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "Seriennummer" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "Asset-Tag" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "" "Ein eindeutiges Etikett, das zur Identifizierung dieses Artikels verwendet " "wird" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "erkannt" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Dieser Artikel wurde automatisch erkannt" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "Inventarartikel" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "Inventarartikel" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Kann sich nicht als übergeordnetes Objekt zuweisen." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "Der Artikel im übergeordneten Inventar gehört nicht zum selben Gerät." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "" "Ein Inventargegenstand mit untergeordneten Inventargegenständen kann nicht " "bewegt werden" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" "Inventargegenstand kann nicht einer Komponente auf einem anderen Gerät " @@ -6061,7 +6073,7 @@ msgstr "Die Funktion, die dieses Gerät erfüllt" msgid "Chassis serial number, assigned by the manufacturer" msgstr "vom Hersteller vergebene Gehäuse-Seriennummer" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "" "Ein eindeutiger Wert, der zur Identifizierung dieses Geräts verwendet wird" @@ -6074,12 +6086,12 @@ msgstr "Position (HE)" msgid "rack face" msgstr "Rackseite" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "primäre IPv4-Adresse" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "primäre IPv6-Adresse" @@ -6232,15 +6244,24 @@ msgstr "" "Die Position eines Geräts, das einem virtuellen Gehäuse zugewiesen ist, muss" " definiert sein." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Gerät kann nicht aus dem virtuellen Gehäuse entfernt werden " +"{virtual_chassis} weil es derzeit der Master ist." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "Modul" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "Module" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6249,15 +6270,15 @@ msgstr "" "Das Modul muss in einem Modulschacht installiert werden, der zum " "zugewiesenen Gerät gehört ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "Domäne" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "virtuelles Gehäuse" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." @@ -6265,7 +6286,7 @@ msgstr "" "Der gewählte Master ({master}) ist diesem virtuellen Chassis nicht " "zugewiesen." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6274,34 +6295,34 @@ msgstr "" "Das virtuelle Gehäuse kann nicht gelöscht werden {self}. Es gibt " "Mitgliedsschnittstellen, die gehäuseübergreifende LAG-Schnittstellen bilden." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identifizieren" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 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:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "Kommentare" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" -msgstr " Virtual Device Context" +msgstr "Virtual Device Context" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" -msgstr " Virtual Device Context" +msgstr "Virtual Device Context" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} ist keine IPv{family}-Adresse." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "Die primäre IP-Adresse muss zu einer Schnittstelle auf dem zugewiesenen " @@ -6552,7 +6573,7 @@ msgstr "HE-Reservierung" #: netbox/dcim/models/racks.py:697 msgid "rack reservations" -msgstr "HE-Reservierungen" +msgstr "Rackreservierungen" #: netbox/dcim/models/racks.py:714 #, python-brace-format @@ -6745,7 +6766,7 @@ msgstr "Konfigvorlage" msgid "Site Group" msgstr "Standortgruppe" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6754,12 +6775,12 @@ msgstr "Standortgruppe" msgid "IP Address" msgstr "IP-Adresse" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4-Adresse" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6-Adresse" @@ -6795,10 +6816,10 @@ msgstr "Stromanschlüsse" #: netbox/dcim/tables/devices.py:243 msgid "Power outlets" -msgstr "Stromabgänge" +msgstr "Steckdosen" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6836,8 +6857,8 @@ msgstr "Inventarartikel" msgid "Module Bay" msgstr "Moduleinsatz" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6895,75 +6916,75 @@ msgstr "FHRP-Gruppen" msgid "Tunnel" msgstr "Tunnel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Nur zur Verwaltung" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDCs" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Installiertes Modul" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Seriennummer des Moduls" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Modul-Asset-Tag" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Status des Moduls" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Komponente" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Artikel" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Gerätetypen" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" -msgstr "Modul-Typen" +msgstr "Modultypen" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" -msgstr "Plattformen" +msgstr "Betriebssysteme" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Standard-Betriebssystem" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Volle Tiefe" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "Höhe in HE" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Instanzen" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6974,7 +6995,7 @@ msgstr "Instanzen" msgid "Console Ports" msgstr "Konsolenanschlüsse" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6985,7 +7006,7 @@ msgstr "Konsolenanschlüsse" msgid "Console Server Ports" msgstr "Konsolenserveranschlüsse" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6996,7 +7017,7 @@ msgstr "Konsolenserveranschlüsse" msgid "Power Ports" msgstr "Stromanschlüsse" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -7007,7 +7028,7 @@ msgstr "Stromanschlüsse" msgid "Power Outlets" msgstr "Steckdosen" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -7017,7 +7038,7 @@ msgstr "Steckdosen" msgid "Front Ports" msgstr "Frontanschlüsse" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -7028,15 +7049,15 @@ msgstr "Frontanschlüsse" msgid "Rear Ports" msgstr "Rückanschlüsse" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: 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" +msgstr "Geräteeinsätze" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7045,7 +7066,7 @@ msgstr "Geräte-Einsätze" #: netbox/templates/dcim/module.html:43 #: netbox/templates/dcim/moduletype/base.html:43 msgid "Module Bays" -msgstr "Modul-Einsätze" +msgstr "Moduleinsätze" #: netbox/dcim/tables/power.py:36 netbox/netbox/navigation/menu.py:297 #: netbox/templates/dcim/powerpanel.html:51 @@ -7109,7 +7130,7 @@ msgstr "Verbindung von {count} {type} unterbrochen" #: netbox/dcim/views.py:740 netbox/netbox/navigation/menu.py:51 msgid "Reservations" -msgstr "Reservierungen" +msgstr "Rackreservierungen" #: netbox/dcim/views.py:759 netbox/templates/dcim/location.html:90 #: netbox/templates/dcim/site.html:140 @@ -7121,7 +7142,7 @@ msgstr "Nicht in einem Rack befindliche Geräte" #: netbox/virtualization/forms/model_forms.py:225 #: netbox/virtualization/views.py:407 msgid "Config Context" -msgstr "Config-Kontext" +msgstr "Konfigurationsvorlage" #: netbox/dcim/views.py:2098 netbox/virtualization/views.py:417 msgid "Render Config" @@ -7463,7 +7484,8 @@ msgstr "Der Regelsatz muss ein Dictionary sein, nicht {ruleset}." #: netbox/extras/conditions.py:142 msgid "Invalid logic type: must be 'AND' or 'OR'. Please check documentation." -msgstr "Ungültiger Logik-Typ: es muss 'AND' or 'OR' sein. Siehe Dokumentation" +msgstr "" +"Ungültiger Logik-Typ: es muss 'AND' oder 'OR' sein. Siehe Dokumentation" #: netbox/extras/conditions.py:154 msgid "Incorrect key(s) informed. Please check documentation." @@ -7478,26 +7500,26 @@ msgstr "Widget-Typ" msgid "Unregistered widget class: {name}" msgstr "Nicht registrierte Widget-Klasse: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} muss eine render () -Methode definieren." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Hinweis" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Zeigt einige beliebige benutzerdefinierte Inhalte an. Markdown wird " "unterstützt." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Anzahl der Objekte" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7505,60 +7527,60 @@ msgstr "" "Zeigt eine Reihe von NetBox-Modellen und die Anzahl der für jeden Typ " "erstellten Objekte an." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Filter, die beim Zählen der Anzahl der Objekte angewendet werden" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Ungültiges Format. Objektfilter müssen als Wörterbuch übergeben werden." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Liste der Objekte" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Zeigt eine beliebige Liste von Objekten an." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Die Standardanzahl der anzuzeigenden Objekte" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" -"Ungültiges Format. URL-Parameter müssen als Wörterbuch übergeben werden." +"Ungültiges Format. URL-Parameter müssen als Verzeichnis übergeben werden." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "RSS-Feed" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Betten Sie einen RSS-Feed von einer externen Website ein." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "Feed-URL" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Die maximale Anzahl der anzuzeigenden Objekte" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "Wie lange soll der Inhalt zwischengespeichert werden (in Sekunden)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Lesezeichen" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Zeige persönliche Lesezeichen an" @@ -7570,7 +7592,7 @@ msgstr "Unbekannter Aktionstyp für eine Ereignisregel: {action_type}" #: netbox/extras/events.py:192 #, python-brace-format msgid "Cannot import events pipeline {name} error: {error}" -msgstr "Event-Pipeline kann nicht importiert werden {name} Fehler: {error}" +msgstr "Ereignispipeline kann nicht importiert werden {name} Fehler: {error}" #: netbox/extras/filtersets.py:45 msgid "Script module (ID)" @@ -7601,8 +7623,8 @@ msgstr "Clustertyp (URL-Slug)" msgid "Tenant group" msgstr "Mandantengruppe" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Mandantengruppe (URL-Slug)" @@ -7739,7 +7761,7 @@ msgstr "Ist aktiv" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Typen von Objekten" @@ -7815,7 +7837,7 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:193 msgid "The event type(s) which will trigger this rule" -msgstr "Die Ereignistypen, die diese Regel auslösen" +msgstr "Ereignistype(n), die diese Regel auslösen" #: netbox/extras/forms/bulk_import.py:196 msgid "Action object" @@ -7841,13 +7863,13 @@ msgstr "Zugewiesener Objekttyp" #: netbox/extras/forms/bulk_import.py:249 msgid "The classification of entry" -msgstr "Die Klassifizierung der Einreise" +msgstr "Die Klassifizierung des Eintrags" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Benutzer" @@ -7861,8 +7883,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Gruppen" @@ -7947,7 +7969,7 @@ msgstr "Gerätetypen" #: netbox/extras/forms/filtersets.py:366 #: netbox/extras/forms/model_forms.py:532 msgid "Roles" -msgstr "Rollen" +msgstr "Prefix und VLAN-Rollen" #: netbox/extras/forms/filtersets.py:376 #: netbox/extras/forms/model_forms.py:542 @@ -8108,8 +8130,8 @@ msgstr "Wahl der Aktion" #: netbox/extras/forms/model_forms.py:385 msgid "Enter conditions in JSON format." msgstr "" -"Geben Sie die Bedingungen ein in JSON " -"formatieren." +"Geben Sie die Bedingungen ein in JSON - " +"Format." #: netbox/extras/forms/model_forms.py:389 msgid "" @@ -8122,7 +8144,7 @@ msgstr "" #: netbox/extras/forms/model_forms.py:394 #: netbox/templates/extras/eventrule.html:10 msgid "Event Rule" -msgstr "Event-Regel" +msgstr "Ereignisregel" #: netbox/extras/forms/model_forms.py:395 msgid "Triggers" @@ -8215,11 +8237,11 @@ msgstr "Keine Indexer gefunden!" #: netbox/extras/models/configs.py:130 msgid "config context" -msgstr "Config-Kontext" +msgstr "Konfigurationsvorlage" #: netbox/extras/models/configs.py:131 msgid "config contexts" -msgstr "Config-Kontexte" +msgstr "Konfigurationsvorlage" #: netbox/extras/models/configs.py:149 netbox/extras/models/configs.py:205 msgid "JSON data must be in object form. Example:" @@ -8265,7 +8287,7 @@ msgstr "Konfigurationsvorlagen" #: netbox/extras/models/customfields.py:75 msgid "The object(s) to which this field applies." -msgstr "Die Objekte, für die dieses Feld gilt." +msgstr "Objekt(e), für die dieses Feld gilt." #: netbox/extras/models/customfields.py:82 msgid "The type of data this custom field holds" @@ -8600,12 +8622,21 @@ msgstr "benutzerdefinierter Feldauswahlsatz" #: netbox/extras/models/customfields.py:783 msgid "custom field choice sets" -msgstr "benutzerdefinierte Feldauswahlsätze" +msgstr "Benutzerdefinierte Feldoptionen" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Muss Basis- oder zusätzliche Auswahlmöglichkeiten definieren." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Auswahl kann nicht entfernt werden {choice} es gibt {model} Objekte, die " +"darauf verweisen." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "Layout" @@ -8654,11 +8685,11 @@ msgstr "Zusätzliche Daten, die an das Aktionsobjekt übergeben werden" #: netbox/extras/models/models.py:116 msgid "event rule" -msgstr "Eventregel" +msgstr "Ereignisregel" #: netbox/extras/models/models.py:117 msgid "event rules" -msgstr "Eventregeln" +msgstr "Ereignisregeln" #: netbox/extras/models/models.py:166 msgid "" @@ -8698,7 +8729,7 @@ msgstr "" #: netbox/extras/models/models.py:195 msgid "body template" -msgstr "Körperschablone" +msgstr "Body Template" #: netbox/extras/models/models.py:198 msgid "" @@ -8762,7 +8793,7 @@ msgstr "" #: netbox/extras/models/models.py:293 msgid "The object type(s) to which this link applies." -msgstr "Die Objekttyp (en), für die dieser Link gilt." +msgstr "Die Objekttyp(en), für die dieser Link gilt." #: netbox/extras/models/models.py:305 msgid "link text" @@ -8802,7 +8833,7 @@ msgstr "benutzerdefinierte Links" #: netbox/extras/models/models.py:389 msgid "The object type(s) to which this template applies." -msgstr "Die Objekttyp (en), für die diese Vorlage gilt." +msgstr "Die Objekttyp(en), für die diese Vorlage gilt." #: netbox/extras/models/models.py:402 msgid "" @@ -8814,8 +8845,7 @@ msgstr "" #: netbox/extras/models/models.py:410 msgid "Defaults to text/plain; charset=utf-8" -msgstr "" -"Die Standardeinstellung ist Text/Einfach; Zeichensatz = UTF-8" +msgstr "Die Standardeinstellung ist text/plain; charset=utf-8" #: netbox/extras/models/models.py:413 msgid "file extension" @@ -8839,7 +8869,7 @@ msgstr "Vorlage exportieren" #: netbox/extras/models/models.py:431 msgid "export templates" -msgstr "Vorlagen exportieren" +msgstr "Exportvorlagen" #: netbox/extras/models/models.py:448 #, python-brace-format @@ -8849,7 +8879,7 @@ msgstr "" #: netbox/extras/models/models.py:498 msgid "The object type(s) to which this filter applies." -msgstr "Der/Die Objekttyp (-en), für die dieser Filter gilt." +msgstr "Der/Die Objekttyp (en), für die dieser Filter gilt." #: netbox/extras/models/models.py:530 msgid "shared" @@ -9184,67 +9214,67 @@ msgstr "Nachricht" msgid "Method" msgstr "Methode" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Stellen Sie sicher, dass dieser Wert gleich ist %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "" "Stellen Sie sicher, dass dieser Wert nicht gleich ist %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Dieses Feld muss leer sein." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Dieses Feld darf nicht leer sein." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Validierungsregeln müssen als Wörterbuch übergeben werden" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "" "Die benutzerdefinierte Überprüfung ist fehlgeschlagen für {attribute}: " "{exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Ungültiges Attribut“{name}„zur Anfrage" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Ungültiges Attribut“{name}„für {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Ihr Dashboard wurde zurückgesetzt." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Hinzugefügtes Widget:" -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Aktualisiertes Widget: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Gelöschtes Widget: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Fehler beim Löschen des Widgets: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "" "Das Skript kann nicht ausgeführt werden: Der RQ-Worker-Prozess läuft nicht." @@ -9318,19 +9348,19 @@ msgstr "Klartext" msgid "Invalid IP address format: {address}" msgstr "Ungültiges IP-Adressformat: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Ziel importieren" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Importziel (Name)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Ziel exportieren" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Exportziel (Name)" @@ -9400,11 +9430,11 @@ msgstr "Präfixe, die dieses Präfix oder diese IP enthalten" msgid "Mask length" msgstr "Länge der Maske" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "VLAN-Nummer (1-4094)" @@ -9424,23 +9454,23 @@ msgid "Parent prefix" msgstr "Übergeordnetes Präfix" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Virtuelle Maschine (Name)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Virtuelle Maschine (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Schnittstelle (Name)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "VM-Schnittstelle (Name)" @@ -9468,19 +9498,27 @@ msgstr "Dienst (ID)" msgid "NAT inside IP address (ID)" msgstr "NAT innerhalb der IP-Adresse (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Zugewiesene Schnittstelle" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Zugewiesene VM-Schnittstelle" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "IP-Adresse (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "IP-Adresse" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "Primäre IPv4 (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "Primäre IPv6 (ID)" @@ -9694,10 +9732,6 @@ msgstr "Virtuelle Maschine" msgid "Parent VM of assigned interface (if any)" msgstr "Übergeordnete VM der zugewiesenen Schnittstelle (falls vorhanden)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Zugewiesene Schnittstelle" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Ist primär" @@ -9749,7 +9783,7 @@ msgstr "{ip} ist diesem Gerät/dieser VM nicht zugewiesen." #: netbox/ipam/forms/filtersets.py:47 netbox/ipam/forms/model_forms.py:63 #: netbox/netbox/navigation/menu.py:189 netbox/vpn/forms/model_forms.py:410 msgid "Route Targets" -msgstr "Routen-Ziele" +msgstr "Routenziele" #: netbox/ipam/forms/filtersets.py:53 netbox/ipam/forms/model_forms.py:50 #: netbox/vpn/forms/filtersets.py:224 netbox/vpn/forms/model_forms.py:397 @@ -9892,7 +9926,7 @@ msgstr "Machen Sie dies zur primären IP für das Gerät/die VM" #: netbox/ipam/forms/model_forms.py:325 msgid "NAT IP (Inside)" -msgstr "NAT IP (intern)" +msgstr "NAT IP (innen)" #: netbox/ipam/forms/model_forms.py:384 msgid "An IP address can only be assigned to a single object." @@ -9954,7 +9988,7 @@ msgstr "Dienst / Port" #: netbox/ipam/forms/model_forms.py:730 msgid "Service template" -msgstr "Vorlage für den Dienst" +msgstr "Dienstevorlagen (Ports)" #: netbox/ipam/forms/model_forms.py:742 msgid "From Template" @@ -9968,8 +10002,8 @@ msgstr "Benutzerdefiniert" msgid "" "Must specify name, protocol, and port(s) if not using a service template." msgstr "" -"Muss Name, Protokoll und Port(s) angeben, wenn keine Dienstvorlage verwendet" -" wird." +"Muss Name, Protokoll und Port(s) angeben, wenn keine Dienstevorlage " +"verwendet wird." #: netbox/ipam/models/asns.py:34 msgid "start" @@ -10265,11 +10299,11 @@ msgstr "Portnummern" #: netbox/ipam/models/services.py:59 msgid "service template" -msgstr "Service-Vorlage" +msgstr "Servicevorlage" #: netbox/ipam/models/services.py:60 msgid "service templates" -msgstr "Dienstvorlagen" +msgstr "Servicevorlagen" #: netbox/ipam/models/services.py:95 msgid "The specific IP addresses (if any) to which this service is bound" @@ -10283,7 +10317,7 @@ msgstr "Dienst / Port" #: netbox/ipam/models/services.py:103 msgid "services" -msgstr "Ports" +msgstr "Dienste (Ports)" #: netbox/ipam/models/services.py:117 msgid "" @@ -10351,8 +10385,8 @@ msgid "" "VLAN is assigned to group {group} (scope: {scope}); cannot also assign to " "site {site}." msgstr "" -"VLAN ist der Gruppe {group} (Umfang: {scope}) zugewiesen; kann nicht auch " -"dem Standort {site} zugewiesen werden." +"VLAN ist der Gruppe {group} (Scope: {scope}) zugewiesen; kann nicht auch dem" +" Standort {site} zugewiesen werden." #: netbox/ipam/models/vlans.py:259 #, python-brace-format @@ -10455,11 +10489,11 @@ msgstr "Startadresse" #: netbox/ipam/tables/ip.py:383 msgid "NAT (Inside)" -msgstr "NAT (Drinnen)" +msgstr "NAT (Innen)" #: netbox/ipam/tables/ip.py:388 msgid "NAT (Outside)" -msgstr "NAT (Draußen)" +msgstr "NAT (Außen)" #: netbox/ipam/tables/ip.py:393 msgid "Assigned" @@ -10993,7 +11027,7 @@ msgstr "Rackrollen" #: netbox/netbox/navigation/menu.py:54 msgid "Elevations" -msgstr "Übersichten" +msgstr "Rackübersichten" #: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 msgid "Rack Types" @@ -11006,7 +11040,7 @@ msgstr "Module" #: netbox/netbox/navigation/menu.py:80 netbox/templates/dcim/device.html:160 #: netbox/templates/dcim/virtualdevicecontext.html:8 msgid "Virtual Device Contexts" -msgstr " Virtual Device Context" +msgstr "Virtual Device Context" #: netbox/netbox/navigation/menu.py:88 msgid "Manufacturers" @@ -11063,13 +11097,13 @@ msgstr "VLAN-Gruppen" #: netbox/netbox/navigation/menu.py:203 msgid "Service Templates" -msgstr "Vorlagen für Dienste / Ports" +msgstr "Dienstevorlagen (Ports)" #: netbox/netbox/navigation/menu.py:204 netbox/templates/dcim/device.html:302 #: netbox/templates/ipam/ipaddress.html:118 #: netbox/templates/virtualization/virtualmachine.html:154 msgid "Services" -msgstr "Dienste" +msgstr "Dienste (Ports)" #: netbox/netbox/navigation/menu.py:211 msgid "VPN" @@ -11087,7 +11121,7 @@ msgstr "Tunnelgruppen" #: netbox/netbox/navigation/menu.py:219 msgid "Tunnel Terminations" -msgstr "Tunnelabschlüsse" +msgstr "Tunnelabschlusspunkte" #: netbox/netbox/navigation/menu.py:223 netbox/netbox/navigation/menu.py:225 #: netbox/vpn/models/l2vpn.py:64 @@ -11159,7 +11193,7 @@ msgstr "Gruppenzuweisung" #: netbox/netbox/navigation/menu.py:276 msgid "Circuit Terminations" -msgstr "Transportnetz Abschlusspunkt" +msgstr "Transportnetzabschlusspunkt" #: netbox/netbox/navigation/menu.py:280 netbox/netbox/navigation/menu.py:282 msgid "Providers" @@ -11184,7 +11218,7 @@ msgstr "Konfigurationen" #: netbox/netbox/navigation/menu.py:311 msgid "Config Contexts" -msgstr "Kontexte konfigurieren" +msgstr "Konfigurationsvorlage" #: netbox/netbox/navigation/menu.py:312 msgid "Config Templates" @@ -11209,7 +11243,7 @@ msgstr "Benutzerdefinierte Felder" #: netbox/netbox/navigation/menu.py:326 msgid "Custom Field Choices" -msgstr "Optionen für benutzerdefinierte Felder" +msgstr "Benutzerdefinierte Feldoptionen" #: netbox/netbox/navigation/menu.py:327 msgid "Custom Links" @@ -11281,9 +11315,9 @@ msgstr "Admin" msgid "API Tokens" msgstr "API-Token" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Berechtigungen" @@ -11307,7 +11341,7 @@ msgstr "Konfigurationsverlauf" #: netbox/netbox/navigation/menu.py:465 netbox/templates/core/rq_task.html:8 #: netbox/templates/core/rq_task_list.html:22 msgid "Background Tasks" -msgstr "Hintergrund-Aufgaben" +msgstr "Hintergrundaufgaben" #: netbox/netbox/plugins/navigation.py:47 #: netbox/netbox/plugins/navigation.py:69 @@ -11440,63 +11474,63 @@ msgstr "" msgid "Cannot delete stores from registry" msgstr "Stores können nicht aus der Registrierung gelöscht werden" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "Tschechisch" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "Dänisch" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "Deutsch" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "Englisch" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "Spanisch" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "Französisch" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "Italenisch" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "Japanisch" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "Niederländisch" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "Polnisch" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "Portugiesisch" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "Russisch" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "Türkisch" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "Ukrainisch" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "Chinesisch" @@ -11835,7 +11869,7 @@ msgstr "Meine API-Token" #: netbox/templates/account/token.html:19 netbox/templates/users/token.html:6 #: netbox/templates/users/token.html:14 netbox/users/forms/filtersets.py:120 msgid "Token" -msgstr "Token" +msgstr "API-Token" #: netbox/templates/account/token.html:39 netbox/templates/users/token.html:31 #: netbox/users/forms/bulk_edit.py:107 @@ -11848,7 +11882,7 @@ msgstr "Zuletzt benutzt" #: netbox/templates/account/token_list.html:12 msgid "Add a Token" -msgstr "Einen Token hinzufügen" +msgstr "Einen API-Token hinzufügen" #: netbox/templates/base/base.html:22 netbox/templates/home.html:27 msgid "Home" @@ -11916,7 +11950,7 @@ msgstr "Tauschen Sie diese Abschlüsse gegen Tranportnetz aus: %(circuit)s?" #: netbox/templates/circuits/circuit_terminations_swap.html:14 msgid "A side" -msgstr "Eine Seite" +msgstr "A Seite" #: netbox/templates/circuits/circuit_terminations_swap.html:22 msgid "Z side" @@ -12023,11 +12057,11 @@ msgstr "Verbinden" #: netbox/templates/circuits/inc/circuit_termination_fields.html:70 msgid "Downstream" -msgstr "Stromabwärts" +msgstr "Downstream" #: netbox/templates/circuits/inc/circuit_termination_fields.html:71 msgid "Upstream" -msgstr "Stromaufwärts" +msgstr "Upstream" #: netbox/templates/circuits/inc/circuit_termination_fields.html:80 msgid "Cross-Connect" @@ -12279,7 +12313,7 @@ msgstr "Lokale Installationsanweisungen" #: netbox/templates/core/rq_task_list.html:14 #: netbox/templates/core/rq_worker.html:7 msgid "Background Queues" -msgstr "Warteschlangen im Hintergrund" +msgstr "Hintergrundaufgaben" #: netbox/templates/core/rq_queue_list.html:24 #: netbox/templates/core/rq_queue_list.html:25 @@ -12669,7 +12703,7 @@ msgstr "Moduleinsätze hinzufügen" #: netbox/templates/dcim/device/poweroutlets.html:24 msgid "Add Power Outlets" -msgstr "Stromabgänge hinzufügen" +msgstr "Steckdosen hinzufügen" #: netbox/templates/dcim/device/powerports.html:24 msgid "Add Power Port" @@ -13174,7 +13208,7 @@ msgstr "Neues Mitglied hinzufügen" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Aktionen" @@ -13413,8 +13447,8 @@ msgid "" "This will remove all configured widgets and restore the " "default dashboard configuration." msgstr "" -"Das wird entfernt alles konfigurierte Widgets und stellen " -"Sie die Standard-Dashboard-Konfiguration wieder her." +"Das werden alle konfigurierte Widgets entfernt und die " +"Standard-Dashboard-Konfiguration wieder hergestellt." #: netbox/templates/extras/dashboard/reset.html:13 msgid "" @@ -13634,7 +13668,7 @@ msgstr "Zusätzliche Header" #: netbox/templates/extras/webhook.html:70 msgid "Body Template" -msgstr "Körperschablone" +msgstr "Body Template" #: netbox/templates/generic/bulk_add_component.html:29 msgid "Bulk Creation" @@ -14212,8 +14246,8 @@ msgid "" "installation documentation for further guidance." msgstr "" "Der HTTP-Dienst (z. B. nginx oder Apache) ist so konfiguriert, dass er " -"Dateien von STATISCHE_WURZEL Pfad. Beziehen Sie sich auf die Installationsdokumentation für weitere " +"Dateien von STATIIC_ROOT Pfad. Beziehen Sie sich auf the installation documentation für weitere " "Anleitungen." #: netbox/templates/media_failure.html:47 @@ -14222,7 +14256,7 @@ msgid "" "The file %(filename)s exists in the static root directory and " "is readable by the HTTP server." msgstr "" -"Die Akte %(filename)s existiert im statischen Stammverzeichnis " +"Die Datei%(filename)s existiert im statischen Stammverzeichnis " "und ist für den HTTP-Server lesbar." #: netbox/templates/media_failure.html:55 @@ -14232,7 +14266,7 @@ msgstr "" "Klicken Sie hier um erneut zu versuchen, NetBox" " zu laden." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14261,7 +14295,7 @@ msgid "Add Contact Group" msgstr "Kontaktgruppe hinzufügen" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Kontaktrolle" @@ -14299,7 +14333,7 @@ msgid "View" msgstr "Ansicht" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Einschränkungen" @@ -14326,11 +14360,6 @@ msgstr "Arbeitsspeicher" msgid "Disk Space" msgstr "Speicherplatz" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Virtuelle Maschine hinzufügen" @@ -14523,7 +14552,7 @@ msgstr "Tunnelabschlusspunkt" #: netbox/vpn/forms/model_forms.py:138 netbox/vpn/forms/model_forms.py:247 #: netbox/vpn/tables/tunnels.py:101 msgid "Outside IP" -msgstr "Äußere IP" +msgstr "Öffentliche / Outside IP" #: netbox/templates/vpn/tunneltermination.html:51 msgid "Peer Terminations" @@ -14571,57 +14600,57 @@ msgstr "Link-Eigenschaften" msgid "Distance" msgstr "Entfernung" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Übergeordnete Kontaktgruppe (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Übergeordnete Kontaktgruppe (URL-Slug)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Kontaktgruppe (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Kontaktgruppe (URL-Slug)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Kontakt (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Kontaktrolle (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Kontaktrolle (URL-Slug)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Kontaktgruppe" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Übergeordnete Mandantengruppe (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Übergeordnete Mandantengruppe (URL-Slug)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Mandantengruppe (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Mandantengruppe (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Mandantengruppe (URL-Slug)" @@ -14692,7 +14721,7 @@ msgstr "Mandantengruppe" #: netbox/tenancy/models/tenants.py:33 msgid "tenant groups" -msgstr "Mandanten-Gruppen" +msgstr "Mandantengruppen" #: netbox/tenancy/models/tenants.py:70 msgid "Tenant name must be unique per group." @@ -14788,11 +14817,11 @@ msgstr "Kann ändern" msgid "Can Delete" msgstr "Kann löschen" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Benutzeroberfläche" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14803,7 +14832,7 @@ msgstr "" "da er möglicherweise nicht mehr zugänglich ist, sobald das Token erstellt " "wurde." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14814,33 +14843,33 @@ msgstr "" "möchten. Beispiel: 10.1.1.0/24, 192.168.10.16/32.2001:db 8:1: " ":/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Passwort bestätigen" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Geben Sie zur Überprüfung dasselbe Passwort wie zuvor ein." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" "Passwörter stimmen nicht überein! Bitte überprüfen Sie Ihre Eingabe und " "versuchen Sie es erneut." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Zusätzliche Aktionen" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Zusätzlich zu den oben aufgeführten Maßnahmen gewährte Maßnahmen" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Objekte" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14851,11 +14880,11 @@ msgstr "" "entsprechen. Eine Liste mehrerer Objekte führt zu einer logischen ODER-" "Operation." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Es muss mindestens eine Aktion ausgewählt werden." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Ungültiger Filter für {model}: {error}" @@ -15121,7 +15150,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Ungültiger Wert für ein Multiple-Choice-Feld: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Objekt wurde nicht gefunden: %(value)s" @@ -15135,11 +15164,16 @@ msgstr "" "„{value}\"ist kein eindeutiger Wert für dieses Feld; es wurden mehrere " "Objekte gefunden" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "„{field_name}\"ist ein ungültiger Zugriffs-Feldname." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Der Objekttyp muss als \".“ angegeben werden." -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Ungültiger Objekttyp" @@ -15741,19 +15775,19 @@ msgstr "DSA-Signaturen" msgid "Group {n}" msgstr "Gruppe {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Privates Ethernet-LAN" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Virtuelles privates Ethernet-LAN" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Privater Ethernet-Baum" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Virtueller privater Ethernet-Baum" @@ -15785,33 +15819,31 @@ msgstr "Tunnel (Name)" msgid "Outside IP (ID)" msgstr "Externe IP (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "IKE-Richtlinie (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "IKE-Richtlinie (Name)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "IPSec-Richtlinie (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "IPSec-Richtlinie (Name)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (URL-Slug)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "VM-Schnittstelle (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (Name)" @@ -16096,11 +16128,11 @@ msgstr "Ein Objekt kann jeweils nur an einem Tunnel terminiert werden." #: netbox/vpn/models/tunnels.py:156 msgid "tunnel termination" -msgstr "Tunnel-Abschlusspunkt" +msgstr "Tunnelabschlusspunkt" #: netbox/vpn/models/tunnels.py:157 msgid "tunnel terminations" -msgstr "Tunnel-Abschlusspunkte" +msgstr "Tunnelabschlusspunkte" #: netbox/vpn/models/tunnels.py:174 #, python-brace-format diff --git a/netbox/translations/es/LC_MESSAGES/django.po b/netbox/translations/es/LC_MESSAGES/django.po index 92b1d83c5..bacc34b10 100644 --- a/netbox/translations/es/LC_MESSAGES/django.po +++ b/netbox/translations/es/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Spanish (https://app.transifex.com/netbox-community/teams/178115/es/)\n" @@ -23,7 +23,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Llave" @@ -59,7 +59,7 @@ msgstr "Utilizado por última vez" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "IPs permitidas" @@ -88,8 +88,8 @@ msgstr "La contraseña se ha cambiado correctamente." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -101,8 +101,8 @@ msgstr "Aprovisionamiento" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -113,8 +113,8 @@ msgid "Active" msgstr "Activo" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Desconectado" @@ -127,7 +127,7 @@ msgstr "Desaprovisionamiento" msgid "Decommissioned" msgstr "Desmantelado" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primaria" @@ -153,7 +153,7 @@ msgstr "Inactivo" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Región (ID)" @@ -165,7 +165,7 @@ msgstr "Región (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Región (slug)" @@ -194,7 +194,7 @@ msgstr "Grupo de sitios (slug)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -260,7 +260,7 @@ msgstr "Sitio" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Sitio (babosa)" @@ -314,7 +314,7 @@ msgstr "Tipo de circuito (slug)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Sitio (ID)" @@ -333,13 +333,13 @@ msgstr "Terminación A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -348,7 +348,7 @@ msgstr "Búsqueda" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -532,9 +532,9 @@ msgstr "Descripción" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -571,9 +571,9 @@ msgstr "ID de servicio" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -586,7 +586,7 @@ msgid "Color" msgstr "Color" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -609,7 +609,7 @@ msgstr "Color" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -643,14 +643,14 @@ msgid "Type" msgstr "Tipo" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Cuenta de proveedor" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -666,8 +666,8 @@ msgstr "Cuenta de proveedor" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -696,7 +696,7 @@ msgstr "Cuenta de proveedor" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -720,8 +720,8 @@ msgstr "Estado" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -887,21 +887,21 @@ msgstr "Detalles de terminación" msgid "Priority" msgstr "Prioridad" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Proveedor asignado" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Cuenta de proveedor asignada" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Tipo de circuito" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -913,8 +913,8 @@ msgstr "Tipo de circuito" msgid "Operational status" msgstr "Estado operativo" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -930,7 +930,7 @@ msgstr "Estado operativo" msgid "Assigned tenant" msgstr "Inquilino asignado" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -938,7 +938,7 @@ msgstr "Inquilino asignado" msgid "Termination" msgstr "Terminación" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1094,7 +1094,7 @@ msgstr "Lado del término" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Asignación" @@ -1149,11 +1149,11 @@ msgid "Circuit Group" msgstr "Grupo de circuitos" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1176,9 +1176,9 @@ msgid "Unique circuit ID" msgstr "ID de circuito único" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1272,7 +1272,7 @@ msgstr "ID del panel de conexiones y números de puerto" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1311,11 +1311,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1399,11 +1399,11 @@ msgstr "redes de proveedores" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1541,8 +1541,8 @@ msgstr "Tasa de compromiso" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1619,8 +1619,8 @@ msgstr "Completado" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Falló" @@ -1686,42 +1686,42 @@ msgstr "Detenido" msgid "Cancelled" msgstr "Cancelado" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Local" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Nombre de usuario" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Solo se usa para clonar con HTTP (S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Contraseña" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Rama" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Fallo al obtener datos remotos ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "ID de clave de acceso de AWS" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Clave de acceso secreta de AWS" @@ -1776,7 +1776,7 @@ msgstr "Nombre de usuario" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1890,7 +1890,7 @@ msgstr "Completado antes" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "usuario" @@ -1946,7 +1946,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Elevaciones de estanterías" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1989,7 +1989,7 @@ msgstr "Preferencias de usuario" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Misceláneo" @@ -2049,7 +2049,7 @@ msgstr "" "El registro de cambios no es compatible con este tipo de objeto ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2086,20 +2086,20 @@ msgid "Config revision #{id}" msgstr "Revisión de configuración #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2114,8 +2114,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2230,60 +2230,60 @@ msgstr "archivo gestionado" msgid "managed files" msgstr "archivos gestionados" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "programado" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "intervalo" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Intervalo de recurrencia (en minutos)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "iniciado" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "completado" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "dato" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "error" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "ID de trabajo" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "trabajo" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "trabajos" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "No se pueden asignar trabajos a este tipo de objeto ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" "Estado no válido para la terminación del trabajo. Las opciones son: " "{choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2334,7 +2334,7 @@ msgid "Last updated" msgstr "Última actualización" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2526,7 +2526,7 @@ msgid "Staging" msgstr "Puesta en escena" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Desmantelamiento" @@ -2590,17 +2590,17 @@ msgstr "Obsoleto" msgid "Millimeters" msgstr "Milímetros" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Pulgadas" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "De adelante hacia atrás" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "De atrás hacia adelante" @@ -2613,8 +2613,8 @@ msgstr "De atrás hacia adelante" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2658,7 +2658,7 @@ msgstr "Delantera" msgid "Rear" msgstr "Trasera" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Escenificado" @@ -2667,67 +2667,79 @@ msgstr "Escenificado" msgid "Inventory" msgstr "Inventario" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "De izquierda a derecha" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "De derecha a izquierda" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "De lado a atrás" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "De atrás hacia los lados" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "De abajo hacia arriba" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "De arriba a abajo" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Pasivo" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Mezclado" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (sin bloqueo)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (Bloqueo)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Estilo californiano" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "Internacional/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Proprietario" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Otros" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/Internacional" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Físico" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Virtual" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2735,13 +2747,13 @@ msgstr "Virtual" msgid "Wireless" msgstr "inalámbrico" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Interfaces virtuales" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2749,27 +2761,27 @@ msgstr "Interfaces virtuales" msgid "Bridge" msgstr "puente" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Grupo de agregación de enlaces (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (fijo)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modular)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (placa base)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Celular" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2777,130 +2789,130 @@ msgstr "Celular" msgid "Serial" msgstr "serie" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Coaxial" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "Apilamiento" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Mitad" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Lleno" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Acceso" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Etiquetado" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Etiquetado (Todos)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "Estándar IEEE" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "Pasivo 24 V (2 pares)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "Pasivo de 24 V (4 pares)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "Pasivo 48 V (2 pares)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "Pasivo de 48 V (4 pares)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Cobre" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Fibra óptica" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Fibra" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Conectado" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilómetros" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Medidores" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Centímetros" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Millas" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Pies" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogramos" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Gramos" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Libras" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Onzas" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Redundante" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Monofásico" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Trifásico" @@ -3152,7 +3164,7 @@ msgstr "Es de profundidad total" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3196,7 +3208,7 @@ msgid "Device model" msgstr "Modelo de dispositivo" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Interfaz (ID)" @@ -3210,8 +3222,8 @@ msgstr "Bahía de módulos (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Dispositivo (ID)" @@ -3220,8 +3232,8 @@ msgid "Rack (name)" msgstr "Rack (nombre)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Dispositivo (nombre)" @@ -3271,8 +3283,8 @@ msgstr "VID asignado" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3308,7 +3320,7 @@ msgid "VRF (RD)" msgstr "VRF (ROJO)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3364,7 +3376,7 @@ msgstr "Contexto de dispositivo virtual (identificador)" msgid "Wireless LAN" msgstr "LAN inalámbrica" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Enlace inalámbrico" @@ -3392,12 +3404,12 @@ msgstr "Maestro (ID)" msgid "Master (name)" msgstr "Maestro (nombre)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Inquilino (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Inquilino (babosa)" @@ -3424,7 +3436,7 @@ msgstr "Etiquetas" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3473,8 +3485,8 @@ msgstr "Zona horaria" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3538,7 +3550,7 @@ msgstr "Profundidad de montaje" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3599,8 +3611,8 @@ msgstr "Numeración" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3708,12 +3720,12 @@ msgstr "Número de pieza" msgid "U height" msgstr "Altura en U" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Excluir de la utilización" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3802,10 +3814,10 @@ msgstr "Plataforma" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3932,8 +3944,8 @@ msgid "Maximum draw" msgstr "Sorteo máximo" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Consumo máximo de energía (vatios)" @@ -3942,8 +3954,8 @@ msgid "Allocated draw" msgstr "Sorteo asignado" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Consumo de energía asignado (vatios)" @@ -3964,16 +3976,16 @@ msgstr "Solo administración" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "Modo PoE" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "Tipo de PoE" @@ -3997,7 +4009,7 @@ msgstr "Función inalámbrica" msgid "Module" msgstr "Módulo" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "DESFASE" @@ -4009,7 +4021,7 @@ msgstr "Contextos de dispositivos virtuales" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4056,7 +4068,7 @@ msgid "Wireless LAN group" msgstr "Grupo LAN inalámbrico" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4445,7 +4457,7 @@ msgstr "Puerto trasero correspondiente" msgid "Physical medium classification" msgstr "Clasificación de medios físicos" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Dispositivo instalado" @@ -4534,7 +4546,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} no se encontró la terminación lateral: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4586,7 +4598,7 @@ msgstr "IPv6 principal" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "Dirección IPv6 con longitud de prefijo, por ejemplo, 2001:db8: :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4750,7 +4762,7 @@ msgid "Mgmt only" msgstr "Solo administración" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4783,7 +4795,7 @@ msgstr "Potencia de transmisión (dBm)" msgid "Cable" msgstr "Cable" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Descubierto" @@ -4935,7 +4947,7 @@ msgid "Front Port" msgstr "Puerto frontal" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5074,7 +5086,7 @@ msgstr "" "coincidir con el número seleccionado de posiciones de los puertos traseros " "({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5099,7 +5111,7 @@ msgstr "Se debe especificar un puesto para el primer miembro del VC." #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "etiqueta" @@ -5205,7 +5217,7 @@ msgstr "" "módulo cuando se conecta a un tipo de módulo." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Etiqueta física" @@ -5231,138 +5243,138 @@ msgstr "" "Una plantilla de componente debe estar asociada a un tipo de dispositivo o a" " un tipo de módulo." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "plantilla de puerto de consola" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "plantillas de puertos de consola" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "plantilla de puerto de servidor de consola" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "plantillas de puertos de servidor de consola" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "sorteo máximo" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "sorteo asignado" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "plantilla de puerto de alimentación" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "plantillas de puertos de alimentación" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "El sorteo asignado no puede superar el sorteo máximo ({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "pierna de alimentación" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Fase (para alimentaciones trifásicas)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "plantilla de toma de corriente" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "plantillas de tomas de corriente" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Puerto de alimentación principal ({power_port}) debe pertenecer al mismo " "tipo de dispositivo" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Puerto de alimentación principal ({power_port}) debe pertenecer al mismo " "tipo de módulo" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "solo administración" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "interfaz de puente" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "función inalámbrica" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "plantilla de interfaz" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "plantillas de interfaz" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Una interfaz no se puede conectar a sí misma." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" "Interfaz de puente ({bridge}) debe pertenecer al mismo tipo de dispositivo" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Interfaz de puente ({bridge}) debe pertenecer al mismo tipo de módulo" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "posición del puerto trasero" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "plantilla de puerto frontal" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "plantillas de puertos frontales" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Puerto trasero ({name}) debe pertenecer al mismo tipo de dispositivo" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5371,48 +5383,48 @@ msgstr "" "Posición del puerto trasero no válida ({position}); puerto trasero {name} " "solo tiene {count} posiciones" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "posiciones" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "plantilla de puerto trasero" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "plantillas de puertos traseros" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "posición" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Identificador al que se debe hacer referencia al cambiar el nombre de los " "componentes instalados" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "plantilla de bahía de módulos" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "plantillas de compartimentos de módulos" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "plantilla de compartimento de dispositivos" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "plantillas de compartimentos de dispositivos" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5422,207 +5434,207 @@ msgstr "" "configurarse como «principal» para permitir compartimentos para " "dispositivos." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "ID de pieza" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Identificador de pieza asignado por el fabricante" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "plantilla de artículos de inventario" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "plantillas de artículos de inventario" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Los componentes no se pueden mover a un dispositivo diferente." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "extremo del cable" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "marcar conectado" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Tratar como si hubiera un cable conectado" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "Debe especificar el extremo del cable (A o B) al conectar un cable." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "El extremo del cable no se debe colocar sin cable." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "No se puede marcar como conectado con un cable conectado." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} los modelos deben declarar una propiedad parent_object" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Tipo de puerto físico" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "velocidad" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Velocidad de puerto en bits por segundo" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "puerto de consola" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "puertos de consola" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "puerto de servidor de consola" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "puertos de servidor de consola" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "puerto de alimentación" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "puertos de alimentación" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "toma de corriente" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "tomas de corriente" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Puerto de alimentación principal ({power_port}) debe pertenecer al mismo " "dispositivo" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "modo" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "Estrategia de etiquetado IEEE 802.1Q" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "interfaz principal" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "LAG principal" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Esta interfaz se usa solo para la administración fuera de banda" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "velocidad (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "dúplex" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "Nombre mundial de 64 bits" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "canal inalámbrico" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "frecuencia de canal (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Se rellena por el canal seleccionado (si está configurado)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "potencia de transmisión (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "LAN inalámbricas" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "VLAN sin etiquetar" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "VLAN etiquetadas" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "interfaz" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "interfaz" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} las interfaces no pueden tener un cable conectado." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type} las interfaces no se pueden marcar como conectadas." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Una interfaz no puede ser su propia interfaz principal." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "Solo se pueden asignar interfaces virtuales a una interfaz principal." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5631,7 +5643,7 @@ msgstr "" "La interfaz principal seleccionada ({interface}) pertenece a un dispositivo " "diferente ({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5640,7 +5652,7 @@ msgstr "" "La interfaz principal seleccionada ({interface}) pertenece a {device}, que " "no forma parte del chasis virtual {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5649,7 +5661,7 @@ msgstr "" "La interfaz de puente seleccionada ({bridge}) pertenece a un dispositivo " "diferente ({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5658,15 +5670,15 @@ msgstr "" "La interfaz de puente seleccionada ({interface}) pertenece a {device}, que " "no forma parte del chasis virtual {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "Las interfaces virtuales no pueden tener una interfaz LAG principal." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Una interfaz LAG no puede ser su propia interfaz principal." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." @@ -5674,7 +5686,7 @@ msgstr "" "La interfaz LAG seleccionada ({lag}) pertenece a un dispositivo diferente " "({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5683,51 +5695,51 @@ msgstr "" "La interfaz LAG seleccionada ({lag}) pertenece a {device}, que no forma " "parte del chasis virtual {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Las interfaces virtuales no pueden tener un modo PoE." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Las interfaces virtuales no pueden tener un tipo PoE." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "Debe especificar el modo PoE al designar un tipo de PoE." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" "La función inalámbrica solo se puede configurar en las interfaces " "inalámbricas." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "El canal solo se puede configurar en las interfaces inalámbricas." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" "La frecuencia del canal solo se puede configurar en las interfaces " "inalámbricas." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "" "No se puede especificar la frecuencia personalizada con el canal " "seleccionado." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" "El ancho del canal solo se puede establecer en las interfaces inalámbricas." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" "No se puede especificar un ancho personalizado con el canal seleccionado." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5736,24 +5748,24 @@ msgstr "" "La VLAN sin etiquetar ({untagged_vlan}) debe pertenecer al mismo sitio que " "el dispositivo principal de la interfaz o debe ser global." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Posición mapeada en el puerto trasero correspondiente" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "puerto frontal" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "puertos frontales" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Puerto trasero ({rear_port}) debe pertenecer al mismo dispositivo" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5762,19 +5774,19 @@ msgstr "" "Posición del puerto trasero no válida ({rear_port_position}): puerto trasero" " {name} solo tiene {positions} posiciones." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Número de puertos frontales que se pueden mapear" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "puerto trasero" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "puertos traseros" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5783,40 +5795,40 @@ msgstr "" "El número de posiciones no puede ser inferior al número de puertos frontales" " mapeados ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "compartimiento de módulos" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "compartimentos de módulos" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "" "Una bahía de módulos no puede pertenecer a un módulo instalado en ella." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "compartimiento de dispositivos" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "compartimentos para dispositivos" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" "Este tipo de dispositivo ({device_type}) no admite compartimentos para " "dispositivos." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "No se puede instalar un dispositivo en sí mismo." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5824,61 +5836,61 @@ msgstr "" "No se puede instalar el dispositivo especificado; el dispositivo ya está " "instalado en {bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "rol de artículo de inventario" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "roles de artículos de inventario" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "número de serie" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "etiqueta de activo" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Una etiqueta única que se utiliza para identificar este artículo" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "descubierto" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Este artículo se descubrió automáticamente" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "artículo de inventario" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "artículos de inventario" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "No se puede asignar a sí mismo como padre." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "" "El artículo del inventario principal no pertenece al mismo dispositivo." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "No se puede mover un artículo del inventario con hijos a cargo" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" "No se puede asignar un artículo de inventario a un componente de otro " @@ -6035,7 +6047,7 @@ msgstr "La función que cumple este dispositivo" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Número de serie del chasis, asignado por el fabricante" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Una etiqueta única que se utiliza para identificar este dispositivo" @@ -6047,12 +6059,12 @@ msgstr "posición (U)" msgid "rack face" msgstr "cara del estante" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "IPv4 principal" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "IPv6 principal" @@ -6206,15 +6218,24 @@ msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" "Un dispositivo asignado a un chasis virtual debe tener su posición definida." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"El dispositivo no se puede extraer del chasis virtual {virtual_chassis} " +"porque actualmente está designado como su maestro." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "módulo" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "módulos" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6223,22 +6244,22 @@ msgstr "" "El módulo debe instalarse en un compartimiento de módulos que pertenezca al " "dispositivo asignado ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "dominio" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "chasis virtual" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "El maestro seleccionado ({master}) no está asignado a este chasis virtual." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6247,34 +6268,34 @@ msgstr "" "No se puede eliminar el chasis virtual {self}. Hay interfaces miembros que " "forman interfaces LAG entre chasis." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identificador" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Identificador numérico exclusivo del dispositivo principal" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "comentarios" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "contexto de dispositivo virtual" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "contextos de dispositivos virtuales" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} no es un IPv{family} dirección." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "La dirección IP principal debe pertenecer a una interfaz del dispositivo " @@ -6707,7 +6728,7 @@ msgstr "Plantilla de configuración" msgid "Site Group" msgstr "Grupo de sitios" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6716,12 +6737,12 @@ msgstr "Grupo de sitios" msgid "IP Address" msgstr "Dirección IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Dirección IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Dirección IPv6" @@ -6759,8 +6780,8 @@ msgstr "Puertos de alimentación" msgid "Power outlets" msgstr "tomas de corriente" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6798,8 +6819,8 @@ msgstr "Artículos de inventario" msgid "Module Bay" msgstr "Bahía de módulos" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6857,75 +6878,75 @@ msgstr "Grupos FHRP" msgid "Tunnel" msgstr "Túnel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Solo administración" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Módulo instalado" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Serie del módulo" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Etiqueta de activo del módulo" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Estado del módulo" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Componente" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Artículos" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Tipos de dispositivos" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Tipos de módulos" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Plataformas" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Plataforma predeterminada" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Profundidad total" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "Altura en U" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Instancias" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6936,7 +6957,7 @@ msgstr "Instancias" msgid "Console Ports" msgstr "Puertos de consola" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6947,7 +6968,7 @@ msgstr "Puertos de consola" msgid "Console Server Ports" msgstr "Puertos de servidor de consola" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6958,7 +6979,7 @@ msgstr "Puertos de servidor de consola" msgid "Power Ports" msgstr "Puertos de alimentación" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6969,7 +6990,7 @@ msgstr "Puertos de alimentación" msgid "Power Outlets" msgstr "Tomas de corriente" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6979,7 +7000,7 @@ msgstr "Tomas de corriente" msgid "Front Ports" msgstr "Puertos frontales" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6990,7 +7011,7 @@ msgstr "Puertos frontales" msgid "Rear Ports" msgstr "Puertos traseros" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6998,7 +7019,7 @@ msgstr "Puertos traseros" msgid "Device Bays" msgstr "Bahías de dispositivos" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7440,24 +7461,24 @@ msgstr "Tipo de widget" msgid "Unregistered widget class: {name}" msgstr "Clase de widget no registrada: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} debe definir un método render ()." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Nota" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "Muestra contenido personalizado arbitrario. Markdown es compatible." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Recuentos de objetos" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7465,61 +7486,61 @@ msgstr "" "Muestre un conjunto de modelos de NetBox y el número de objetos creados para" " cada tipo." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Filtros para aplicar al contar el número de objetos" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Formato no válido. Los filtros de objetos se deben pasar como un " "diccionario." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Lista de objetos" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Muestra una lista arbitraria de objetos." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "El número predeterminado de objetos que se van a mostrar" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" "Formato no válido. Los parámetros de URL se deben pasar como un diccionario." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "Fuente RSS" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Inserte una fuente RSS desde un sitio web externo." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "URL del feed" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "El número máximo de objetos que se van a mostrar" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "Cuánto tiempo se debe almacenar el contenido en caché (en segundos)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Marcadores" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Muestra tus marcadores personales" @@ -7562,8 +7583,8 @@ msgstr "Tipo de clúster (babosa)" msgid "Tenant group" msgstr "Grupo de inquilinos" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Grupo de inquilinos (slug)" @@ -7700,7 +7721,7 @@ msgstr "Está activo" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Tipos de objetos" @@ -7802,8 +7823,8 @@ msgstr "La clasificación de entrada" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "usuarios" @@ -7815,8 +7836,8 @@ msgstr "Nombres de usuario separados por comas y entre comillas dobles" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Grupos" @@ -8550,10 +8571,19 @@ msgstr "conjunto de opciones de campo personalizadas" msgid "custom field choice sets" msgstr "conjuntos de opciones de campo personalizadas" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Debe definir opciones básicas o adicionales." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"No se puede eliminar la opción {choice} como los hay {model} objetos que " +"hacen referencia a él." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "diseño" @@ -9132,64 +9162,64 @@ msgstr "Mensaje" msgid "Method" msgstr "Método" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Asegúrese de que este valor sea igual a %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Asegúrese de que este valor no sea igual %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Este campo debe estar vacío." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Este campo no debe estar vacío." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Las reglas de validación se deben pasar como un diccionario" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "Fallo en la validación personalizada para {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Atributo no válido»{name}«para solicitar" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Atributo no válido»{name}«para {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Tu panel de control se ha restablecido." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Widget añadido: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Widget actualizado: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Widget eliminado: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Error al eliminar el widget: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "" "No se puede ejecutar el script: el proceso de trabajo de RQ no se está " @@ -9261,19 +9291,19 @@ msgstr "Texto plano" msgid "Invalid IP address format: {address}" msgstr "Formato de dirección IP no válido: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Objetivo de importación" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Destino de importación (nombre)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Objetivo de exportación" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Destino de exportación (nombre)" @@ -9343,11 +9373,11 @@ msgstr "Prefijos que contienen este prefijo o IP" msgid "Mask length" msgstr "Longitud de la máscara" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "Número de VLAN (1-4094)" @@ -9367,23 +9397,23 @@ msgid "Parent prefix" msgstr "Prefijo principal" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Máquina virtual (nombre)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Máquina virtual (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Interfaz (nombre)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "Interfaz VM (nombre)" @@ -9411,19 +9441,27 @@ msgstr "Servicio (ID)" msgid "NAT inside IP address (ID)" msgstr "Dirección IP interna de NAT (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Interfaz asignada" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Interfaz VM asignada" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "Dirección IP (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "dirección IP" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "IPv4 principal (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "IPv6 principal (ID)" @@ -9637,10 +9675,6 @@ msgstr "Máquina virtual" msgid "Parent VM of assigned interface (if any)" msgstr "VM principal de la interfaz asignada (si existe)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Interfaz asignada" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Es primaria" @@ -11221,9 +11255,9 @@ msgstr "Admin" msgid "API Tokens" msgstr "Tokens de API" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Permisos" @@ -11374,63 +11408,63 @@ msgstr "No se pueden agregar tiendas al registro después de la inicialización" msgid "Cannot delete stores from registry" msgstr "No se pueden eliminar las tiendas del registro" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "checa" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "danés" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "alemán" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "Inglés" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "española" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "francesa" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "italiano" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "japonés" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "holandesa" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "polaco" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "portugués" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "rusa" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "turca" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "ucraniana" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "chino" @@ -13110,7 +13144,7 @@ msgstr "Agregar nuevo miembro" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Acciones" @@ -14167,7 +14201,7 @@ msgstr "" "Haga clic aquí para intentar cargar NetBox de " "nuevo." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14196,7 +14230,7 @@ msgid "Add Contact Group" msgstr "Agregar grupo de contactos" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Función de contacto" @@ -14234,7 +14268,7 @@ msgid "View" msgstr "Ver" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Restricciones" @@ -14261,11 +14295,6 @@ msgstr "Memoria" msgid "Disk Space" msgstr "Espacio en disco" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Agregar máquina virtual" @@ -14506,57 +14535,57 @@ msgstr "Propiedades del enlace" msgid "Distance" msgstr "Distancia" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Grupo de contacto de padres (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Grupo de contacto para padres (slug)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Grupo de contactos (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Grupo de contacto (slug)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Contacto (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Rol de contacto (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Rol de contacto (babosa)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Grupo de contactos" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Grupo de padres e inquilinos (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Grupo de padres e inquilinos (slug)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Grupo de inquilinos (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Grupo de inquilinos (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Grupo de inquilinos (babosa)" @@ -14721,11 +14750,11 @@ msgstr "Puede cambiar" msgid "Can Delete" msgstr "Puede eliminar" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Interfaz de usuario" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14735,7 +14764,7 @@ msgstr "" "su clave antes de enviar este formulario, ya que es posible que ya " "no se pueda acceder a él una vez que se haya creado el token." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14745,33 +14774,33 @@ msgstr "" "blanco para que no haya restricciones. Ejemplo: 10.1.1.0/24, " "192.168.10.16/32, 2001:db 8:1: :/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Confirme la contraseña" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Introduce la misma contraseña que antes para verificarla." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" "¡Las contraseñas no coinciden! Compruebe los datos introducidos e inténtelo " "de nuevo." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Acciones adicionales" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Acciones concedidas además de las enumeradas anteriormente" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Objetos" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14782,11 +14811,11 @@ msgstr "" "este tipo. Una lista de varios objetos dará como resultado una operación OR " "lógica." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Debe seleccionarse al menos una acción." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Filtro no válido para {model}: {error}" @@ -15052,7 +15081,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Valor no válido para un campo de opción múltiple: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Objeto no encontrado: %(value)s" @@ -15066,11 +15095,16 @@ msgstr "" "«{value}\"no es un valor único para este campo; se han encontrado varios " "objetos" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "«{field_name}\"es un nombre de campo de acceso no válido." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "El tipo de objeto debe especificarse como».»" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Tipo de objeto no válido" @@ -15668,19 +15702,19 @@ msgstr "Firmas de la DSA" msgid "Group {n}" msgstr "Grupo {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "LAN privada Ethernet" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "LAN privada virtual Ethernet" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Árbol privado de Ethernet" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Árbol privado virtual de Ethernet" @@ -15712,33 +15746,31 @@ msgstr "Túnel (nombre)" msgid "Outside IP (ID)" msgstr "IP externa (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "Política de IKE (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "Política IKE (nombre)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "Política IPSec (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "Política IPSec (nombre)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "VPN L2 (babosa)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "Interfaz VM (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (nombre)" diff --git a/netbox/translations/fr/LC_MESSAGES/django.po b/netbox/translations/fr/LC_MESSAGES/django.po index 6f155f4a2..25b02e3a4 100644 --- a/netbox/translations/fr/LC_MESSAGES/django.po +++ b/netbox/translations/fr/LC_MESSAGES/django.po @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: French (https://app.transifex.com/netbox-community/teams/178115/fr/)\n" @@ -30,7 +30,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Clé" @@ -66,7 +66,7 @@ msgstr "Dernière utilisation" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "IP autorisées" @@ -95,8 +95,8 @@ msgstr "Votre mot de passe a été modifié avec succès." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -108,8 +108,8 @@ msgstr "Approvisionnement" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -120,8 +120,8 @@ msgid "Active" msgstr "Actif" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Hors ligne" @@ -134,7 +134,7 @@ msgstr "Déprovisionnement" msgid "Decommissioned" msgstr "Mis hors service" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primaire" @@ -160,7 +160,7 @@ msgstr "Inactif" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Région (ID)" @@ -172,7 +172,7 @@ msgstr "Région (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Région (slug)" @@ -201,7 +201,7 @@ msgstr "Groupe de sites (slug)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -267,7 +267,7 @@ msgstr "Site" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Site (slug)" @@ -321,7 +321,7 @@ msgstr "Type de circuit (slug)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Site (ID)" @@ -340,13 +340,13 @@ msgstr "Terminaison A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -355,7 +355,7 @@ msgstr "Rechercher" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -539,9 +539,9 @@ msgstr "Description" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -578,9 +578,9 @@ msgstr "Identifiant du service" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -593,7 +593,7 @@ msgid "Color" msgstr "Couleur" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -616,7 +616,7 @@ msgstr "Couleur" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -650,14 +650,14 @@ msgid "Type" msgstr "Type" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Identifiant de compte du prestataire" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -673,8 +673,8 @@ msgstr "Identifiant de compte du prestataire" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -703,7 +703,7 @@ msgstr "Identifiant de compte du prestataire" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -727,8 +727,8 @@ msgstr "Statut" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -894,21 +894,21 @@ msgstr "Détails de terminaison" msgid "Priority" msgstr "Priorité" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Prestataire assigné" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Compte opérateur associé" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Type de circuit" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -920,8 +920,8 @@ msgstr "Type de circuit" msgid "Operational status" msgstr "État opérationnel" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -937,7 +937,7 @@ msgstr "État opérationnel" msgid "Assigned tenant" msgstr "Locataire associé" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -945,7 +945,7 @@ msgstr "Locataire associé" msgid "Termination" msgstr "Terminaison" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1101,7 +1101,7 @@ msgstr "Côté terme" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Affectation" @@ -1156,11 +1156,11 @@ msgid "Circuit Group" msgstr "Groupe de circuits" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1183,9 +1183,9 @@ msgid "Unique circuit ID" msgstr "ID de circuit unique" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1279,7 +1279,7 @@ msgstr "ID du panneau de raccordement et numéro (s) de port" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1318,11 +1318,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1406,11 +1406,11 @@ msgstr "réseaux de fournisseurs" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1548,8 +1548,8 @@ msgstr "Bande passante garantie" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1627,8 +1627,8 @@ msgstr "Terminé" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Échoué" @@ -1694,42 +1694,42 @@ msgstr "Arrêté" msgid "Cancelled" msgstr "Annulé" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Local" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Nom d'utilisateur" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Utilisé uniquement pour le clonage avec HTTP(S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Mot de passe" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Branche" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "La récupération des données distantes a échoué ({name}) : {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "ID de clé d'accès AWS" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Clé d'accès secrète AWS" @@ -1784,7 +1784,7 @@ msgstr "Nom d'utilisateur" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1898,7 +1898,7 @@ msgstr "Terminé avant" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Utilisateur" @@ -1956,7 +1956,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Élévations des baies" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1999,7 +1999,7 @@ msgstr "Préférences de l'utilisateur" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Divers" @@ -2061,7 +2061,7 @@ msgstr "" "d'objet ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2098,20 +2098,20 @@ msgid "Config revision #{id}" msgstr "Révision de configuration #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2126,8 +2126,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2243,60 +2243,60 @@ msgstr "fichier géré" msgid "managed files" msgstr "fichiers gérés" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "prévu" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "intervalle" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Intervalle de récurrence (en minutes)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "commencé" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "terminé" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "données" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "erreur" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "ID de tâche" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "emploi" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "emplois" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Les tâches ne peuvent pas être attribuées à ce type d'objet ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" "Statut invalide pour l'arrêt de la tâche. Les choix sont les suivants : " "{choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2347,7 +2347,7 @@ msgid "Last updated" msgstr "Dernière mise à jour" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2539,7 +2539,7 @@ msgid "Staging" msgstr "Mise en scène" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Démantèlement" @@ -2603,17 +2603,17 @@ msgstr "Obsolète" msgid "Millimeters" msgstr "Millimètres" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Pouces" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "De l'avant vers l'arrière" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "De l'arrière vers l'avant" @@ -2626,8 +2626,8 @@ msgstr "De l'arrière vers l'avant" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2671,7 +2671,7 @@ msgstr "Avant" msgid "Rear" msgstr "Arrière" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Mis en scène" @@ -2680,67 +2680,79 @@ msgstr "Mis en scène" msgid "Inventory" msgstr "Inventaire" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "De gauche à droite" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "De droite à gauche" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "D'un côté à l'arrière" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "De l'arrière vers le côté" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "De bas en haut" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "De haut en bas" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Passif" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Mixte" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (non verrouillable)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (verrouillage)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Style californien" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "International/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Propriétaire" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Autres" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/International" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Physique" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Virtuel" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2748,13 +2760,13 @@ msgstr "Virtuel" msgid "Wireless" msgstr "Sans fil" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Interfaces virtuelles" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2762,27 +2774,27 @@ msgstr "Interfaces virtuelles" msgid "Bridge" msgstr "Passerelle" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Groupe d'agrégation de liens (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (fixe)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modulaire)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (panneau arrière)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Cellulaire" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2790,130 +2802,130 @@ msgstr "Cellulaire" msgid "Serial" msgstr "Série" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Coaxiale" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "Empilage" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "La moitié" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Complet" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Automatique" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Accès" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Tagué" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Tagué (Tous)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "Norme IEEE" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "24 V passif (2 paires)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "24 V passif (4 paires)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "48 V passif (2 paires)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "48 V passif (4 paires)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Cuivre" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "fibre optique" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Fibre" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Connecté" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilomètres" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Compteurs" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Centimètres" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Miles" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Pieds" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogrammes" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Grammes" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Livres" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Onces" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Redondant" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Monophasé" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Triphasé" @@ -3165,7 +3177,7 @@ msgstr "Est en pleine profondeur" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3209,7 +3221,7 @@ msgid "Device model" msgstr "Modèle d'appareil" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Interface (ID)" @@ -3223,8 +3235,8 @@ msgstr "Baie modulaire (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Appareil (ID)" @@ -3233,8 +3245,8 @@ msgid "Rack (name)" msgstr "Baie (nom)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Appareil (nom)" @@ -3284,8 +3296,8 @@ msgstr "VID attribué" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3321,7 +3333,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (IDENTIFIANT)" @@ -3377,7 +3389,7 @@ msgstr "Contexte du périphérique virtuel (identifiant)" msgid "Wireless LAN" msgstr "LAN sans fil" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Liaison sans fil" @@ -3405,12 +3417,12 @@ msgstr "Maître (ID)" msgid "Master (name)" msgstr "Master (nom)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Locataire (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Locataire (slug)" @@ -3437,7 +3449,7 @@ msgstr "Balises" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3486,8 +3498,8 @@ msgstr "Fuseau horaire" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3551,7 +3563,7 @@ msgstr "Profondeur de montage" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3612,8 +3624,8 @@ msgstr "Numérotation" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3721,12 +3733,12 @@ msgstr "Numéro de pièce" msgid "U height" msgstr "Hauteur en U" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Exclure de l'utilisation" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3815,10 +3827,10 @@ msgstr "Plateforme" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3945,8 +3957,8 @@ msgid "Maximum draw" msgstr "Tirage maximum" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Consommation électrique maximale (watts)" @@ -3955,8 +3967,8 @@ msgid "Allocated draw" msgstr "Tirage au sort attribué" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Consommation électrique allouée (watts)" @@ -3977,16 +3989,16 @@ msgstr "Gestion uniquement" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "Mode PoE" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "Type PoE" @@ -4010,7 +4022,7 @@ msgstr "Rôle sans fil" msgid "Module" msgstr "Modules" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "DÉCALAGE" @@ -4022,7 +4034,7 @@ msgstr "Contextes des appareils virtuels" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4069,7 +4081,7 @@ msgid "Wireless LAN group" msgstr "Groupe LAN sans fil" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4457,7 +4469,7 @@ msgstr "Port arrière correspondant" msgid "Physical medium classification" msgstr "Classification des supports physiques" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Appareil installé" @@ -4546,7 +4558,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} terminaison latérale introuvable : {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4598,7 +4610,7 @@ msgstr "IPv6 principal" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "Adresse IPv6 avec longueur de préfixe, par exemple 2001:db8 : :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4763,7 +4775,7 @@ msgid "Mgmt only" msgstr "Gestion uniquement" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4796,7 +4808,7 @@ msgstr "Puissance de transmission (dBm)" msgid "Cable" msgstr "câble" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Découvert" @@ -4947,7 +4959,7 @@ msgid "Front Port" msgstr "Port avant" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5083,7 +5095,7 @@ msgstr "" "Le nombre de ports frontaux à créer ({frontport_count}) doit correspondre au" " nombre sélectionné de positions des ports arrière ({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5108,7 +5120,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/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "étiquette" @@ -5217,7 +5229,7 @@ msgstr "" "lorsqu'il est fixé à un type de module." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Etiquette physique" @@ -5243,137 +5255,137 @@ msgstr "" "Un modèle de composant doit être associé à un type d'appareil ou à un type " "de module." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "modèle de port de console" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "modèles de ports de console" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "modèle de port de serveur de console" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "modèles de ports de serveur de console" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "tirage maximum" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "tirage au sort alloué" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "modèle de port d'alimentation" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "modèles de ports d'alimentation" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "Le tirage alloué ne peut pas dépasser le tirage maximum ({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "patte d'alimentation" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Phase (pour les alimentations triphasées)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "modèle de prise de courant" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "modèles de prises de courant" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Port d'alimentation parent ({power_port}) doit appartenir au même type " "d'appareil" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Port d'alimentation parent ({power_port}) doit appartenir au même type de " "module" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "gestion uniquement" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "interface de pont" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "rôle sans fil" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "modèle d'interface" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "modèles d'interface" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Une interface ne peut pas être reliée à elle-même." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "Interface de pont ({bridge}) doit appartenir au même type d'appareil" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Interface de pont ({bridge}) doit appartenir au même type de module" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "position du port arrière" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "modèle de port avant" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "modèles de port avant" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Port arrière ({name}) doit appartenir au même type d'appareil" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5382,47 +5394,47 @@ msgstr "" "Position du port arrière non valide ({position}) ; port arrière {name} n'a " "que {count} positions" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "positions" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "modèle de port arrière" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "modèles de port arrière" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "position" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Identifiant à référencer lors du changement de nom des composants installés" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "modèle de baie modulaire" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "modèles de baies de modules" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "modèle de baie pour appareils" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "modèles de baies d'appareils" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5431,211 +5443,211 @@ msgstr "" "Rôle du sous-appareil du type d'appareil ({device_type}) doit être défini " "sur « parent » pour autoriser les baies de périphériques." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "ID de pièce" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Identifiant de pièce attribué par le fabricant" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "modèle d'article d'inventaire" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "modèles d'articles d'inventaire" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Les composants ne peuvent pas être déplacés vers un autre appareil." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "extrémité du câble" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "marque connectée" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Traitez comme si un câble était connecté" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "" "Doit spécifier l'extrémité du câble (A ou B) lors de la fixation d'un câble." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "L'extrémité du câble ne doit pas être réglée sans câble." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Impossible de marquer comme connecté avec un câble branché." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} les modèles doivent déclarer une propriété parent_object" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Type de port physique" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "vitesse" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Vitesse du port en bits par seconde" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "port de console" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "ports de console" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "port du serveur de console" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "ports du serveur de console" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "port d'alimentation" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "ports d'alimentation" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "prise de courant" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "prises de courant" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Port d'alimentation parent ({power_port}) doit appartenir au même appareil" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "mode" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "Stratégie de marquage IEEE 802.1Q" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "interface parente" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "GAL parent" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Cette interface est utilisée uniquement pour la gestion hors bande" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "vitesse (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "duplex" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "Nom mondial 64 bits" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "canal sans fil" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "fréquence du canal (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Rempli par la chaîne sélectionnée (si définie)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "puissance de transmission (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "réseaux locaux sans fil" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "VLAN non balisé" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "VLAN étiquetés" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "interface" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "interfaces" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "" "{display_type} les interfaces ne peuvent pas être connectées à un câble." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "" "{display_type} les interfaces ne peuvent pas être marquées comme connectées." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Une interface ne peut pas être son propre parent." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "" "Seules les interfaces virtuelles peuvent être attribuées à une interface " "parent." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5644,7 +5656,7 @@ msgstr "" "L'interface parent sélectionnée ({interface}) appartient à un autre appareil" " ({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5653,7 +5665,7 @@ msgstr "" "L'interface parent sélectionnée ({interface}) appartient à {device}, qui ne " "fait pas partie du châssis virtuel {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5662,7 +5674,7 @@ msgstr "" "L'interface de pont sélectionnée ({bridge}) appartient à un autre appareil " "({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5671,16 +5683,16 @@ msgstr "" "L'interface de pont sélectionnée ({interface}) appartient à {device}, qui ne" " fait pas partie du châssis virtuel {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "" "Les interfaces virtuelles ne peuvent pas avoir d'interface LAG parente." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Une interface LAG ne peut pas être son propre parent." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." @@ -5688,7 +5700,7 @@ msgstr "" "L'interface LAG sélectionnée ({lag}) appartient à un autre appareil " "({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5697,48 +5709,48 @@ msgstr "" "L'interface LAG sélectionnée ({lag}) appartient à {device}, qui ne fait pas " "partie du châssis virtuel {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Les interfaces virtuelles ne peuvent pas avoir de mode PoE." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Les interfaces virtuelles ne peuvent pas avoir de type PoE." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "Doit spécifier le mode PoE lors de la désignation d'un type de PoE." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "Le rôle sans fil ne peut être défini que sur les interfaces sans fil." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Le canal ne peut être défini que sur les interfaces sans fil." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" "La fréquence des canaux ne peut être réglée que sur les interfaces sans fil." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "" "Impossible de spécifier une fréquence personnalisée avec le canal " "sélectionné." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" "La largeur de canal ne peut être réglée que sur les interfaces sans fil." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" "Impossible de spécifier une largeur personnalisée avec le canal sélectionné." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5747,24 +5759,24 @@ msgstr "" "Le VLAN non balisé ({untagged_vlan}) doit appartenir au même site que " "l'appareil parent de l'interface, ou il doit être global." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Position cartographiée sur le port arrière correspondant" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "port avant" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "ports avant" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Port arrière ({rear_port}) doit appartenir au même appareil" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5773,19 +5785,19 @@ msgstr "" "Position du port arrière non valide ({rear_port_position}) : Port arrière " "{name} n'a que {positions} positions." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Nombre de ports frontaux pouvant être mappés" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "port arrière" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "ports arrière" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5794,40 +5806,40 @@ msgstr "" "Le nombre de positions ne peut pas être inférieur au nombre de ports " "frontaux mappés ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "baie modulaire" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "baies de modules" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "" "Une baie de modules ne peut pas appartenir à un module qui y est installé." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "baie pour appareils" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "baies pour appareils" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" "Ce type d'appareil ({device_type}) ne prend pas en charge les baies pour " "appareils." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Impossible d'installer un appareil sur lui-même." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5835,60 +5847,60 @@ msgstr "" "Impossible d'installer le périphérique spécifié ; le périphérique est déjà " "installé dans {bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "rôle des articles d'inventaire" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "rôles des articles d'inventaire" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "numéro de série" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "étiquette d'actif" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Une étiquette unique utilisée pour identifier cet article" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "découvert" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Cet objet a été découvert automatiquement" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "article d'inventaire" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "articles d'inventaire" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Impossible de s'attribuer le statut de parent." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "L'article d'inventaire parent n'appartient pas au même appareil." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "Impossible de déplacer un article en stock avec des enfants à charge" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" "Impossible d'attribuer un article d'inventaire à un composant sur un autre " @@ -6043,7 +6055,7 @@ msgstr "La fonction de cet appareil" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Numéro de série du châssis attribué par le fabricant" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Un tag unique utilisé pour identifier cet appareil" @@ -6055,12 +6067,12 @@ msgstr "position (U)" msgid "rack face" msgstr "face de la baie" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "IPv4 principal" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "IPv6 principal" @@ -6214,15 +6226,24 @@ msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" "La position d'un appareil affecté à un châssis virtuel doit être définie." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Le périphérique ne peut pas être retiré du châssis virtuel {virtual_chassis}" +" car il est actuellement désigné comme son maître." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "module" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "modules" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6231,22 +6252,22 @@ msgstr "" "Le module doit être installé dans une baie de modules appartenant au " "périphérique attribué ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "domaine" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "châssis virtuel" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "Le master sélectionné ({master}) n'est pas attribué à ce châssis virtuel." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6255,34 +6276,34 @@ msgstr "" "Impossible de supprimer le châssis virtuel {self}. Il existe des interfaces " "membres qui forment des interfaces LAG inter-châssis." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identificateur" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Identifiant numérique propre à l'appareil parent" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "commentaires" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "contexte du périphérique virtuel" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "contextes de périphériques virtuels" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} n'est pas un IPV{family} adresse." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "L'adresse IP principale doit appartenir à une interface sur l'appareil " @@ -6715,7 +6736,7 @@ msgstr "Modèle de configuration" msgid "Site Group" msgstr "Groupe de sites" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6724,12 +6745,12 @@ msgstr "Groupe de sites" msgid "IP Address" msgstr "Adresse IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Adresse IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Adresse IPv6" @@ -6767,8 +6788,8 @@ msgstr "Ports d'alimentation" msgid "Power outlets" msgstr "Prises de courant" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6806,8 +6827,8 @@ msgstr "Articles d'inventaire" msgid "Module Bay" msgstr "Module Bay" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6865,75 +6886,75 @@ msgstr "Groupes FHRP" msgid "Tunnel" msgstr "Tunnel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Gestion uniquement" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Module installé" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Série du module" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Étiquette d'actif du module" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "État du module" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Composant" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Objets" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Types d'appareils" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Types de modules" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Plateformes" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Plateforme par défaut" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Pleine profondeur" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "Hauteur en U" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Instances" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6944,7 +6965,7 @@ msgstr "Instances" msgid "Console Ports" msgstr "Ports de console" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6955,7 +6976,7 @@ msgstr "Ports de console" msgid "Console Server Ports" msgstr "Ports du serveur de consoles" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6966,7 +6987,7 @@ msgstr "Ports du serveur de consoles" msgid "Power Ports" msgstr "Ports d'alimentation" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6977,7 +6998,7 @@ msgstr "Ports d'alimentation" msgid "Power Outlets" msgstr "Prises de courant" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6987,7 +7008,7 @@ msgstr "Prises de courant" msgid "Front Ports" msgstr "Ports avant" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6998,7 +7019,7 @@ msgstr "Ports avant" msgid "Rear Ports" msgstr "Ports arrière" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -7006,7 +7027,7 @@ msgstr "Ports arrière" msgid "Device Bays" msgstr "Baies pour appareils" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7449,25 +7470,25 @@ msgstr "Type de widget" msgid "Unregistered widget class: {name}" msgstr "Classe de widget non enregistrée : {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} doit définir une méthode render ()." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Remarque" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Affichez du contenu personnalisé arbitraire. Markdown est pris en charge." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Nombre d'objets" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7475,62 +7496,62 @@ msgstr "" "Affichez un ensemble de modèles NetBox et le nombre d'objets créés pour " "chaque type." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Filtres à appliquer lors du comptage du nombre d'objets" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Format non valide. Les filtres d'objets doivent être transmis sous forme de " "dictionnaire." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Liste d'objets" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Afficher une liste arbitraire d'objets." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Le nombre d'objets à afficher par défaut" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" "Format non valide. Les paramètres d'URL doivent être transmis sous forme de " "dictionnaire." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "Fil RSS" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Intégrez un flux RSS provenant d'un site Web externe." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "URL du flux" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Le nombre maximum d'objets à afficher" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "Durée de conservation du contenu mis en cache (en secondes)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Signets" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Afficher vos favoris personnels" @@ -7574,8 +7595,8 @@ msgstr "Type de cluster (slug)" msgid "Tenant group" msgstr "Groupe de locataires" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Groupe de locataires (slug)" @@ -7712,7 +7733,7 @@ msgstr "Est actif" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Types d'objets" @@ -7813,8 +7834,8 @@ msgstr "La classification de l'entrée" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Utilisateurs" @@ -7827,8 +7848,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Groupes" @@ -8573,10 +8594,19 @@ msgstr "ensemble de choix de champs personnalisés" msgid "custom field choice sets" msgstr "ensembles de choix de champs personnalisés" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Doit définir des choix de base ou supplémentaires." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Impossible de supprimer le choix {choice} comme il y en a {model} objets qui" +" y font référence." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "disposition" @@ -9158,65 +9188,65 @@ msgstr "Message" msgid "Method" msgstr "Méthode" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Assurez-vous que cette valeur est égale à %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Assurez-vous que cette valeur n'est pas égale %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Ce champ doit être vide." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Ce champ ne doit pas être vide." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "" "Les règles de validation doivent être transmises sous forme de dictionnaire" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "La validation personnalisée a échoué pour {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Attribut non valide »{name}« pour demande" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Attribut non valide »{name}« pour {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Votre tableau de bord a été réinitialisé." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Widget ajouté : " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Widget mis à jour : " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Widget supprimé : " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Erreur lors de la suppression du widget : " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "" "Impossible d'exécuter le script : le processus de travail RQ n'est pas en " @@ -9288,19 +9318,19 @@ msgstr "Texte brut" msgid "Invalid IP address format: {address}" msgstr "Format d'adresse IP non valide : {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Objectif d'importation" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Cible d'importation (nom)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Objectif d'exportation" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Cible d'exportation (nom)" @@ -9370,11 +9400,11 @@ msgstr "Préfixes contenant ce préfixe ou cette adresse IP" msgid "Mask length" msgstr "Longueur du masque" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (IDENTIFIANT)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "Numéro de VLAN (1-4094)" @@ -9394,23 +9424,23 @@ msgid "Parent prefix" msgstr "Préfixe parent" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Machine virtuelle (nom)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Machine virtuelle (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Interface (nom)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "Interface de machine virtuelle (nom)" @@ -9438,19 +9468,27 @@ msgstr "Service (ID)" msgid "NAT inside IP address (ID)" msgstr "Adresse IP intérieure NAT (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Interface attribuée" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Interface de machine virtuelle attribuée" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "Adresse IP (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "Adresse IP" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "IPv4 principal (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "IPv6 principal (ID)" @@ -9664,10 +9702,6 @@ msgstr "Machine virtuelle" msgid "Parent VM of assigned interface (if any)" msgstr "VM parent de l'interface attribuée (le cas échéant)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Interface attribuée" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Est principal" @@ -11264,9 +11298,9 @@ msgstr "Administrateur" msgid "API Tokens" msgstr "Jetons d'API" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Autorisations" @@ -11420,63 +11454,63 @@ 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:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "tchèque" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "danois" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "allemand" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "Anglais" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "espagnol" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "français" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "italien" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "japonais" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "néerlandais" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "polonais" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "portugais" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "russe" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "Turc" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "Ukrainien" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "chinois" @@ -13156,7 +13190,7 @@ msgstr "Ajouter un nouveau membre" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Actions" @@ -14214,7 +14248,7 @@ msgid "Click here to attempt loading NetBox again." msgstr "" "Cliquez ici pour essayer de recharger NetBox." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14243,7 +14277,7 @@ msgid "Add Contact Group" msgstr "Ajouter un groupe de contacts" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Rôle du contact" @@ -14281,7 +14315,7 @@ msgid "View" msgstr "Afficher" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Contraintes" @@ -14308,11 +14342,6 @@ msgstr "Mémoire" msgid "Disk Space" msgstr "Espace disque" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "Go" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Ajouter une machine virtuelle" @@ -14553,57 +14582,57 @@ msgstr "Propriétés du lien" msgid "Distance" msgstr "Distance" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Groupe de contact pour les parents (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Groupe de contact avec les parents (slug)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Groupe de contacts (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Groupe de contact (slug)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Contact (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Rôle du contact (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Rôle de contact (slug)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Groupe de contact" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Groupe de parents locataires (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Groupe de parents locataires (slug)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Groupe de locataires (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Groupe de locataires (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Groupe de locataires (slug)" @@ -14768,11 +14797,11 @@ msgstr "Peut changer" msgid "Can Delete" msgstr "Peut supprimer" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Interface utilisateur" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14782,7 +14811,7 @@ msgstr "" "d'enregistrer votre clé avant de soumettre ce formulaire, car il se" " peut qu'il ne soit plus accessible une fois le jeton créé." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14792,33 +14821,33 @@ msgstr "" "Laissez ce champ vide pour éviter toute restriction. Exemple : " "10.1.1.0/24 192.168.10,16/32 2001 : db 8:1 : /64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Confirmer mot de passe" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "" "Entrez le même mot de passe que précédemment, à des fins de vérification." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" "Les mots de passe ne correspondent pas ! Vérifiez votre saisie et réessayez." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Actions supplémentaires" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Actions accordées en plus de celles énumérées ci-dessus" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Objets" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14828,11 +14857,11 @@ msgstr "" "autorisés. Laissez null pour chercher tous les objets de ce type. Une liste " "de plusieurs termes correspond à un OU logique." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Au moins une action doit être sélectionnée." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Filtre non valide pour {model}: {error}" @@ -15098,7 +15127,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Valeur invalide pour un champ à choix multiples : {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Objet introuvable : %(value)s" @@ -15112,11 +15141,16 @@ msgstr "" "«{value}» n'est pas une valeur unique pour ce champ ; plusieurs objets ont " "été trouvés" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "«{field_name}« est un nom de champ d'accès non valide." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Le type d'objet doit être spécifié comme «.»" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Type d'objet non valide" @@ -15713,19 +15747,19 @@ msgstr "Signatures DSA" msgid "Group {n}" msgstr "Groupe {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Réseau local privé Ethernet" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Réseau local privé virtuel Ethernet" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Arbre privé Ethernet" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Arbre privé virtuel Ethernet" @@ -15757,33 +15791,31 @@ msgstr "Tunnel (nom)" msgid "Outside IP (ID)" msgstr "IP externe (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "Politique IKE (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "Politique IKE (nom)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "Politique IPSec (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "Politique IPSec (nom)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (slug)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "Interface de machine virtuelle (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (nom)" diff --git a/netbox/translations/it/LC_MESSAGES/django.po b/netbox/translations/it/LC_MESSAGES/django.po index ecc49467c..2619db447 100644 --- a/netbox/translations/it/LC_MESSAGES/django.po +++ b/netbox/translations/it/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-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Italian (https://app.transifex.com/netbox-community/teams/178115/it/)\n" @@ -26,7 +26,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Chiave" @@ -62,7 +62,7 @@ msgstr "Ultimo utilizzo" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "IP consentiti" @@ -91,8 +91,8 @@ msgstr "La tua password è stata cambiata con successo." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -104,8 +104,8 @@ msgstr "Approvvigionamento" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -116,8 +116,8 @@ msgid "Active" msgstr "Attivo" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Offline" @@ -130,7 +130,7 @@ msgstr "Deprovisioning" msgid "Decommissioned" msgstr "Dismesso" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primaria" @@ -156,7 +156,7 @@ msgstr "Inattivo" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Regione (ID)" @@ -168,7 +168,7 @@ msgstr "Regione (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Regione (slug)" @@ -197,7 +197,7 @@ msgstr "Gruppo del sito (slug)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -263,7 +263,7 @@ msgstr "Sito" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Sito (slug)" @@ -317,7 +317,7 @@ msgstr "Tipo di circuito (slug)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Sito (ID)" @@ -336,13 +336,13 @@ msgstr "Terminazione A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -351,7 +351,7 @@ msgstr "Cerca" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -535,9 +535,9 @@ msgstr "Descrizione" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -574,9 +574,9 @@ msgstr "ID del servizio" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -589,7 +589,7 @@ msgid "Color" msgstr "Colore" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -612,7 +612,7 @@ msgstr "Colore" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -646,14 +646,14 @@ msgid "Type" msgstr "Tipo" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Provider account " #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -669,8 +669,8 @@ msgstr "Provider account " #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -699,7 +699,7 @@ msgstr "Provider account " #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -723,8 +723,8 @@ msgstr "Status" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -890,21 +890,21 @@ msgstr "Dettagli sulla cessazione" msgid "Priority" msgstr "Priorità" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Provider assegnato" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Account provider assegnato" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Tipo di circuito" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -916,8 +916,8 @@ msgstr "Tipo di circuito" msgid "Operational status" msgstr "Stato operativo" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -933,7 +933,7 @@ msgstr "Stato operativo" msgid "Assigned tenant" msgstr "Tenant assegnato" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -941,7 +941,7 @@ msgstr "Tenant assegnato" msgid "Termination" msgstr "Cessazione" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1097,7 +1097,7 @@ msgstr "Lato del termine" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Assegnazione" @@ -1152,11 +1152,11 @@ msgid "Circuit Group" msgstr "Gruppo Circuit" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1179,9 +1179,9 @@ msgid "Unique circuit ID" msgstr "ID univoco del circuito" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1275,7 +1275,7 @@ msgstr "ID del patch panel e numero/i di porta" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1314,11 +1314,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1402,11 +1402,11 @@ msgstr "reti di fornitori" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1544,8 +1544,8 @@ msgstr "Tasso di impegno" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1624,8 +1624,8 @@ msgstr "Completato" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Fallito" @@ -1691,42 +1691,42 @@ msgstr "Fermato" msgid "Cancelled" msgstr "Annullato" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Locale" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Nome utente" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Utilizzato solo per la clonazione con HTTP (S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Password" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Ramo" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Recupero dati remoti non riuscito ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "ID chiave di accesso AWS" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Chiave di accesso segreta AWS" @@ -1781,7 +1781,7 @@ msgstr "Nome utente" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1895,7 +1895,7 @@ msgstr "Completato prima" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Utente" @@ -1950,7 +1950,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Elevazioni dei rack" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1993,7 +1993,7 @@ msgstr "Preferenze utente" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Varie" @@ -2055,7 +2055,7 @@ msgstr "" " ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2092,20 +2092,20 @@ msgid "Config revision #{id}" msgstr "Revisione della configurazione #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2120,8 +2120,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2236,60 +2236,60 @@ msgstr "file gestito" msgid "managed files" msgstr "file gestiti" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "pianificata" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "intervallo" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Intervallo di ricorrenza (in minuti)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "iniziato" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "completato" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "dato" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "errore" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "ID lavoro" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "occupazione" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "lavori" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "" "I lavori non possono essere assegnati a questo tipo di oggetto ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" "Stato non valido per la cessazione del lavoro. Le scelte sono: {choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2340,7 +2340,7 @@ msgid "Last updated" msgstr "Ultimo aggiornamento" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2532,7 +2532,7 @@ msgid "Staging" msgstr "Messa in scena" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Smantellamento" @@ -2596,17 +2596,17 @@ msgstr "Obsoleto" msgid "Millimeters" msgstr "Millimetri" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Pollici" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "Da anteriore a posteriore" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Posteriore/anteriore" @@ -2619,8 +2619,8 @@ msgstr "Posteriore/anteriore" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2664,7 +2664,7 @@ msgstr "Anteriore" msgid "Rear" msgstr "Posteriore" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Messo in scena" @@ -2673,67 +2673,79 @@ msgstr "Messo in scena" msgid "Inventory" msgstr "Inventario" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Da sinistra a destra" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Da destra a sinistra" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Da lato a retro" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "Da dietro a lato" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "Dal basso verso l'alto" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "Dall'alto verso il basso" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Passivo" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Misto" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (non bloccante)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (bloccaggio)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Stile californiano" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "Internazionale/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Proprietario" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Altro" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/Internazionale" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Fisico" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Virtuale" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2741,13 +2753,13 @@ msgstr "Virtuale" msgid "Wireless" msgstr "Wireless" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Interfacce virtuali" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2755,27 +2767,27 @@ msgstr "Interfacce virtuali" msgid "Bridge" msgstr "ponte" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Link Aggregation Group (GAL)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (fisso)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modulare)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (backplane)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Cellulare" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2783,130 +2795,130 @@ msgstr "Cellulare" msgid "Serial" msgstr "Seriale" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Coassiale" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "impilamento" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Metà" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Completo" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Accesso" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Taggato" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Contrassegnati (tutti)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "Norma IEEE" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "24V passivo (2 coppie)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "24V passivo (4 coppie)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "48V passivo (2 coppie)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "48V passivo (4 coppie)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Rame" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Fibra ottica" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Fibra" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Connesso" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Chilometri" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Metri" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Centimetri" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Miglia" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Piedi" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Chilogrammi" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Grammi" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Sterline" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Once" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Ridondante" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Monofase" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Trifase" @@ -3158,7 +3170,7 @@ msgstr "È a piena profondità" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3202,7 +3214,7 @@ msgid "Device model" msgstr "Modello del dispositivo" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Interfaccia (ID)" @@ -3216,8 +3228,8 @@ msgstr "Alloggiamento per moduli (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Dispositivo (ID)" @@ -3226,8 +3238,8 @@ msgid "Rack (name)" msgstr "Rack (nome)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Dispositivo (nome)" @@ -3277,8 +3289,8 @@ msgstr "VID assegnato" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3314,7 +3326,7 @@ msgid "VRF (RD)" msgstr "VRF (ROSSO)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3370,7 +3382,7 @@ msgstr "Contesto del dispositivo virtuale (identificatore)" msgid "Wireless LAN" msgstr "LAN senza fili" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Collegamento wireless" @@ -3398,12 +3410,12 @@ msgstr "Maestro (ID)" msgid "Master (name)" msgstr "Master (nome)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Inquilino (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Inquilino (slug)" @@ -3430,7 +3442,7 @@ msgstr "Etichette" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3479,8 +3491,8 @@ msgstr "Fuso orario" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3544,7 +3556,7 @@ msgstr "Profondità di montaggio" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3605,8 +3617,8 @@ msgstr "Numerazione" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3714,12 +3726,12 @@ msgstr "Numero del pezzo" msgid "U height" msgstr "Altezza U" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Escludi dall'utilizzo" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3808,10 +3820,10 @@ msgstr "piattaforma" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3938,8 +3950,8 @@ msgid "Maximum draw" msgstr "Pareggio massimo" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Potenza massima assorbita (watt)" @@ -3948,8 +3960,8 @@ msgid "Allocated draw" msgstr "Pareggio assegnato" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Potenza assorbita allocata (watt)" @@ -3970,16 +3982,16 @@ msgstr "Solo gestione" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "modalità PoE" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "Tipo PoE" @@ -4003,7 +4015,7 @@ msgstr "Ruolo wireless" msgid "Module" msgstr "Modulo" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "RITARDO" @@ -4015,7 +4027,7 @@ msgstr "Contesti dei dispositivi virtuali" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4062,7 +4074,7 @@ msgid "Wireless LAN group" msgstr "Gruppo LAN wireless" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4451,7 +4463,7 @@ msgstr "Porta posteriore corrispondente" msgid "Physical medium classification" msgstr "Classificazione del mezzo fisico" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Dispositivo installato" @@ -4541,7 +4553,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} terminazione laterale non trovata: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4593,7 +4605,7 @@ msgstr "IPv6 primario" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "Indirizzo IPv6 con lunghezza del prefisso, ad esempio 2001:db8: :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4757,7 +4769,7 @@ msgid "Mgmt only" msgstr "Solo gestione" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4790,7 +4802,7 @@ msgstr "Potenza di trasmissione (dBm)" msgid "Cable" msgstr "Cavo" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Scoperto" @@ -4944,7 +4956,7 @@ msgid "Front Port" msgstr "Porta anteriore" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5083,7 +5095,7 @@ msgstr "" " al numero selezionato di posizioni delle porte posteriori " "({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5108,7 +5120,7 @@ msgstr "È necessario specificare una posizione per il primo membro VC." #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "etichetta" @@ -5216,7 +5228,7 @@ msgstr "" "modulo quando è collegato a un tipo di modulo." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Etichetta fisica" @@ -5242,142 +5254,142 @@ msgstr "" "Un modello di componente deve essere associato a un tipo di dispositivo o a " "un tipo di modulo." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "modello di porta console" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "modelli di porte per console" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "modello di porta console server" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "modelli di porte per console server" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "pareggio massimo" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "pareggio assegnato" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "modello di porta di alimentazione" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "modelli di porte di alimentazione" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "Il pareggio assegnato non può superare il pareggio massimo " "({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "gamba di alimentazione" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Fase (per alimentazioni trifase)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "modello di presa di corrente" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "modelli di prese di corrente" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Porta di alimentazione principale ({power_port}) deve appartenere allo " "stesso tipo di dispositivo" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Porta di alimentazione principale ({power_port}) deve appartenere allo " "stesso tipo di modulo" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "solo gestione" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "interfaccia bridge" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "ruolo wireless" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "modello di interfaccia" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "modelli di interfaccia" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Un'interfaccia non può essere collegata a se stessa." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" "Interfaccia bridge ({bridge}) deve appartenere allo stesso tipo di " "dispositivo" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "" "Interfaccia bridge ({bridge}) deve appartenere allo stesso tipo di modulo" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "posizione della porta posteriore" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "modello di porta anteriore" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "modelli di porte anteriori" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "" "Porta posteriore ({name}) deve appartenere allo stesso tipo di dispositivo" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5386,48 +5398,48 @@ msgstr "" "Posizione della porta posteriore non valida ({position}); porta posteriore " "{name} ha solo {count} posizioni" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "posizioni" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "modello di porta posteriore" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "modelli di porte posteriori" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "posizione" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Identificatore a cui fare riferimento quando si rinominano i componenti " "installati" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "modello di alloggiamento del modulo" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "modelli module bay" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "modello di alloggiamento per dispositivi" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "modelli di alloggiamento per dispositivi" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5436,213 +5448,213 @@ msgstr "" "Ruolo del tipo di dispositivo secondario ({device_type}) deve essere " "impostato su «principale» per consentire gli alloggiamenti dei dispositivi." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "ID della parte" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Identificativo del pezzo assegnato dal produttore" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "modello di articolo di inventario" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "modelli di articoli di inventario" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "I componenti non possono essere spostati su un dispositivo diverso." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "estremità del cavo" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "contrassegnare connesso" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Tratta come se fosse collegato un cavo" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "" "È necessario specificare l'estremità del cavo (A o B) quando si collega un " "cavo." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "L'estremità del cavo non deve essere impostata senza un cavo." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Non è possibile contrassegnare come connesso con un cavo collegato." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} i modelli devono dichiarare una proprietà parent_object" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Tipo di porta fisica" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "velocità" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Velocità della porta in bit al secondo" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "porta console" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "porte console" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "porta console server" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "porte console server" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "porta di alimentazione" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "porte di alimentazione" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "presa di corrente" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "prese di corrente" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Porta di alimentazione principale ({power_port}) deve appartenere allo " "stesso dispositivo" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "modalità" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "Strategia di etichettatura IEEE 802.1Q" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "interfaccia principale" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "GAL capogruppo" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Questa interfaccia viene utilizzata solo per la gestione fuori banda" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "velocità (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "bifamiliare" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "Nome mondiale a 64 bit" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "canale wireless" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "frequenza del canale (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Popolato dal canale selezionato (se impostato)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "potenza di trasmissione (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "LAN wireless" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "VLAN senza tag" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "VLAN contrassegnate" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "interfaccia" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "interfacce" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} alle interfacce non è possibile collegare un cavo." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "" "{display_type} le interfacce non possono essere contrassegnate come " "connesse." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Un'interfaccia non può essere la propria madre." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "" "Solo le interfacce virtuali possono essere assegnate a un'interfaccia " "principale." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5651,7 +5663,7 @@ msgstr "" "L'interfaccia principale selezionata ({interface}) appartiene a un " "dispositivo diverso ({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5660,7 +5672,7 @@ msgstr "" "L'interfaccia principale selezionata ({interface}) appartiene a {device}, " "che non fa parte dello chassis virtuale {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5669,7 +5681,7 @@ msgstr "" "L'interfaccia bridge selezionata ({bridge}) appartiene a un dispositivo " "diverso ({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5678,16 +5690,16 @@ msgstr "" "L'interfaccia bridge selezionata ({interface}) appartiene a {device}, che " "non fa parte dello chassis virtuale {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "" "Le interfacce virtuali non possono avere un'interfaccia LAG principale." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Un'interfaccia LAG non può essere la propria interfaccia principale." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." @@ -5695,7 +5707,7 @@ msgstr "" "L'interfaccia LAG selezionata ({lag}) appartiene a un dispositivo diverso " "({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5704,51 +5716,51 @@ msgstr "" "L'interfaccia LAG selezionata ({lag}) appartiene a {device}, che non fa " "parte dello chassis virtuale {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Le interfacce virtuali non possono avere una modalità PoE." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Le interfacce virtuali non possono avere un tipo PoE." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "" "È necessario specificare la modalità PoE quando si designa un tipo PoE." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" "Il ruolo wireless può essere impostato solo sulle interfacce wireless." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Il canale può essere impostato solo su interfacce wireless." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" "La frequenza del canale può essere impostata solo sulle interfacce wireless." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "" "Impossibile specificare una frequenza personalizzata con il canale " "selezionato." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" "La larghezza del canale può essere impostata solo sulle interfacce wireless." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" "Impossibile specificare una larghezza personalizzata con il canale " "selezionato." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5757,25 +5769,25 @@ msgstr "" "La VLAN senza tag ({untagged_vlan}) deve appartenere allo stesso sito del " "dispositivo principale dell'interfaccia o deve essere globale." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Posizione mappata sulla porta posteriore corrispondente" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "porta anteriore" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "porte anteriori" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "" "Porta posteriore ({rear_port}) deve appartenere allo stesso dispositivo" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5784,19 +5796,19 @@ msgstr "" "Posizione della porta posteriore non valida ({rear_port_position}): Porta " "posteriore {name} ha solo {positions} posizioni." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Numero di porte anteriori che possono essere mappate" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "porta posteriore" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "porte posteriori" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5805,41 +5817,41 @@ msgstr "" "Il numero di posizioni non può essere inferiore al numero di porte frontali " "mappate ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "alloggiamento per moduli" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "alloggiamenti per moduli" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "" "Un alloggiamento per moduli non può appartenere a un modulo installato al " "suo interno." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "alloggiamento per dispositivi" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "alloggiamenti per dispositivi" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" "Questo tipo di dispositivo ({device_type}) non supporta gli alloggiamenti " "per dispositivi." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Impossibile installare un dispositivo su se stesso." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5847,62 +5859,62 @@ msgstr "" "Impossibile installare il dispositivo specificato; il dispositivo è già " "installato in {bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "ruolo dell'articolo di inventario" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "ruoli degli articoli di inventario" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "numero di serie" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "etichetta dell'asset" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Un tag univoco utilizzato per identificare questo articolo" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "scoperto" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Questo articolo è stato scoperto automaticamente" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "articolo di inventario" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "articoli di inventario" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Non può assegnarsi come genitore." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "" "L'articolo dell'inventario principale non appartiene allo stesso " "dispositivo." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "Impossibile spostare un articolo dell'inventario con figli a carico" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" "Impossibile assegnare un articolo di inventario a un componente su un altro " @@ -6060,7 +6072,7 @@ msgstr "La funzione utilizzata da questo dispositivo" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Numero di serie del telaio, assegnato dal produttore" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Un tag univoco utilizzato per identificare questo dispositivo" @@ -6072,12 +6084,12 @@ msgstr "posizione (U)" msgid "rack face" msgstr "faccia cremagliera" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "IPv4 primario" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "IPv6 primario" @@ -6232,15 +6244,24 @@ msgstr "" "La posizione di un dispositivo assegnato a uno chassis virtuale deve essere " "definita." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Il dispositivo non può essere rimosso dallo chassis virtuale " +"{virtual_chassis} perché attualmente è designato come suo padrone." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "modulo" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "moduli" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6249,22 +6270,22 @@ msgstr "" "Il modulo deve essere installato all'interno di un vano del modulo " "appartenente al dispositivo assegnato ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "dominio" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "chassis virtuale" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "Il master selezionato ({master}) non è assegnato a questo chassis virtuale." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6273,34 +6294,34 @@ msgstr "" "Impossibile eliminare lo chassis virtuale {self}. Esistono interfacce tra i " "membri che formano interfacce GAL trasversali." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identificatore" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Identificatore numerico univoco per il dispositivo principale" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "commenti" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "contesto del dispositivo virtuale" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "contesti dei dispositivi virtuali" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} non è un IPv{family} indirizzo." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "L'indirizzo IP primario deve appartenere a un'interfaccia sul dispositivo " @@ -6732,7 +6753,7 @@ msgstr "Modello di configurazione" msgid "Site Group" msgstr "Gruppo del sito" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6741,12 +6762,12 @@ msgstr "Gruppo del sito" msgid "IP Address" msgstr "Indirizzo IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Indirizzo IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Indirizzo IPv6" @@ -6784,8 +6805,8 @@ msgstr "Porte di alimentazione" msgid "Power outlets" msgstr "Prese di corrente" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6823,8 +6844,8 @@ msgstr "Articoli di inventario" msgid "Module Bay" msgstr "Modulo Bay" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6882,75 +6903,75 @@ msgstr "Gruppi FHRP" msgid "Tunnel" msgstr "Tunnel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Solo gestione" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Modulo installato" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Modulo seriale" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Tag delle risorse del modulo" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Stato del modulo" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Componente" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Oggetti" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Tipi di dispositivi" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Tipi di moduli" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "piattaforme" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Piattaforma predefinita" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Profondità completa" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "Altezza U" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Istanze" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6961,7 +6982,7 @@ msgstr "Istanze" msgid "Console Ports" msgstr "Porte console" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6972,7 +6993,7 @@ msgstr "Porte console" msgid "Console Server Ports" msgstr "Porte Console Server" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6983,7 +7004,7 @@ msgstr "Porte Console Server" msgid "Power Ports" msgstr "Porte di alimentazione" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6994,7 +7015,7 @@ msgstr "Porte di alimentazione" msgid "Power Outlets" msgstr "Prese di corrente" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -7004,7 +7025,7 @@ msgstr "Prese di corrente" msgid "Front Ports" msgstr "Porte anteriori" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -7015,7 +7036,7 @@ msgstr "Porte anteriori" msgid "Rear Ports" msgstr "Porte posteriori" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -7023,7 +7044,7 @@ msgstr "Porte posteriori" msgid "Device Bays" msgstr "Alloggiamenti per dispositivi" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7465,25 +7486,25 @@ msgstr "Tipo di widget" msgid "Unregistered widget class: {name}" msgstr "Classe widget non registrata: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} deve definire un metodo render ()." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Nota" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Visualizza alcuni contenuti personalizzati arbitrari. Markdown è supportato." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Conteggi oggetti" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7491,63 +7512,63 @@ msgstr "" "Visualizza un set di modelli NetBox e il numero di oggetti creati per ogni " "tipo." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Filtri da applicare durante il conteggio del numero di oggetti" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Formato non valido. I filtri degli oggetti devono essere passati come " "dizionario." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Elenco oggetti" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Visualizza un elenco arbitrario di oggetti." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Il numero predefinito di oggetti da visualizzare" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" "Formato non valido. I parametri URL devono essere passati come dizionario." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "Feed RSS" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Incorpora un feed RSS da un sito Web esterno." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "URL del feed" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Il numero massimo di oggetti da visualizzare" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "" "Per quanto tempo conservare il contenuto memorizzato nella cache (in " "secondi)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Segnalibri" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Mostra i tuoi segnalibri personali" @@ -7590,8 +7611,8 @@ msgstr "Tipo di cluster (slug)" msgid "Tenant group" msgstr "Gruppo di inquilini" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Gruppo di inquilini (slug)" @@ -7728,7 +7749,7 @@ msgstr "È attivo" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Tipi di oggetti" @@ -7830,8 +7851,8 @@ msgstr "La classificazione degli ingressi" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Utenti" @@ -7843,8 +7864,8 @@ msgstr "Nomi utente separati da virgole, racchiusi tra virgolette" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Gruppi" @@ -8576,10 +8597,19 @@ msgstr "set di scelta dei campi personalizzati" msgid "custom field choice sets" msgstr "set di scelte di campi personalizzati" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "È necessario definire scelte di base o extra." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Impossibile rimuovere la scelta {choice} come ce ne sono {model} oggetti che" +" vi fanno riferimento." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "disposizione" @@ -9157,64 +9187,64 @@ msgstr "Messaggio" msgid "Method" msgstr "Metodo" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Assicurati che questo valore sia uguale a %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Assicurati che questo valore non sia uguale %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Questo campo deve essere vuoto." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Questo campo non deve essere vuoto." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Le regole di convalida devono essere passate come dizionario" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "Convalida personalizzata non riuscita per {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Attributo non valido»{name}\"per richiesta" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Attributo non valido»{name}\"per {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "La tua dashboard è stata reimpostata." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Widget aggiunto: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Widget aggiornato: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Widget eliminato: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Errore durante l'eliminazione del widget: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "" "Impossibile eseguire lo script: processo di lavoro RQ non in esecuzione." @@ -9287,19 +9317,19 @@ msgstr "Testo in chiaro" msgid "Invalid IP address format: {address}" msgstr "Formato dell'indirizzo IP non valido: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Obiettivo di importazione" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Obiettivo di importazione (nome)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Obiettivo di esportazione" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Destinazione di esportazione (nome)" @@ -9369,11 +9399,11 @@ msgstr "Prefissi che contengono questo prefisso o IP" msgid "Mask length" msgstr "Lunghezza della maschera" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "Numero VLAN (1-4094)" @@ -9393,23 +9423,23 @@ msgid "Parent prefix" msgstr "Prefisso principale" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Macchina virtuale (nome)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Macchina virtuale (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Interfaccia (nome)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "Interfaccia VM (nome)" @@ -9437,19 +9467,27 @@ msgstr "Servizio (ID)" msgid "NAT inside IP address (ID)" msgstr "Indirizzo IP interno (ID) NAT" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Interfaccia assegnata" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Interfaccia VM assegnata" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "Indirizzo IP (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "indirizzo IP" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "IPv4 (ID) primario" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "IPv6 primario (ID)" @@ -9663,10 +9701,6 @@ msgstr "Macchina virtuale" msgid "Parent VM of assigned interface (if any)" msgstr "VM principale dell'interfaccia assegnata (se presente)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Interfaccia assegnata" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "È primario" @@ -11254,9 +11288,9 @@ msgstr "Amministratore" msgid "API Tokens" msgstr "Token API" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Autorizzazioni" @@ -11411,63 +11445,63 @@ msgstr "Impossibile aggiungere negozi al registro dopo l'inizializzazione" msgid "Cannot delete stores from registry" msgstr "Impossibile eliminare i negozi dal registro" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "cechi" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "danese" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "Tedesco" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "Inglese" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "spagnolo" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "Francese" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "Italiano" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "Giapponese" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "Olandese" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "Polacco" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "portoghese" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "Russo" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "turco" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "ucraino" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "Cinese" @@ -13142,7 +13176,7 @@ msgstr "Aggiungi nuovo membro" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Azioni" @@ -14201,7 +14235,7 @@ msgstr "" "Fare clic qui per provare a caricare nuovamente" " NetBox." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14230,7 +14264,7 @@ msgid "Add Contact Group" msgstr "Aggiungi gruppo di contatti" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Ruolo di contatto" @@ -14268,7 +14302,7 @@ msgid "View" msgstr "Visualizza" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Vincoli" @@ -14295,11 +14329,6 @@ msgstr "Memoria" msgid "Disk Space" msgstr "Spazio su disco" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Aggiungi macchina virtuale" @@ -14540,57 +14569,57 @@ msgstr "Proprietà dei link" msgid "Distance" msgstr "Distanza" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Gruppo di contatto dei genitori (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Gruppo di contatto con i genitori (slug)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Gruppo di contatti (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Gruppo di contatti (slug)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Contatto (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Ruolo di contatto (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Ruolo di contatto (slug)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Gruppo di contatti" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Gruppo di inquilini principali (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Gruppo di inquilini principali (slug)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Gruppo di inquilini (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Gruppo di inquilini (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Gruppo di inquilini (slug)" @@ -14757,11 +14786,11 @@ msgstr "Può cambiare" msgid "Can Delete" msgstr "Può eliminare" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Interfaccia utente" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14771,7 +14800,7 @@ msgstr "" "registrare la tua chiave prima di inviare questo modulo, poiché " "potrebbe non essere più accessibile una volta creato il token." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14781,31 +14810,31 @@ msgstr "" "vuoto per non avere restrizioni. Esempio: " "10.1.1.0/24,192.168.10.16/32,2001: db 8:1: :/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Conferma la password" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Inserisci la stessa password di prima, per la verifica." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "Le password non corrispondono! Controlla i dati inseriti e riprova." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Azioni aggiuntive" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Azioni concesse in aggiunta a quelle sopra elencate" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Oggetti" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14815,11 +14844,11 @@ msgstr "" "consentiti. Lascia null in modo che corrisponda a tutti gli oggetti di " "questo tipo. Un elenco di più oggetti risulterà in un'operazione OR logica." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "È necessario selezionare almeno un'azione." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Filtro non valido per {model}: {error}" @@ -15081,7 +15110,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Valore non valido per un campo a scelta multipla: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Oggetto non trovato: %(value)s" @@ -15095,11 +15124,16 @@ msgstr "" "«{value}\"non è un valore univoco per questo campo; sono stati trovati più " "oggetti" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "«{field_name}\"è un nome di campo di accesso non valido." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Il tipo di oggetto deve essere specificato come».»" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Tipo di oggetto non valido" @@ -15697,19 +15731,19 @@ msgstr "Firme DSA" msgid "Group {n}" msgstr "Gruppo {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "LAN privata Ethernet" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "LAN privata virtuale Ethernet" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Albero privato Ethernet" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Albero privato virtuale Ethernet" @@ -15741,33 +15775,31 @@ msgstr "Tunnel (nome)" msgid "Outside IP (ID)" msgstr "IP esterno (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "Politica IKE (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "Politica IKE (nome)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "Politica IPSec (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "Politica IPSec (nome)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (slug)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "Interfaccia VM (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (nome)" diff --git a/netbox/translations/ja/LC_MESSAGES/django.po b/netbox/translations/ja/LC_MESSAGES/django.po index 0e31a6288..39f438041 100644 --- a/netbox/translations/ja/LC_MESSAGES/django.po +++ b/netbox/translations/ja/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Japanese (https://app.transifex.com/netbox-community/teams/178115/ja/)\n" @@ -25,7 +25,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Key" @@ -61,7 +61,7 @@ msgstr "最終使用日" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "許可された IP" @@ -88,8 +88,8 @@ msgstr "パスワードは正常に変更されました。" #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -101,8 +101,8 @@ msgstr "プロビジョニング" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -113,8 +113,8 @@ msgid "Active" msgstr "アクティブ" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "オフライン" @@ -127,7 +127,7 @@ msgstr "デプロビジョニング" msgid "Decommissioned" msgstr "廃止" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "プライマリ" @@ -153,7 +153,7 @@ msgstr "非アクティブ" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "リージョン (ID)" @@ -165,7 +165,7 @@ msgstr "リージョン (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "リージョン (slug)" @@ -194,7 +194,7 @@ msgstr "サイトグループ (slug)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -260,7 +260,7 @@ msgstr "サイト" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "サイト (slug)" @@ -314,7 +314,7 @@ msgstr "回線タイプ (slug)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "サイト (ID)" @@ -333,13 +333,13 @@ msgstr "ターミネーション A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -348,7 +348,7 @@ msgstr "検索" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -532,9 +532,9 @@ msgstr "説明" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -571,9 +571,9 @@ msgstr "サービス ID" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -586,7 +586,7 @@ msgid "Color" msgstr "色" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -609,7 +609,7 @@ msgstr "色" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -643,14 +643,14 @@ msgid "Type" msgstr "タイプ" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "プロバイダアカウント" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -666,8 +666,8 @@ msgstr "プロバイダアカウント" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -696,7 +696,7 @@ msgstr "プロバイダアカウント" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -720,8 +720,8 @@ msgstr "ステータス" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -887,21 +887,21 @@ msgstr "終了詳細" msgid "Priority" msgstr "優先度" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "割当プロバイダ" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "割当プロバイダアカウント" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "回線のタイプ" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -913,8 +913,8 @@ msgstr "回線のタイプ" msgid "Operational status" msgstr "運用状況" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -930,7 +930,7 @@ msgstr "運用状況" msgid "Assigned tenant" msgstr "割当テナント" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -938,7 +938,7 @@ msgstr "割当テナント" msgid "Termination" msgstr "終了" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1094,7 +1094,7 @@ msgstr "タームサイド" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "割当" @@ -1149,11 +1149,11 @@ msgid "Circuit Group" msgstr "回線グループ" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1176,9 +1176,9 @@ msgid "Unique circuit ID" msgstr "一意な回線 ID" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1272,7 +1272,7 @@ msgstr "パッチパネル ID とポート番号" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1307,11 +1307,11 @@ msgstr "回線終端をサイトとプロバイダーネットワークの両方 #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1395,11 +1395,11 @@ msgstr "プロバイダネットワーク" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1537,8 +1537,8 @@ msgstr "保証帯域" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1615,8 +1615,8 @@ msgstr "完了" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "失敗" @@ -1682,42 +1682,42 @@ msgstr "停止しました" msgid "Cancelled" msgstr "キャンセルされました" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "ローカル" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "ユーザ名" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "HTTP (S) でのcloneに使用されます" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "パスワード" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "ブランチ" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "リモートデータの取得に失敗しました ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "AWS アクセスキー ID" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "AWS シークレットアクセスキー" @@ -1772,7 +1772,7 @@ msgstr "ユーザ名" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1886,7 +1886,7 @@ msgstr "以前に完了" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "ユーザ" @@ -1940,7 +1940,7 @@ msgstr "同期するファイルをアップロードするか、データファ msgid "Rack Elevations" msgstr "ラック図" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1983,7 +1983,7 @@ msgstr "ユーザ設定" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "その他" @@ -2042,7 +2042,7 @@ msgid "Change logging is not supported for this object type ({type})." msgstr "このオブジェクトタイプ ({type}) では変更ログはサポートされていません。" #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2079,20 +2079,20 @@ msgid "Config revision #{id}" msgstr "設定履歴 #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2107,8 +2107,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2218,58 +2218,58 @@ msgstr "管理対象ファイル" msgid "managed files" msgstr "管理対象ファイル" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "予定日時" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "間隔" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "繰り返し間隔 (分)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "開始日時" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "完了日時" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "データ" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "エラー" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "ジョブ ID" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "ジョブ" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "ジョブ" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "このオブジェクトタイプにはジョブを割り当てられません ({type})。" -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "ジョブ終了のステータスが無効です。選択肢は以下のとおりです。 {choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "enqueue () は schedule_at と immediate の両方の値を指定して呼び出すことはできません。" @@ -2318,7 +2318,7 @@ msgid "Last updated" msgstr "最終更新日" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2510,7 +2510,7 @@ msgid "Staging" msgstr "ステージング" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "廃止" @@ -2574,17 +2574,17 @@ msgstr "廃止済" msgid "Millimeters" msgstr "ミリメートル" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "インチ" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "前面から背面" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "背面から前面" @@ -2597,8 +2597,8 @@ msgstr "背面から前面" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2642,7 +2642,7 @@ msgstr "前面" msgid "Rear" msgstr "背面" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "検証" @@ -2651,67 +2651,79 @@ msgstr "検証" msgid "Inventory" msgstr "在庫" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "左から右" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "右から左" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "側面から背面" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "背面から側面" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "下から上へ" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "上から下へ" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "パッシブ" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "混合" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (ロック無)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (ロック有)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "California Style" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "International/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "独自規格" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "その他" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/International" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "物理" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "仮想" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2719,13 +2731,13 @@ msgstr "仮想" msgid "Wireless" msgstr "無線" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "仮想インタフェース" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2733,27 +2745,27 @@ msgstr "仮想インタフェース" msgid "Bridge" msgstr "ブリッジ" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "リンクアグリゲーション (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "イーサネット (固定)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "イーサネット (モジュール)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "イーサネット (バックプレーン)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "セルラー" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2761,130 +2773,130 @@ msgstr "セルラー" msgid "Serial" msgstr "シリアル" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "同軸" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "スタック" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "半二重" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "全二重" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "自動" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "アクセス" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "タグ付き" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "タグ付き (全て)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "IEEE スタンダード" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "パッシブ 24V (2 ペア)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "パッシブ 24V (4ペア)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "パッシブ 48V (2 ペア)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "パッシブ 48V (4ペア)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "カッパー" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "光ファイバー" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "ファイバー" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "接続済" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "キロメートル" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "メートル" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "センチメートル" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "マイル" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "フィート" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "キログラム" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "グラム" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "ポンド" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "オンス" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "冗長" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "単相" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "三相" @@ -3136,7 +3148,7 @@ msgstr "奥行きをすべて使うか" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3180,7 +3192,7 @@ msgid "Device model" msgstr "デバイスモデル" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "インタフェース (ID)" @@ -3194,8 +3206,8 @@ msgstr "モジュールベイ (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "デバイス (ID)" @@ -3204,8 +3216,8 @@ msgid "Rack (name)" msgstr "ラック (名前)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "デバイス (名前)" @@ -3255,8 +3267,8 @@ msgstr "割当 VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3292,7 +3304,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3348,7 +3360,7 @@ msgstr "仮想デバイスコンテキスト (識別子)" msgid "Wireless LAN" msgstr "無線 LAN" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "無線リンク" @@ -3376,12 +3388,12 @@ msgstr "マスター (ID)" msgid "Master (name)" msgstr "マスター (名前)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "テナント (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "テナント (slug)" @@ -3408,7 +3420,7 @@ msgstr "タグ" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3455,8 +3467,8 @@ msgstr "タイムゾーン" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3520,7 +3532,7 @@ msgstr "取り付け奥行き" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3581,8 +3593,8 @@ msgstr "ナンバリング" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3690,12 +3702,12 @@ msgstr "パーツ番号" msgid "U height" msgstr "ユニット数" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "ラック利用率に含めない" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3784,10 +3796,10 @@ msgstr "プラットフォーム" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3914,8 +3926,8 @@ msgid "Maximum draw" msgstr "最大消費電力" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "最大消費電力 (ワット)" @@ -3924,8 +3936,8 @@ msgid "Allocated draw" msgstr "割当電力" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "割当消費電力 (ワット)" @@ -3946,16 +3958,16 @@ msgstr "管理のみ" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "PoE モード" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "PoE タイプ" @@ -3979,7 +3991,7 @@ msgstr "無線ロール" msgid "Module" msgstr "モジュール" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "LAG" @@ -3991,7 +4003,7 @@ msgstr "仮想デバイスコンテキスト" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4038,7 +4050,7 @@ msgid "Wireless LAN group" msgstr "無線 LAN グループ" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4420,7 +4432,7 @@ msgstr "対応する背面ポート" msgid "Physical medium classification" msgstr "物理媒体の分類" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "取付済みデバイス" @@ -4509,7 +4521,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} サイドターミネーションが見つかりません: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4561,7 +4573,7 @@ msgstr "プライマリ IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "プレフィックス長のある IPv6 アドレス、例:2001: db8:: 1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4720,7 +4732,7 @@ msgid "Mgmt only" msgstr "管理のみ" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4753,7 +4765,7 @@ msgstr "送信出力 (dBm)" msgid "Cable" msgstr "ケーブル" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "自動検出" @@ -4899,7 +4911,7 @@ msgid "Front Port" msgstr "前面ポート" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5025,7 +5037,7 @@ msgid "" msgstr "" "前面ポートの数 ({frontport_count}) は選択した背面ポートの数 ({rearport_count}) と一致する必要があります。" -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5048,7 +5060,7 @@ msgstr "最初の VC メンバーのポジションを指定する必要があ #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "ラベル" @@ -5146,7 +5158,7 @@ msgid "" msgstr "{module} は、モジュールタイプに取り付けられる場合、モジュールベイ位置の代わりとして使用できます。" #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "物理ラベル" @@ -5166,178 +5178,178 @@ msgid "" "module type." msgstr "構成要素テンプレートは、デバイスタイプまたはモジュールタイプのいずれかに関連付ける必要があります。" -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "コンソールポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "コンソールポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "コンソールサーバポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "コンソールサーバポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "最大消費電力" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "割当消費電力" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "電源ポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "電源ポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "割当消費電力は最大消費電力 ({maximum_draw}W) を超えることはできません。" -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "供給端子" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "電力相 (三相電源用)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "電源コンセントテンプレート" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "電源コンセントテンプレート" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "親電源ポート ({power_port}) は同じデバイスタイプに属している必要があります" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "親電源ポート ({power_port}) は同じモジュールタイプに属している必要があります" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "管理のみ" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "ブリッジインタフェース" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "無線ロール" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "インタフェーステンプレート" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "インタフェーステンプレート" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "インタフェースを自分自身にブリッジすることはできません。" -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "ブリッジインタフェース ({bridge}) は同じデバイスタイプに属している必要があります" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "ブリッジインタフェース ({bridge}) は同じモジュールタイプに属している必要があります" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "背面ポート位置" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "前面ポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "前面ポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "背面ポート ({name}) は同じデバイスタイプに属している必要があります" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " "positions" msgstr "背面ポートの位置 ({position}) が無効です; 背面ポート {name} は{count}箇所しかありません" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "位置" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "背面ポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "背面ポートテンプレート" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "位置" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "取付済み構成要素名を変更する際に参照する識別子" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "モジュールベイテンプレート" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "モジュールベイテンプレート" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "デバイスベイテンプレート" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "デバイスベイテンプレート" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5345,212 +5357,212 @@ msgid "" msgstr "" "デバイスベイを許可するためには、デバイスタイプ ({device_type}) のサブデバイスロールを「parent」に設定する必要があります。" -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "パーツ ID" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "メーカ指定の部品識別子" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "在庫品目テンプレート" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "在庫品目テンプレート" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "構成要素を別のデバイスに移動することはできません。" -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "ケーブル端" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "接続済みとしてマークする" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "ケーブルが接続されているかのように扱う" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "ケーブルを接続するときは、ケーブルの端 (A または B) を指定する必要があります。" -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "ケーブルの端はケーブルなしでセットしないでください。" -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "ケーブルが接続されている状態では接続済みとマークできません。" -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} モデルは親オブジェクトプロパティを宣言しなければなりません" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "物理ポートタイプ" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "速度" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "ポート速度 (bps)" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "コンソールポート" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "コンソールポート" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "コンソールサーバポート" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "コンソールサーバポート" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "電源ポート" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "電源ポート" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "電源コンセント" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "電源コンセント" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "親電源ポート ({power_port}) は同じデバイスに属している必要があります" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "モード" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "IEEE 802.1Q タギング戦略" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "親インタフェース" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "親ラグ" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "このインタフェースは帯域外管理にのみ使用されます。" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "速度 (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "デュプレックス" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64 ビットのWWN (World Wide Name)" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "無線チャネル" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "チャネル周波数 (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "選択したチャンネルによって設定されます (設定されている場合)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "送信パワー (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "無線 LAN" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "タグなし VLAN" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "タグ付き VLAN" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "インタフェース" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "インタフェース" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} インタフェースにはケーブルを接続できません。" -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type} インタフェースは接続済みとしてマークできません。" -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "インタフェースを自身の親にすることはできません。" -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "親インタフェースに割り当てることができるのは仮想インタフェースだけです。" -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " "({device})" msgstr "選択した親インタフェース ({interface}) は別のデバイス ({device}) に属しています" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5559,14 +5571,14 @@ msgstr "" "選択した親インタフェース ({interface}) が属する {device} " "は、バーチャルシャーシ{virtual_chassis}には含まれていません。 。" -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " "({device})." msgstr "選択したブリッジインタフェース ({bridge}) は別のデバイス ({device}) に属しています。" -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5575,21 +5587,21 @@ msgstr "" "選択したブリッジインタフェース ({interface}) が属する " "{device}は、バーチャルシャーシ{virtual_chassis}には含まれていません。 " -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "仮想インタフェースは親 LAG インタフェースを持つことはできません。" -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "LAG インタフェースを自身の親にすることはできません。" -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "選択した LAG インタフェース ({lag}) は別のデバイス ({device}) に属しています。" -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5598,43 +5610,43 @@ msgstr "" "選択した LAG インタフェース ({lag}) が属する {device}は、バーチャルシャーシには含まれていません " "{virtual_chassis}。" -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "仮想インタフェースには PoE モードを設定できません。" -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "仮想インタフェースに PoE タイプを設定することはできません。" -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "PoE タイプを指定するときは、PoE モードを指定する必要があります。" -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "無線ロールは無線インタフェースでのみ設定できます。" -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "チャネルは無線インタフェースでのみ設定できます。" -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "チャネル周波数は、無線インタフェースでのみ設定できます。" -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "選択したチャンネルではカスタム周波数を指定できません。" -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "チャネル幅は無線インタフェースでのみ設定できます。" -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "選択したチャンネルではカスタム幅を指定できません。" -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5642,24 +5654,24 @@ msgid "" msgstr "" "タグ無し VLAN ({untagged_vlan}) はインタフェースの親デバイスと同じサイトに属しているか、グローバルである必要があります。" -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "対応する背面ポートのマップ位置" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "前面ポート" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "前面ポート" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "背面ポート ({rear_port}) は同じデバイスに属している必要があります" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5667,115 +5679,115 @@ msgid "" msgstr "" "背面ポートの位置 ({rear_port_position}) が無効です: 背面ポート {name} は {positions} 箇所しかありません。" -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "マップできる前面ポートの数" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "背面ポート" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "背面ポート" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" " ({frontport_count})" msgstr "ポジションの数は、マップされた前面ポートの数より少なくすることはできません ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "モジュールベイ" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "モジュールベイ" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "モジュールベイは、その中に取り付けられているモジュールに属することはできません。" -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "デバイスベイ" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "デバイスベイ" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "このタイプ ({device_type}) のデバイスは、デバイスベイをサポートしていません。" -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "デバイスをそれ自体に挿入することはできません。" -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." msgstr "指定されたデバイスは取付できません。デバイスは既に {bay} に取付られています 。" -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "在庫品目ロール" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "在庫品目ロール" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "シリアル番号" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "アセットタグ" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "この部品を識別するために使用される一意のタグ" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "自動検出" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "このアイテムは自動的に検出されました" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "在庫品目" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "在庫品目" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "自分を親として割り当てることはできません。" -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "親在庫品目は同じデバイスに属していません。" -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "子を持つ在庫品目は移動できません" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "在庫品目を別のデバイスの構成要素に割り当てることはできません" @@ -5917,7 +5929,7 @@ msgstr "このデバイスが果たす機能" msgid "Chassis serial number, assigned by the manufacturer" msgstr "製造元によって割当られた、シャーシのシリアル番号" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "このデバイスを識別するために使用される一意のタグ" @@ -5929,12 +5941,12 @@ msgstr "ポジション (U)" msgid "rack face" msgstr "ラックフェイス" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "プライマリ IPv4" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "プライマリ IPv6" @@ -6075,70 +6087,77 @@ msgstr "割当クラスタは別のサイトに属しています ({site})" msgid "A device assigned to a virtual chassis must have its position defined." msgstr "仮想シャーシに割当られたデバイスには、その位置が定義されている必要があります。" -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "デバイスを仮想シャーシから削除できない {virtual_chassis} 現在マスターとして指定されているからです。" + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "モジュール" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "モジュール" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "モジュールは、割当デバイスに属するモジュールベイ内に取り付ける必要があります ({device})。" -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "ドメイン" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "バーチャルシャーシ" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "選択したマスター ({master}) はこの仮想シャーシに割り当てられていません。" -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." msgstr "バーチャルシャーシ{self}を削除できません 。クロスシャーシ LAG インタフェースを形成するメンバーインタフェースがあります。" -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "識別子" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "親デバイスに固有の数値識別子" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "コメント" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "仮想デバイスコンテキスト" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "仮想デバイスコンテキスト" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip}は IPv{family}アドレスではありません。" -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "プライマリ IP アドレスは、割当デバイスのインタフェースに属している必要があります。" @@ -6555,7 +6574,7 @@ msgstr "設定テンプレート" msgid "Site Group" msgstr "サイトグループ" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6564,12 +6583,12 @@ msgstr "サイトグループ" msgid "IP Address" msgstr "IP アドレス" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4 アドレス" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6 アドレス" @@ -6607,8 +6626,8 @@ msgstr "電源ポート" msgid "Power outlets" msgstr "電源コンセント" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6646,8 +6665,8 @@ msgstr "在庫品目" msgid "Module Bay" msgstr "モジュールベイ" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6705,75 +6724,75 @@ msgstr "FHRP グループ" msgid "Tunnel" msgstr "トンネル" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "管理のみ" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "取付済みモジュール" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "モジュールシリアル番号" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "モジュール資産タグ" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "モジュールステータス" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "構成要素" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "アイテム" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "デバイスタイプ" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "モジュールタイプ" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "プラットフォーム" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "デフォルトプラットフォーム" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "奥行きをすべて利用する" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "U 高さ" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "インスタンス" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6784,7 +6803,7 @@ msgstr "インスタンス" msgid "Console Ports" msgstr "コンソールポート" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6795,7 +6814,7 @@ msgstr "コンソールポート" msgid "Console Server Ports" msgstr "コンソールサーバポート" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6806,7 +6825,7 @@ msgstr "コンソールサーバポート" msgid "Power Ports" msgstr "電源ポート" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6817,7 +6836,7 @@ msgstr "電源ポート" msgid "Power Outlets" msgstr "電源コンセント" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6827,7 +6846,7 @@ msgstr "電源コンセント" msgid "Front Ports" msgstr "前面ポート" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6838,7 +6857,7 @@ msgstr "前面ポート" msgid "Rear Ports" msgstr "背面ポート" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6846,7 +6865,7 @@ msgstr "背面ポート" msgid "Device Bays" msgstr "デバイスベイ" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7284,81 +7303,81 @@ msgstr "ウィジェットタイプ" msgid "Unregistered widget class: {name}" msgstr "未登録のウィジェットクラス: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} render () メソッドを定義する必要があります。" -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "メモ" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "任意のカスタムコンテンツを表示します。Markdown がサポートされています。" -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "オブジェクト数" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." msgstr "NetBox モデルのセットと、各タイプで作成されたオブジェクトの数を表示します。" -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "オブジェクトの数をカウントするときに適用するフィルタ" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "形式が無効です。オブジェクトフィルタはディクショナリとして渡さなければなりません。" -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "オブジェクトリスト" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "任意のオブジェクトリストを表示します。" -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "デフォルトで表示するオブジェクト数" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "形式が無効です。URL パラメータはディクショナリとして渡さなければなりません。" -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "RSS フィード" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "外部 Web サイトの RSS フィードを埋め込みます。" -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "フィード URL" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "表示するオブジェクトの最大数" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "キャッシュされたコンテンツを保存する時間 (秒)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "ブックマーク" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "個人用のブックマークを表示する" @@ -7401,8 +7420,8 @@ msgstr "クラスタタイプ (slug)" msgid "Tenant group" msgstr "テナントグループ" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "テナントグループ (slug)" @@ -7539,7 +7558,7 @@ msgstr "有効" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "オブジェクトタイプ" @@ -7638,8 +7657,8 @@ msgstr "エントリの分類" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "ユーザ" @@ -7651,8 +7670,8 @@ msgstr "二重引用符で囲まれたカンマ区切りユーザ名" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "グループ" @@ -8337,10 +8356,17 @@ msgstr "カスタムフィールド選択肢" msgid "custom field choice sets" msgstr "カスタムフィールド選択肢" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "基本選択肢または追加選択肢を定義する必要があります。" +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "選択肢を削除できません {choice} あるように {model} それを参照するオブジェクト。" + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "レイアウト" @@ -8901,64 +8927,64 @@ msgstr "メッセージ" msgid "Method" msgstr "メソッド" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "%(limit_value)sと等しいことを確認する 。" -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "%(limit_value)sと等しくないことを確認する。" -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "このフィールドは空でなければなりません。" -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "このフィールドは空であってはなりません。" -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "検証ルールはディクショナリとして渡さなければなりません" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "のカスタム検証が失敗しました {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "属性が無効です」{name}「」(リクエスト用)" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "{model}において{name}属性は無効です" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "ダッシュボードがリセットされました。" -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "ウィジェットの追加: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "ウィジェットの更新: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "削除したウィジェット: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "ウィジェットの削除中にエラーが発生しました: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "スクリプトを実行できません:RQ ワーカープロセスが実行されていません。" @@ -9026,19 +9052,19 @@ msgstr "プレーンテキスト" msgid "Invalid IP address format: {address}" msgstr "IP アドレス形式が無効です: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "インポート対象" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "インポート対象 (名前)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "エクスポート対象" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "エクスポート対象 (名前)" @@ -9108,11 +9134,11 @@ msgstr "このプレフィックス / IP を含むプレフィックス" msgid "Mask length" msgstr "マスクの長さ" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "VLAN 番号 (1-4094)" @@ -9132,23 +9158,23 @@ msgid "Parent prefix" msgstr "親プレフィックス" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "仮想マシン (名前)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "仮想マシン (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "インタフェース (名前)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "VM インタフェース (名前)" @@ -9176,19 +9202,27 @@ msgstr "サービス (ID)" msgid "NAT inside IP address (ID)" msgstr "NAT 内部の IP アドレス (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "割当インタフェース" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "割り当てられた VM インターフェイス" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "IP アドレス (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "IP アドレス" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "プライマリ IPv4 (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "プライマリ IPv6 (ID)" @@ -9402,10 +9436,6 @@ msgstr "仮想マシン" msgid "Parent VM of assigned interface (if any)" msgstr "割当インタフェースの親VM (存在する場合)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "割当インタフェース" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "プライマリか" @@ -10935,9 +10965,9 @@ msgstr "管理者" msgid "API Tokens" msgstr "API トークン" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "権限" @@ -11084,63 +11114,63 @@ msgstr "初期化後にストアをレジストリに追加できません" msgid "Cannot delete stores from registry" msgstr "レジストリからストアを削除できません" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "チェコ語" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "デンマーク語" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "ドイツ人" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "英語" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "スペイン語" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "フランス語" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "イタリア語" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "日本語" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "オランダ語" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "ポーランド語" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "ポルトガル語" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "ロシア語" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "トルコ語" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "ウクライナ語" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "中国語" @@ -12805,7 +12835,7 @@ msgstr "新しいメンバーを追加" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "アクション" @@ -13831,7 +13861,7 @@ msgstr "" msgid "Click here to attempt loading NetBox again." msgstr "クリック ここに NetBox をもう一度ロードしてみます。" -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -13860,7 +13890,7 @@ msgid "Add Contact Group" msgstr "連絡先グループを追加" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "連絡先のロール" @@ -13898,7 +13928,7 @@ msgid "View" msgstr "ビュー" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "制約" @@ -13925,11 +13955,6 @@ msgstr "メモリー" msgid "Disk Space" msgstr "ディスク容量" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "バーチャルマシンを追加" @@ -14170,57 +14195,57 @@ msgstr "リンクプロパティ" msgid "Distance" msgstr "距離" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "親連絡先グループ (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "親連絡先グループ (スラッグ)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "連絡先グループ (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "コンタクトグループ (slug)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "連絡先 (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "連絡先ロール (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "コンタクトロール (slug)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "連絡先グループ" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "親テナントグループ (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "親テナントグループ (スラッグ)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "テナントグループ (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "テナントグループ (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "テナントグループ (slug)" @@ -14385,11 +14410,11 @@ msgstr "変更可能" msgid "Can Delete" msgstr "削除可能" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "ユーザインタフェース" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14398,7 +14423,7 @@ msgstr "" "キーの長さは 40 文字以上でなければなりません。 キーは必ず記録してください。 " "このフォームを送信する前に。トークンが作成されるとアクセスできなくなる可能性があるためです。" -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14407,31 +14432,31 @@ msgstr "" "トークンを使用できる許可された IPv4/IPv6 ネットワーク。制限がない場合は空白のままにしてください。例: " "10.1.1.0/24,192.168.10.16/32,2001: db 8:1:: /64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "パスワードを確認" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "確認のため、以前と同じパスワードを入力します。" -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "パスワードが一致しません!入力内容を確認して、もう一度試してください。" -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "その他のアクション" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "上記以外に付与されたアクション" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "オブジェクト" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14440,11 +14465,11 @@ msgstr "" "許可されたオブジェクトのみを返すクエリセットフィルタの JSON 式。null " "のままにしておくと、このタイプのすべてのオブジェクトに一致します。複数のオブジェクトのリストでは、論理 OR 演算が行われます。" -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "少なくとも 1 つのアクションを選択する必要があります。" -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "のフィルタが無効です {model}: {error}" @@ -14684,7 +14709,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "複数選択フィールドの値が無効です: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "オブジェクトが見つかりません: %(value)s" @@ -14696,11 +14721,16 @@ msgid "" "found" msgstr "「{value}「」はこのフィールドにとって一意の値ではありません。複数のオブジェクトが見つかりました" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "「{field_name}「」は無効なアクセサーフィールド名です。" + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "オブジェクトタイプは「」として指定する必要があります」" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "オブジェクトタイプが無効です" @@ -15256,19 +15286,19 @@ msgstr "DSA シグネチャ" msgid "Group {n}" msgstr "グループ {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "イーサネットプライベート LAN" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "イーサネット仮想プライベート LAN" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "イーサネットプライベートツリー" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "イーサネット仮想プライベートツリー" @@ -15300,33 +15330,31 @@ msgstr "トンネル (名前)" msgid "Outside IP (ID)" msgstr "外部IP (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "IKE ポリシー (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "IKE ポリシー (名前)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "IPsec ポリシー (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "IPsec ポリシー (名前)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (slug)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "VM インタフェース (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (名前)" diff --git a/netbox/translations/nl/LC_MESSAGES/django.po b/netbox/translations/nl/LC_MESSAGES/django.po index 72644b3eb..9a9392642 100644 --- a/netbox/translations/nl/LC_MESSAGES/django.po +++ b/netbox/translations/nl/LC_MESSAGES/django.po @@ -8,15 +8,16 @@ # deku_m, 2024 # Peter Mulder , 2024 # Jeremy Stretch, 2024 +# Sebastian Berm, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: Sebastian Berm, 2024\n" "Language-Team: Dutch (https://app.transifex.com/netbox-community/teams/178115/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,7 +27,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Sleutel" @@ -62,7 +63,7 @@ msgstr "Laatst gebruikt" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "Toegestane IP-adressen" @@ -91,8 +92,8 @@ msgstr "Je wachtwoord is succesvol gewijzigd." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -104,8 +105,8 @@ msgstr "Provisioning" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -116,8 +117,8 @@ msgid "Active" msgstr "Actief" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Offline" @@ -130,7 +131,7 @@ msgstr "Deprovisioning" msgid "Decommissioned" msgstr "Buiten gebruik" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primair" @@ -156,7 +157,7 @@ msgstr "Inactief" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Regio (ID)" @@ -168,7 +169,7 @@ msgstr "Regio (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Regio (slug)" @@ -197,7 +198,7 @@ msgstr "Sitegroep (slug)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -263,7 +264,7 @@ msgstr "Site" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Site (slug)" @@ -317,7 +318,7 @@ msgstr "Circuittype (slug)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Locatie (ID)" @@ -336,13 +337,13 @@ msgstr "Eindpunt A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -351,7 +352,7 @@ msgstr "Zoeken" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -535,9 +536,9 @@ msgstr "Omschrijving" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -574,9 +575,9 @@ msgstr "Service-ID" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -589,7 +590,7 @@ msgid "Color" msgstr "Kleur" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -612,7 +613,7 @@ msgstr "Kleur" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -646,14 +647,14 @@ msgid "Type" msgstr "Type" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Provideraccount" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -669,8 +670,8 @@ msgstr "Provideraccount" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -699,7 +700,7 @@ msgstr "Provideraccount" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -723,8 +724,8 @@ msgstr "Status" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -890,21 +891,21 @@ msgstr "Details van de beëindiging" msgid "Priority" msgstr "Prioriteit" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Toegewezen provider" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Toegewezen provideraccount" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Soort circuit" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -916,8 +917,8 @@ msgstr "Soort circuit" msgid "Operational status" msgstr "Operationele status" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -933,7 +934,7 @@ msgstr "Operationele status" msgid "Assigned tenant" msgstr "Toegewezen huurder" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -941,7 +942,7 @@ msgstr "Toegewezen huurder" msgid "Termination" msgstr "Opzegging" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1097,7 +1098,7 @@ msgstr "Termzijde" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Opdracht" @@ -1152,11 +1153,11 @@ msgid "Circuit Group" msgstr "Circuitgroep" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1179,9 +1180,9 @@ msgid "Unique circuit ID" msgstr "Uniek circuit-ID" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1235,7 +1236,7 @@ msgstr "Circuitgroepopdracht" #: netbox/circuits/models/circuits.py:214 msgid "Circuit group assignments" -msgstr "Circuitgroepopdrachten" +msgstr "Circuitgroeptoewijzingen" #: netbox/circuits/models/circuits.py:240 msgid "termination" @@ -1275,7 +1276,7 @@ msgstr "ID en poortnummer(s) van het patchpaneel" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1314,11 +1315,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1402,11 +1403,11 @@ msgstr "providernetwerken" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1544,8 +1545,8 @@ msgstr "Vastleggingspercentage" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1574,7 +1575,7 @@ msgstr "Opmerkingen" #: netbox/templates/tenancy/contact.html:84 #: netbox/tenancy/tables/contacts.py:73 msgid "Assignments" -msgstr "Opdrachten" +msgstr "Toewijzingen" #: netbox/circuits/tables/providers.py:23 msgid "Accounts" @@ -1624,8 +1625,8 @@ msgstr "Voltooid" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Mislukt" @@ -1691,42 +1692,42 @@ msgstr "Gestopt" msgid "Cancelled" msgstr "Geannuleerd" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Lokaal" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Gebruikersnaam" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Alleen gebruikt voor klonen met HTTP(S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Wachtwoord" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Branch" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Het ophalen van externe gegevens is mislukt ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "AWS-toegangssleutel-ID" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Geheime toegangssleutel van AWS" @@ -1781,7 +1782,7 @@ msgstr "Gebruikersnaam" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1895,7 +1896,7 @@ msgstr "Eerder voltooid" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Gebruiker" @@ -1952,7 +1953,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Rackverhogingen" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1995,7 +1996,7 @@ msgstr "Gebruikersvoorkeuren" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Diversen" @@ -2056,7 +2057,7 @@ msgstr "" "objecttype ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2093,20 +2094,20 @@ msgid "Config revision #{id}" msgstr "Revisie van de configuratie #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2121,8 +2122,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2236,60 +2237,60 @@ msgstr "beheerd bestand" msgid "managed files" msgstr "beheerde bestanden" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "gepland" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "interval" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Herhalingsinterval (in minuten)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "gestart" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "voltooid" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "gegevens" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "fout" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "taak-ID" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "taak" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "taken" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Taken kunnen niet worden toegewezen aan dit objecttype ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" "Ongeldige status voor beëindiging van het dienstverband. De keuzes zijn: " "{choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2340,7 +2341,7 @@ msgid "Last updated" msgstr "Laatst bijgewerkt" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2532,7 +2533,7 @@ msgid "Staging" msgstr "Klaarzetten" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Ontmanteling" @@ -2596,17 +2597,17 @@ msgstr "Verouderd" msgid "Millimeters" msgstr "Millimeters" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Inches" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "Van voor naar achter" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Van achter naar voren" @@ -2619,8 +2620,8 @@ msgstr "Van achter naar voren" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2664,7 +2665,7 @@ msgstr "Voorkant" msgid "Rear" msgstr "Achterkant" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Klaargezet" @@ -2673,67 +2674,79 @@ msgstr "Klaargezet" msgid "Inventory" msgstr "Inventaris" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Van links naar rechts" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Van rechts naar links" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Van links naar achteren" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "Van achter naar links" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "Van onder naar boven" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "Van boven naar beneden" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Passief" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Gemengd" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (niet-vergrendelend)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (vergrendeling)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Californische stijl" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "Internationaal/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Gepatenteerd" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Andere" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/internationaal" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Fysiek" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Virtueel" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2741,13 +2754,13 @@ msgstr "Virtueel" msgid "Wireless" msgstr "Draadloos" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Virtuele interfaces" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2755,27 +2768,27 @@ msgstr "Virtuele interfaces" msgid "Bridge" msgstr "Bridge" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Linkaggregatiegroep (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (vast)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modulair)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (backplane)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Mobiel" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2783,130 +2796,130 @@ msgstr "Mobiel" msgid "Serial" msgstr "Serienummer" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Coaxiaal" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "Stapelen" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Half" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Volledig" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Toegang" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Getagd" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Getagd (Alles)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "IEEE-standaard" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "Passief 24V (2 paren)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "Passief 24V (4 paren)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "Passief 48V (2 paren)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "Passief 48V (4 paren)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Koper" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Glasvezel" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Vezel" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Verbonden" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometers" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Meters" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Centimeters" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Mijlen" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Feet" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogrammen" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Gram" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Ponden" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Ons" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Redundant" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Een fase" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Drie fase" @@ -3158,7 +3171,7 @@ msgstr "Is volledige diepte" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3202,7 +3215,7 @@ msgid "Device model" msgstr "Model van het apparaat" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Interface (ID)" @@ -3216,8 +3229,8 @@ msgstr "Modulevak (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Apparaat (ID)" @@ -3226,8 +3239,8 @@ msgid "Rack (name)" msgstr "Rack (naam)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Apparaat (naam)" @@ -3277,8 +3290,8 @@ msgstr "Toegewezen VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3314,7 +3327,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3370,7 +3383,7 @@ msgstr "Context van het virtuele apparaat (ID)" msgid "Wireless LAN" msgstr "Draadloos LAN" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Draadloze link" @@ -3398,12 +3411,12 @@ msgstr "Meester (ID)" msgid "Master (name)" msgstr "Master (naam)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Tenant (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Tenant (slug)" @@ -3430,7 +3443,7 @@ msgstr "Labels" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3479,8 +3492,8 @@ msgstr "Tijdzone" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3544,7 +3557,7 @@ msgstr "Inbouwdiepte" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3605,8 +3618,8 @@ msgstr "Nummering" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3714,12 +3727,12 @@ msgstr "Onderdeelnummer" msgid "U height" msgstr "U-hoogte" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Uitsluiten van gebruik" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3808,10 +3821,10 @@ msgstr "Platform" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3938,8 +3951,8 @@ msgid "Maximum draw" msgstr "Maximale trekking" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Maximaal stroomverbruik (watt)" @@ -3948,8 +3961,8 @@ msgid "Allocated draw" msgstr "Toegewezen loting" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Toegewezen stroomverbruik (watt)" @@ -3970,16 +3983,16 @@ msgstr "Alleen voor beheer" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "PoE-modus" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "PoE-type" @@ -4003,7 +4016,7 @@ msgstr "Draadloze rol" msgid "Module" msgstr "Module" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "LAG" @@ -4015,7 +4028,7 @@ msgstr "Contexten van virtuele apparaten" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4062,7 +4075,7 @@ msgid "Wireless LAN group" msgstr "Draadloze LAN-groep" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4451,7 +4464,7 @@ msgstr "Bijbehorende poort aan de achterkant" msgid "Physical medium classification" msgstr "Classificatie van fysieke media" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Geïnstalleerd apparaat" @@ -4540,7 +4553,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} nevenbeëindiging niet gevonden: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4592,7 +4605,7 @@ msgstr "Primaire IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "IPv6-adres met prefixlengte, bijvoorbeeld 2001:db8: :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4756,7 +4769,7 @@ msgid "Mgmt only" msgstr "Alleen voor beheer" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4789,7 +4802,7 @@ msgstr "Zendvermogen (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Ontdekt" @@ -4943,7 +4956,7 @@ msgid "Front Port" msgstr "Poort Voor" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5082,7 +5095,7 @@ msgstr "" "overeenkomen met het geselecteerde aantal posities aan de achterkant van de " "poort ({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5107,7 +5120,7 @@ msgstr "Voor het eerste VC-lid moet een positie worden gespecificeerd." #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "label" @@ -5215,7 +5228,7 @@ msgstr "" "modulecompartiment wanneer deze is gekoppeld aan een moduletype." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Fysiek label" @@ -5241,138 +5254,138 @@ msgstr "" "Een componentsjabloon moet gekoppeld zijn aan een apparaattype of een " "moduletype." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "sjabloon voor consolepoort" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "sjablonen voor consolepoorten" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "poortsjabloon voor consoleserver" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "poortsjablonen voor consoleservers" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "maximale trekking" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "toegewezen gelijkspel" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "sjabloon voor voedingspoort" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "sjablonen voor voedingspoorten" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "De toegewezen trekking mag niet hoger zijn dan de maximale trekking " "({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "voerbeen" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Fase (voor driefasige voedingen)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "sjabloon voor stopcontact" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "sjablonen voor stopcontacten" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Voedingspoort voor ouders ({power_port}) moet tot hetzelfde apparaattype " "behoren" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Voedingspoort voor ouders ({power_port}) moet tot hetzelfde moduletype " "behoren" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "alleen beheer" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "bridge-interface" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "draadloze rol" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "interfacesjabloon" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "interfacesjablonen" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Een interface kan niet naar zichzelf worden overbrugd." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "Bridge-interface ({bridge}) moet tot hetzelfde apparaattype behoren" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Bridge-interface ({bridge}) moet tot hetzelfde moduletype behoren" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "positie van de achterpoort" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "sjabloon voor de voorpoort" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "sjablonen voor de voorpoort" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Achterpoort ({name}) moet tot hetzelfde apparaattype behoren" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5381,48 +5394,48 @@ msgstr "" "Ongeldige positie van de achterpoort ({position}); achterpoort {name} heeft " "slechts {count} standen" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "standen" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "sjabloon voor de achterpoort" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "sjablonen voor achterpoorten" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "positie" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Identificatie waarnaar moet worden verwezen bij het hernoemen van " "geïnstalleerde componenten" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "sjabloon voor modulebay" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "sjablonen voor modulebay" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "sjabloon voor apparaatvak" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "sjablonen voor apparaatruimte" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5431,211 +5444,211 @@ msgstr "" "De rol van het apparaattype van het subapparaat ({device_type}) moet op " "„parent” zijn ingesteld om apparaatbays toe te staan." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "onderdeel-ID" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Onderdeel-ID toegewezen door de fabrikant" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "sjabloon voor inventarisitems" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "sjablonen voor inventarisitems" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Componenten kunnen niet naar een ander apparaat worden verplaatst." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "uiteinde van de kabel" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "markeer verbonden" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Behandel alsof er een kabel is aangesloten" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "" "Moet het kabeluiteinde (A of B) specificeren bij het aansluiten van een " "kabel." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "Het kabeluiteinde mag niet zonder kabel worden ingesteld." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Kan niet markeren als verbonden met een aangesloten kabel." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} modellen moeten een eigenschap parent_object declareren" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Fysiek poorttype" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "snelheid" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Poortsnelheid in bits per seconde" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "consolepoort" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "consolepoorten" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "console-serverpoort" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "console-serverpoorten" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "voedingspoort" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "voedingspoorten" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "stopcontact" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "stopcontacten" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Voedingspoort voor ouders ({power_port}) moet tot hetzelfde apparaat behoren" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "-modus" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "IEEE 802.1Q-tagging-strategie" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "bovenliggende interface" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "LAG van de ouders" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Deze interface wordt alleen gebruikt voor beheer buiten de band" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "snelheid (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "tweezijdig" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64-bits wereldwijde naam" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "draadloos kanaal" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "kanaalfrequentie (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Ingevuld per geselecteerd kanaal (indien ingesteld)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "zendvermogen (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "draadloze LAN's" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "VLAN zonder label" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "gelabelde VLAN's" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "interface" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "interfaces" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} op interfaces kan geen kabel worden aangesloten." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "" "{display_type} interfaces kunnen niet als verbonden worden gemarkeerd." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Een interface kan niet zijn eigen ouder zijn." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "" "Alleen virtuele interfaces mogen aan een bovenliggende interface worden " "toegewezen." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5644,7 +5657,7 @@ msgstr "" "De geselecteerde ouderinterface ({interface}) hoort bij een ander apparaat " "({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5653,7 +5666,7 @@ msgstr "" "De geselecteerde ouderinterface ({interface}) behoort tot {device}, dat geen" " deel uitmaakt van een virtueel chassis {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5662,7 +5675,7 @@ msgstr "" "De geselecteerde bridge-interface ({bridge}) hoort bij een ander apparaat " "({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5671,15 +5684,15 @@ msgstr "" "De geselecteerde bridge-interface ({interface}) behoort tot {device}, dat " "geen deel uitmaakt van een virtueel chassis {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "Virtuele interfaces kunnen geen bovenliggende LAG-interface hebben." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Een LAG-interface kan niet zijn eigen ouder zijn." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." @@ -5687,7 +5700,7 @@ msgstr "" "De geselecteerde LAG-interface ({lag}) hoort bij een ander apparaat " "({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5696,46 +5709,46 @@ msgstr "" "De geselecteerde LAG-interface ({lag}) behoort tot {device}, dat geen deel " "uitmaakt van een virtueel chassis {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Virtuele interfaces kunnen geen PoE-modus hebben." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Virtuele interfaces mogen geen PoE-type hebben." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "Moet de PoE-modus specificeren bij het aanwijzen van een PoE-type." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "De draadloze rol kan alleen worden ingesteld op draadloze interfaces." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Kanaal mag alleen worden ingesteld op draadloze interfaces." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" "De kanaalfrequentie mag alleen worden ingesteld op draadloze interfaces." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "" "Kan geen aangepaste frequentie specificeren met een geselecteerd kanaal." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "De kanaalbreedte kan alleen worden ingesteld op draadloze interfaces." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" "Kan geen aangepaste breedte specificeren als het kanaal is geselecteerd." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5744,24 +5757,24 @@ msgstr "" "Het VLAN zonder label ({untagged_vlan}) moet tot dezelfde site behoren als " "het bovenliggende apparaat van de interface, of het moet globaal zijn." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "In kaart gebrachte positie op de corresponderende achterpoort" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "poort voor" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "poorten voor" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Achterpoort ({rear_port}) moet tot hetzelfde apparaat behoren" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5770,19 +5783,19 @@ msgstr "" "Ongeldige positie van de achterpoort ({rear_port_position}): Achterpoort " "{name} heeft slechts {positions} posities." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Aantal poorten aan de voorkant dat in kaart kan worden gebracht" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "poort achter" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "poorten achter" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5791,39 +5804,39 @@ msgstr "" "Het aantal posities mag niet minder zijn dan het aantal toegewezen poorten " "aan de voorkant ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "modulevak" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "modulevakken" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "" "Een modulecompartiment mag niet behoren tot een module die erin is " "geïnstalleerd." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "apparaatvak" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "bays voor apparaten" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "Dit type apparaat ({device_type}) ondersteunt geen apparaatsleuven." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Kan een apparaat niet op zichzelf installeren." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5831,62 +5844,62 @@ msgstr "" "Kan het opgegeven apparaat niet installeren; het apparaat is al " "geïnstalleerd in {bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "Rol van het inventarisitem" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "Rollen van inventarisitems" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "serienummer" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "tag voor bedrijfsmiddelen" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Een unieke tag die wordt gebruikt om dit item te identificeren" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "ontdekt" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Dit item is automatisch ontdekt" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "inventarisitem" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "inventarisartikelen" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Kan zichzelf niet als ouder toewijzen." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "" "Het item van de bovenliggende inventaris behoort niet tot hetzelfde " "apparaat." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "Kan een inventarisitem met afhankelijke kinderen niet verplaatsen" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "Kan inventarisitem niet toewijzen aan component op een ander apparaat" @@ -6040,7 +6053,7 @@ msgstr "De functie die dit apparaat dient" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Serienummer van het chassis, toegekend door de fabrikant" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Een unieke tag die wordt gebruikt om dit apparaat te identificeren" @@ -6052,12 +6065,12 @@ msgstr "positie (U)" msgid "rack face" msgstr "gezicht met een rekje" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "primaire IPv4" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "primaire IPv6" @@ -6209,15 +6222,24 @@ msgstr "" "De positie van een apparaat dat aan een virtueel chassis is toegewezen, moet" " zijn positie hebben bepaald." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Het apparaat kan niet van het virtuele chassis worden verwijderd " +"{virtual_chassis} omdat het momenteel is aangewezen als zijn master." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "module" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "modules" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6226,15 +6248,15 @@ msgstr "" "De module moet worden geïnstalleerd in een modulecompartiment dat bij het " "toegewezen apparaat hoort ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "domein" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "virtueel chassis" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." @@ -6242,7 +6264,7 @@ msgstr "" "De geselecteerde master ({master}) is niet toegewezen aan dit virtuele " "chassis." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6251,34 +6273,34 @@ msgstr "" "Kan het virtuele chassis niet verwijderen {self}. Er zijn lidinterfaces die " "een LAG-interface tussen chassis vormen." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "-identificatiecode" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Numerieke identificatie die uniek is voor het ouderapparaat" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "reacties" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "context van het virtuele apparaat" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "contexten van virtuele apparaten" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} is geen IPv{family} adres." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "Het primaire IP-adres moet bij een interface op het toegewezen apparaat " @@ -6709,7 +6731,7 @@ msgstr "Configuratiesjabloon" msgid "Site Group" msgstr "Sitegroep" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6718,12 +6740,12 @@ msgstr "Sitegroep" msgid "IP Address" msgstr "IP-adres" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4-adres" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6-adres" @@ -6761,8 +6783,8 @@ msgstr "Voedingspoorten" msgid "Power outlets" msgstr "Stopcontacten" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6800,8 +6822,8 @@ msgstr "Inventarisartikelen" msgid "Module Bay" msgstr "Modulebaai" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6859,75 +6881,75 @@ msgstr "FHRP-groepen" msgid "Tunnel" msgstr "Tunnel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Alleen beheer" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDC's" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Geïnstalleerde module" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Seriële module" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Tag voor module-bedrijfsmiddelen" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Status van de module" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Onderdeel" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Artikelen" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Apparaattypen" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Moduletypen" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Platformen" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Standaardplatform" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Volledige diepte" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "U-hoogte" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Instanties" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6938,7 +6960,7 @@ msgstr "Instanties" msgid "Console Ports" msgstr "Consolepoorten" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6949,7 +6971,7 @@ msgstr "Consolepoorten" msgid "Console Server Ports" msgstr "Serverpoorten voor de console" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6960,7 +6982,7 @@ msgstr "Serverpoorten voor de console" msgid "Power Ports" msgstr "Voedingspoorten" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6971,7 +6993,7 @@ msgstr "Voedingspoorten" msgid "Power Outlets" msgstr "Stopcontacten" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6981,7 +7003,7 @@ msgstr "Stopcontacten" msgid "Front Ports" msgstr "Ports aan de voorkant" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6992,7 +7014,7 @@ msgstr "Ports aan de voorkant" msgid "Rear Ports" msgstr "Poorten achteraan" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -7000,7 +7022,7 @@ msgstr "Poorten achteraan" msgid "Device Bays" msgstr "Apparaatvakken" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7442,24 +7464,24 @@ msgstr "Widgettype" msgid "Unregistered widget class: {name}" msgstr "Ongeregistreerde widgetklasse: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} moet een render () -methode definiëren." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Opmerking" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "Geef willekeurige aangepaste inhoud weer. Markdown wordt ondersteund." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Tellingen van objecten" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7467,61 +7489,61 @@ msgstr "" "Geef een set NetBox-modellen weer en het aantal objecten dat voor elk type " "is gemaakt." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "" "Filters die moeten worden toegepast bij het tellen van het aantal objecten" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Ongeldig formaat. Objectfilters moeten als woordenboek worden doorgegeven." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Objectlijst" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Geef een willekeurige lijst met objecten weer." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Het standaardaantal objecten dat moet worden weergegeven" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" "Ongeldig formaat. URL-parameters moeten als woordenboek worden doorgegeven." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "RSS-feed" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Voeg een RSS-feed van een externe website in." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "URL van de feed" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Het maximale aantal objecten dat moet worden weergegeven" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "Hoe lang moet de inhoud in de cache worden bewaard (in seconden)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Bladwijzers" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Laat je persoonlijke bladwijzers zien" @@ -7565,8 +7587,8 @@ msgstr "Clustertype (slug)" msgid "Tenant group" msgstr "Tenant groep" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Tenant groep (slug)" @@ -7703,7 +7725,7 @@ msgstr "Is actief" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Objecttypen" @@ -7807,8 +7829,8 @@ msgstr "De classificatie van binnenkomst" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Gebruikers" @@ -7821,8 +7843,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Groepen" @@ -8557,10 +8579,19 @@ msgstr "aangepaste veldkeuzeset" msgid "custom field choice sets" msgstr "aangepaste veldkeuzesets" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Moet basis- of extra keuzes definiëren." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Keuze kan niet worden verwijderd {choice} zoals er zijn {model} objecten die" +" ernaar verwijzen." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "lay-out" @@ -9139,64 +9170,64 @@ msgstr "Bericht" msgid "Method" msgstr "Methode" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Zorg ervoor dat deze waarde gelijk is aan %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Zorg ervoor dat deze waarde niet gelijk is %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Dit veld moet leeg zijn." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Dit veld mag niet leeg zijn." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Validatieregels moeten als woordenboek worden doorgegeven" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "Aangepaste validatie is mislukt voor {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Ongeldig kenmerk”{name}„op aanvraag" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Ongeldig kenmerk”{name}„voor {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Je dashboard is opnieuw ingesteld." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Widget toegevoegd: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Bijgewerkte widget: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Widget verwijderd: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Fout bij het verwijderen van de widget: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "Kan script niet uitvoeren: het RQ-werkproces wordt niet uitgevoerd." @@ -9266,19 +9297,19 @@ msgstr "Platte tekst" msgid "Invalid IP address format: {address}" msgstr "Ongeldig formaat van het IP-adres: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Doel importeren" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Importdoel (naam)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Doel exporteren" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Exportdoel (naam)" @@ -9348,11 +9379,11 @@ msgstr "Prefixen die dit voorvoegsel of IP-adres bevatten" msgid "Mask length" msgstr "Lengte van het masker" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "VLAN-nummer (1-4094)" @@ -9372,23 +9403,23 @@ msgid "Parent prefix" msgstr "Oudervoorvoegsel" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Virtuele machine (naam)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Virtuele machine (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Interface (naam)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "VM-interface (naam)" @@ -9416,19 +9447,27 @@ msgstr "Service (ID)" msgid "NAT inside IP address (ID)" msgstr "NAT binnen IP-adres (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Toegewezen interface" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Toegewezen VM-interface" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "IP-adres (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "IP-adres" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "Primaire IPv4 (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "Primaire IPv6 (ID)" @@ -9642,10 +9681,6 @@ msgstr "Virtuele machine" msgid "Parent VM of assigned interface (if any)" msgstr "Bovenliggende VM van de toegewezen interface (indien aanwezig)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Toegewezen interface" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Is primair" @@ -9976,7 +10011,7 @@ msgstr "FHRP-groepsopdracht" #: netbox/ipam/models/fhrp.py:114 msgid "FHRP group assignments" -msgstr "FHRP-groepsopdrachten" +msgstr "FHRP-groepstoewijzingen" #: netbox/ipam/models/ip.py:65 msgid "private" @@ -10935,7 +10970,7 @@ msgstr "Rollen voor contactpersonen" #: netbox/netbox/navigation/menu.py:36 msgid "Contact Assignments" -msgstr "Neem contact op met opdrachten" +msgstr "Contacttoewijzingen" #: netbox/netbox/navigation/menu.py:50 msgid "Rack Roles" @@ -11105,7 +11140,7 @@ msgstr "Circuitgroepen" #: netbox/netbox/navigation/menu.py:275 #: netbox/templates/circuits/circuit.html:66 msgid "Group Assignments" -msgstr "Groepsopdrachten" +msgstr "Groepstoewijzingen" #: netbox/netbox/navigation/menu.py:276 msgid "Circuit Terminations" @@ -11231,9 +11266,9 @@ msgstr "beheerder" msgid "API Tokens" msgstr "API-tokens" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Machtigingen" @@ -11386,63 +11421,63 @@ msgstr "Kan na initialisatie geen winkels aan het register toevoegen" msgid "Cannot delete stores from registry" msgstr "Kan winkels niet verwijderen uit het register" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "Tsjechisch" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "Deens" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "Duits" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "Engels" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "Spaans" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "Frans" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "Italiaans" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "Japans" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "Nederlands" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "Pools" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "Portugees" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "Russisch" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "Turks" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "Oekraïens" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "Chinees" @@ -13120,7 +13155,7 @@ msgstr "Nieuw lid toevoegen" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Acties" @@ -14179,7 +14214,7 @@ msgstr "" "Klik hier om te proberen NetBox opnieuw te " "laden." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14208,7 +14243,7 @@ msgid "Add Contact Group" msgstr "Contactgroep toevoegen" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Rol van contactpersoon" @@ -14246,7 +14281,7 @@ msgid "View" msgstr "Bekijken" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Beperkingen" @@ -14273,11 +14308,6 @@ msgstr "Geheugen" msgid "Disk Space" msgstr "Schijfruimte" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Virtuele machine toevoegen" @@ -14518,57 +14548,57 @@ msgstr "Eigenschappen van de link" msgid "Distance" msgstr "Afstand" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Contactgroep voor ouders (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Contactgroep voor ouders (slug)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Contactgroep (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Contactgroep (slug)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Contactpersoon (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Rol van contactpersoon (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Contactrol (slug)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Contactgroep" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Parent tenant groep (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Parent tenant groep (slug)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Tenant groep (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Tenant Groep (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Tenant Groep (slug)" @@ -14626,7 +14656,7 @@ msgstr "contactopdracht" #: netbox/tenancy/models/contacts.py:154 msgid "contact assignments" -msgstr "contactopdrachten" +msgstr "contacttoewijzingen" #: netbox/tenancy/models/contacts.py:170 #, python-brace-format @@ -14735,11 +14765,11 @@ msgstr "Kan veranderen" msgid "Can Delete" msgstr "Kan verwijderen" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Gebruikersinterface" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14749,7 +14779,7 @@ msgstr "" "sleutel opneemt voordat dit formulier wordt verzonden, omdat het " "mogelijk niet meer toegankelijk is nadat het token is aangemaakt." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14759,33 +14789,33 @@ msgstr "" "Laat dit veld leeg zodat er geen beperkingen zijn. Voorbeeld: " "10.1.1.0/24, 192.168.10.16/32,2001:db 8:1: :/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Wachtwoord bevestigen" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Voer ter verificatie hetzelfde wachtwoord in als voorheen." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" "Wachtwoorden komen niet overeen! Controleer uw invoer en probeer het " "opnieuw." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Aanvullende acties" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Acties die zijn toegekend in aanvulling op de hierboven genoemde" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Objecten" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14796,11 +14826,11 @@ msgstr "" " Een lijst met meerdere objecten zal resulteren in een logische OR-" "bewerking." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Er moet minstens één actie worden geselecteerd." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Ongeldig filter voor {model}: {error}" @@ -15064,7 +15094,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Ongeldige waarde voor een meerkeuzeveld: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Object niet gevonden: %(value)s" @@ -15078,11 +15108,16 @@ msgstr "" "„{value}„is geen unieke waarde voor dit veld; er zijn meerdere objecten " "gevonden" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "„{field_name}„is een ongeldige naam voor het accessorveld." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Het objecttype moet worden gespecificeerd als”.„" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Ongeldig objecttype" @@ -15674,19 +15709,19 @@ msgstr "DSA-handtekeningen" msgid "Group {n}" msgstr "groep {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Ethernet, privé-LAN" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Virtueel privé-LAN via Ethernet" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Ethernet Private Tree" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Virtuele privéstructuur van Ethernet" @@ -15718,33 +15753,31 @@ msgstr "Tunnel (naam)" msgid "Outside IP (ID)" msgstr "Buiten IP (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "IKE-beleid (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "IKE-beleid (naam)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "IPsec-beleid (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "IPsec-beleid (naam)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (slug)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "VM-interface (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (naam)" diff --git a/netbox/translations/pl/LC_MESSAGES/django.po b/netbox/translations/pl/LC_MESSAGES/django.po index eb970b95e..c8ede3aca 100644 --- a/netbox/translations/pl/LC_MESSAGES/django.po +++ b/netbox/translations/pl/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-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Polish (https://app.transifex.com/netbox-community/teams/178115/pl/)\n" @@ -26,7 +26,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Klucz" @@ -62,7 +62,7 @@ msgstr "Ostatnio używane" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "Dozwolone adresy IP" @@ -91,8 +91,8 @@ msgstr "Twoje hasło zostało pomyślnie zmienione." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -104,8 +104,8 @@ msgstr "Zaopatrzenie" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -116,8 +116,8 @@ msgid "Active" msgstr "Aktywny" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Nieaktywne" @@ -130,7 +130,7 @@ msgstr "Odstąpienie od zaopatrzenia" msgid "Decommissioned" msgstr "Wycofane ze służby" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Podstawowy" @@ -156,7 +156,7 @@ msgstr "Nieaktywny" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Region (ID)" @@ -168,7 +168,7 @@ msgstr "Region (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Region (identyfikator)" @@ -197,7 +197,7 @@ msgstr "Grupa terenów (identyfikator)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -263,7 +263,7 @@ msgstr "Teren" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Teren (identyfikator)" @@ -317,7 +317,7 @@ msgstr "Typ obwodu (identyfikator)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Teren (ID)" @@ -336,13 +336,13 @@ msgstr "Wypowiedzenie A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -351,7 +351,7 @@ msgstr "Szukaj" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -535,9 +535,9 @@ msgstr "Opis" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -574,9 +574,9 @@ msgstr "Identyfikator usługi" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -589,7 +589,7 @@ msgid "Color" msgstr "Kolor" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -612,7 +612,7 @@ msgstr "Kolor" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -646,14 +646,14 @@ msgid "Type" msgstr "Typ" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Konto dostawcy" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -669,8 +669,8 @@ msgstr "Konto dostawcy" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -699,7 +699,7 @@ msgstr "Konto dostawcy" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -723,8 +723,8 @@ msgstr "Status" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -890,21 +890,21 @@ msgstr "Szczegóły wypowiedzenia" msgid "Priority" msgstr "Priorytet" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Przydzielony dostawca" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Przydzielone konto dostawcy" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Rodzaj obwodu" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -916,8 +916,8 @@ msgstr "Rodzaj obwodu" msgid "Operational status" msgstr "Status operacyjny" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -933,7 +933,7 @@ msgstr "Status operacyjny" msgid "Assigned tenant" msgstr "Przydzielony najemca" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -941,7 +941,7 @@ msgstr "Przydzielony najemca" msgid "Termination" msgstr "Wypowiedzenie" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1097,7 +1097,7 @@ msgstr "Strona terminowa" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Zlecenie" @@ -1152,11 +1152,11 @@ msgid "Circuit Group" msgstr "Grupa obwodów" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1179,9 +1179,9 @@ msgid "Unique circuit ID" msgstr "Unikalny identyfikator obwodu" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1275,7 +1275,7 @@ msgstr "Identyfikator panelu krosowego i numer (y) portu" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1312,11 +1312,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1400,11 +1400,11 @@ msgstr "sieci dostawców" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1542,8 +1542,8 @@ msgstr "Współczynnik zatwierdzania" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1620,8 +1620,8 @@ msgstr "Zakończone" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Nie powiodło się" @@ -1687,42 +1687,42 @@ msgstr "Zatrzymane" msgid "Cancelled" msgstr "Anulowane" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Lokalne" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Nazwa użytkownika" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Tylko używane do klonowania poprzez HTTP(S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Hasło" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "gałąź" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Pobieranie zdalnych danych nie powiodło się ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "Identyfikator klucza dostępu AWS" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Tajny klucz dostępu AWS" @@ -1777,7 +1777,7 @@ msgstr "Nazwa użytkownika" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1891,7 +1891,7 @@ msgstr "Zakończone przed" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Użytkownik" @@ -1945,7 +1945,7 @@ msgstr "Musisz przesłać plik lub wybrać plik danych do synchronizacji" msgid "Rack Elevations" msgstr "Elewacje szaf" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1988,7 +1988,7 @@ msgstr "Preferencje użytkownika" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Różne" @@ -2049,7 +2049,7 @@ msgstr "" "Rejestracja zmian nie jest obsługiwana dla tego typu obiektu ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2086,20 +2086,20 @@ msgid "Config revision #{id}" msgstr "Wersja konfiguracji #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2114,8 +2114,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2228,58 +2228,58 @@ msgstr "plik zarządzany" msgid "managed files" msgstr "zarządzane pliki" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "planowy" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "interwał" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Odstęp nawrotów (w minutach)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "rozpoczął się" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "ukończony" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "dane" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "błąd" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "ID pracy" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "pracy" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "prace" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Zadania nie mogą być przypisane do tego typu obiektu ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "Nieprawidłowy status zakończenia pracy. Wybory to: {choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2330,7 +2330,7 @@ msgid "Last updated" msgstr "Ostatnia aktualizacja" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2522,7 +2522,7 @@ msgid "Staging" msgstr "Inscenizacja" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Wycofanie z eksploatacji" @@ -2586,17 +2586,17 @@ msgstr "Przestarzałe" msgid "Millimeters" msgstr "Milimetrów" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Cale" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "Przód do tyłu" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Tył do przodu" @@ -2609,8 +2609,8 @@ msgstr "Tył do przodu" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2654,7 +2654,7 @@ msgstr "Przód" msgid "Rear" msgstr "Tył" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Inscenizowane" @@ -2663,67 +2663,79 @@ msgstr "Inscenizowane" msgid "Inventory" msgstr "Inwentaryzacja" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Od lewej do prawej" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Od prawej do lewej" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Z boku do tyłu" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "Tył na bok" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "Od dołu do góry" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "Od góry do dołu" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Pasywny" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Mieszane" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (bez blokowania)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (Blokowanie)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Styl kalifornijski" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "Międzynarodowy/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Zastrzeżone" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Pozostałe" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/Międzynarodowy" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Fizyczne" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Wirtualny" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2731,13 +2743,13 @@ msgstr "Wirtualny" msgid "Wireless" msgstr "Bezprzewodowy" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Interfejsy wirtualne" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2745,27 +2757,27 @@ msgstr "Interfejsy wirtualne" msgid "Bridge" msgstr "Most" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Grupa agregacji linków (LGD)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (stały)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modułowy)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (płaszczyzna tylna)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Komórkowy" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2773,130 +2785,130 @@ msgstr "Komórkowy" msgid "Serial" msgstr "Seryjny" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "koncentryczny" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "Układanie" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Połowa" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Pełny" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Automatyczny" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Dostęp" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Oznaczone" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Oznaczone (Wszystkie)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "Standard IEEE" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "Pasywny 24V (2 pary)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "Pasywny 24V (4-parowy)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "Pasywny 48V (2 pary)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "Pasywny 48V (4 pary)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Miedź" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Światłowód" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Włókno" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Połączony" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometry" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Mierniki" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Centymetry" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Mile" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Stopy" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogramy" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Gramy" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "funty" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Uncja" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Nadmiarowy" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Jednofazowy" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Trójfazowy" @@ -3148,7 +3160,7 @@ msgstr "Jest pełna głębokość" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3192,7 +3204,7 @@ msgid "Device model" msgstr "Model urządzenia" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Interfejs (ID)" @@ -3206,8 +3218,8 @@ msgstr "Osłona modułu (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Urządzenie (ID)" @@ -3216,8 +3228,8 @@ msgid "Rack (name)" msgstr "Szafa (nazwa)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Urządzenie (nazwa)" @@ -3267,8 +3279,8 @@ msgstr "Przypisany VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3304,7 +3316,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3360,7 +3372,7 @@ msgstr "Kontekst urządzenia wirtualnego (identyfikator)" msgid "Wireless LAN" msgstr "Bezprzewodowa sieć LAN" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Połączenie bezprzewodowe" @@ -3388,12 +3400,12 @@ msgstr "Mistrz (ID)" msgid "Master (name)" msgstr "Mistrz (imię)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Najemca (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Najemca (identyfikator)" @@ -3420,7 +3432,7 @@ msgstr "Tagi" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3469,8 +3481,8 @@ msgstr "Strefa czasowa" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3534,7 +3546,7 @@ msgstr "Głębokość montażu" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3595,8 +3607,8 @@ msgstr "Numeracja" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3704,12 +3716,12 @@ msgstr "Numer części" msgid "U height" msgstr "Wysokość U" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Wyklucz z wykorzystania" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3798,10 +3810,10 @@ msgstr "Platforma" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3928,8 +3940,8 @@ msgid "Maximum draw" msgstr "Maksymalne losowanie" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Maksymalny pobór mocy (waty)" @@ -3938,8 +3950,8 @@ msgid "Allocated draw" msgstr "Przydzielone losowanie" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Przydzielony pobór mocy (waty)" @@ -3960,16 +3972,16 @@ msgstr "Tylko zarządzanie" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "Tryb PoE" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "Typ PoE" @@ -3993,7 +4005,7 @@ msgstr "Rola sieci bezprzewodowej" msgid "Module" msgstr "Moduł" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "OPÓŹNIENIE" @@ -4005,7 +4017,7 @@ msgstr "Konteksty urządzeń wirtualnych" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4052,7 +4064,7 @@ msgid "Wireless LAN group" msgstr "Grupa sieci bezprzewodowej sieci LAN" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4440,7 +4452,7 @@ msgstr "Odpowiedni tylny port" msgid "Physical medium classification" msgstr "Klasyfikacja medium fizycznego" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Zainstalowane urządzenie" @@ -4529,7 +4541,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} Nie znaleziono zakończenia bocznego: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4581,7 +4593,7 @@ msgstr "Podstawowy IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "Adres IPv6 z przedrostkiem, np. 2001:db8: :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4744,7 +4756,7 @@ msgid "Mgmt only" msgstr "Tylko MGMT" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4777,7 +4789,7 @@ msgstr "Moc transmisji (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Odkryte" @@ -4927,7 +4939,7 @@ msgid "Front Port" msgstr "Port przedni" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5064,7 +5076,7 @@ msgstr "" "Liczba portów przednich do utworzenia ({frontport_count}) musi odpowiadać " "wybranej liczbie pozycji tylnych portów ({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5089,7 +5101,7 @@ msgstr "Pozycja musi być określona dla pierwszego członka VC." #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "marka" @@ -5193,7 +5205,7 @@ msgstr "" "dołączeniu do typu modułu." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Etykieta fizyczna" @@ -5217,139 +5229,139 @@ msgid "" msgstr "" "Szablon komponentu musi być skojarzony z typem urządzenia lub typem modułu." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "szablon portu konsoli" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "szablony portów konsoli" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "szablon portu serwera konsoli" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "szablony portów serwera konsoli" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "maksymalne losowanie" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "przydzielone losowanie" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "szablon portu zasilania" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "szablony portów zasilania" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "Przydzielone losowanie nie może przekroczyć maksymalnego losowania " "({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "noga karmiąca" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Faza (dla zasilania trójfazowego)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "szablon gniazdka elektrycznego" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "szablony gniazdek elektrycznych" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Nadrzędny port zasilania ({power_port}) musi należeć do tego samego typu " "urządzenia" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Nadrzędny port zasilania ({power_port}) musi należeć do tego samego typu " "modułu" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "Tylko zarządzanie" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "interfejs mostka" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "rola bezprzewodowa" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "szablon interfejsu" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "szablony interfejsu" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Interfejs nie może być połączony z samym sobą." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" "Interfejs mostka ({bridge}) musi należeć do tego samego typu urządzenia" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Interfejs mostka ({bridge}) musi należeć do tego samego typu modułu" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "pozycja tylnego portu" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "szablon portu przedniego" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "szablony portów przednich" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Tylny port ({name}) musi należeć do tego samego typu urządzenia" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5358,48 +5370,48 @@ msgstr "" "Nieprawidłowa pozycja tylnego portu ({position}); tylny port {name} ma tylko" " {count} położenia" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "położenia" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "szablon tylnego portu" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "szablony tylnych portów" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "położenie" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Identyfikator, do którego należy odwołać się podczas zmiany nazwy " "zainstalowanych komponentów" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "szablon modułu wnęki" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "szablony modułów" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "szablon kieszeni urządzenia" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "szablony kieszeni urządzeń" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5408,207 +5420,207 @@ msgstr "" "Rola podurządzenia typu urządzenia ({device_type}) musi być ustawiony na " "„rodzic”, aby zezwolić na gniazda urządzeń." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "ID części" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Identyfikator części przypisany przez producenta" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "szablon pozycji inwentaryzacji" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "szablony pozycji inwentaryzacji" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Komponentów nie można przenieść na inne urządzenie." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "koniec kabla" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "znak połączony" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Traktuj tak, jakby kabel był podłączony" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "Należy określić koniec kabla (A lub B) podczas mocowania kabla." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "Końcówka kabla nie może być ustawiona bez kabla." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Nie można oznaczyć jako podłączonego za pomocą podłączonego kabla." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} modele muszą zadeklarować właściwość parent_object" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Typ portu fizycznego" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "prędkość" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Prędkość portu w bitach na sekundę" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "port konsoli" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "porty konsoli" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "port serwera konsoli" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "porty serwera konsoli" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "port zasilania" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "porty zasilania" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "gniazdo zasilania" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "gniazdka elektryczne" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Nadrzędny port zasilania ({power_port}) musi należeć do tego samego " "urządzenia" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "tryb" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "Strategia tagowania IEEE 802.1Q" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "interfejs macierzysty" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "macierzysta LGD" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Ten interfejs jest używany tylko do zarządzania poza pasmem" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "Prędkość (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "dupleks" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64-bitowa nazwa światowa" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "kanał bezprzewodowy" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "częstotliwość kanału (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Wypełnione przez wybrany kanał (jeśli ustawiony)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "moc nadawania (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "bezprzewodowe sieci LAN" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "nieoznaczone sieci VLAN" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "oznaczone sieci VLAN" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "interfejs" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "interfejsy" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} Interfejsy nie mogą mieć podłączonego kabla." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type} interfejsów nie można oznaczyć jako połączonych." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Interfejs nie może być własnym rodzicem." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "Do interfejsu nadrzędnego można przypisać tylko interfejsy wirtualne." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5617,7 +5629,7 @@ msgstr "" "Wybrany interfejs nadrzędny ({interface}) należy do innego urządzenia " "({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5626,7 +5638,7 @@ msgstr "" "Wybrany interfejs nadrzędny ({interface}) należy do {device}, która nie jest" " częścią wirtualnej obudowy {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5634,7 +5646,7 @@ msgid "" msgstr "" "Wybrany interfejs mostu ({bridge}) należy do innego urządzenia ({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5643,21 +5655,21 @@ msgstr "" "Wybrany interfejs mostu ({interface}) należy do {device}, która nie jest " "częścią wirtualnej obudowy {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "Interfejsy wirtualne nie mogą mieć nadrzędnego interfejsu LAG." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Interfejs LAG nie może być własnym rodzicem." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "Wybrany interfejs LAG ({lag}) należy do innego urządzenia ({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5666,49 +5678,49 @@ msgstr "" "Wybrany interfejs LAG ({lag}) należy do {device}, która nie jest częścią " "wirtualnej obudowy {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Interfejsy wirtualne nie mogą mieć trybu PoE." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Interfejsy wirtualne nie mogą mieć typu PoE." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "Musi określić tryb PoE podczas wyznaczania typu PoE." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" "Rola sieci bezprzewodowej może być ustawiona tylko na interfejsach " "bezprzewodowych." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Kanał można ustawić tylko na interfejsach bezprzewodowych." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" "Częstotliwość kanału może być ustawiona tylko na interfejsach " "bezprzewodowych." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "Nie można określić niestandardowej częstotliwości z wybranym kanałem." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" "Szerokość kanału może być ustawiona tylko na interfejsach bezprzewodowych." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" "Nie można określić niestandardowej szerokości przy zaznaczonym kanale." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5717,24 +5729,24 @@ msgstr "" "Nieoznaczona sieć VLAN ({untagged_vlan}) musi należeć do tej samej witryny " "co urządzenie nadrzędne interfejsu lub musi być globalne." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Zmapowana pozycja na odpowiednim tylnym porcie" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "port przedni" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "porty przednie" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Tylny port ({rear_port}) musi należeć do tego samego urządzenia" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5743,19 +5755,19 @@ msgstr "" "Nieprawidłowa pozycja tylnego portu ({rear_port_position}): Tylny port " "{name} ma tylko {positions} pozycje." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Liczba portów przednich, które mogą być mapowane" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "tylny port" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "tylne porty" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5764,37 +5776,37 @@ msgstr "" "Liczba pozycji nie może być mniejsza niż liczba zmapowanych portów przednich" " ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "wnęka modułu" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "kieszenie modułowe" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "Wnęka modułu nie może należeć do zainstalowanego w nim modułu." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "wnęka urządzenia" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "kieszenie na urządzenia" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "Ten typ urządzenia ({device_type}) nie obsługuje wnęk na urządzenia." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Nie można zainstalować urządzenia w sobie." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5802,61 +5814,61 @@ msgstr "" "Nie można zainstalować określonego urządzenia; urządzenie jest już " "zainstalowane w {bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "rola pozycji zapasów" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "role pozycji zapasów" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "numer seryjny" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "znacznik zasobu" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Unikalny znacznik używany do identyfikacji tego elementu" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "odkryty" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Ten przedmiot został automatycznie wykryty" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "pozycja inwentaryzacyjna" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "pozycje inwentaryzacyjne" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Nie można przypisać siebie jako rodzica." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "Nadrzędny element ekwipunku nie należy do tego samego urządzenia." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "" "Nie można przenieść pozycji inwentarza z pozostałymi dziećmi na utrzymaniu" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" "Nie można przypisać elementu zapasów do komponentu na innym urządzeniu" @@ -6008,7 +6020,7 @@ msgstr "Funkcja, jaką spełnia to urządzenie" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Numer seryjny podwozia, przypisany przez producenta" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Unikalny znacznik używany do identyfikacji tego urządzenia" @@ -6020,12 +6032,12 @@ msgstr "pozycja (U)" msgid "rack face" msgstr "powierzchnia szafy" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "podstawowy IPv4" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "podstawowy IPv6" @@ -6174,15 +6186,24 @@ msgstr "" "Urządzenie przypisane do wirtualnej obudowy musi mieć zdefiniowane " "położenie." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Nie można usunąć urządzenia z wirtualnej obudowy {virtual_chassis} ponieważ " +"jest obecnie wyznaczony jako jego mistrz." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "moduł" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "modułów" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6191,22 +6212,22 @@ msgstr "" "Moduł musi być zainstalowany w wnęce modułowej należącej do przypisanego " "urządzenia ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "domena" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "wirtualne podwozie" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "Wybrany mistrz ({master}) nie jest przypisany do tej wirtualnej obudowy." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6215,34 +6236,34 @@ msgstr "" "Nie można usunąć wirtualnej obudowy {self}. Istnieją interfejsy członów, " "które tworzą interfejsy LAG między podwoziami." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identyfikator" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Identyfikator numeryczny unikalny dla urządzenia nadrzędnego" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "komentarzy" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "kontekst urządzenia wirtualnego" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "konteksty urządzeń wirtualnych" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} nie jest IPV{family} adres." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "Podstawowy adres IP musi należeć do interfejsu na przypisanym urządzeniu." @@ -6673,7 +6694,7 @@ msgstr "Szablon konfiguracji" msgid "Site Group" msgstr "Grupa witryn" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6682,12 +6703,12 @@ msgstr "Grupa witryn" msgid "IP Address" msgstr "Adres IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Adres IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Adres IPv6" @@ -6725,8 +6746,8 @@ msgstr "Porty zasilania" msgid "Power outlets" msgstr "Gniazdka elektryczne" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6764,8 +6785,8 @@ msgstr "Elementy inwentaryzacyjne" msgid "Module Bay" msgstr "Moduł Bay" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6823,75 +6844,75 @@ msgstr "Grupy FHRP" msgid "Tunnel" msgstr "Tunel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Tylko zarządzanie" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Zainstalowany moduł" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Moduł szeregowy" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Etykietka zasobów modułu" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Status modułu" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Komponent" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Przedmioty" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Rodzaje urządzeń" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Rodzaje modułów" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Platformy" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Domyślna platforma" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Pełna głębokość" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "Wysokość U" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Instancje" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6902,7 +6923,7 @@ msgstr "Instancje" msgid "Console Ports" msgstr "Porty konsoli" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6913,7 +6934,7 @@ msgstr "Porty konsoli" msgid "Console Server Ports" msgstr "Porty serwera konsoli" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6924,7 +6945,7 @@ msgstr "Porty serwera konsoli" msgid "Power Ports" msgstr "Porty zasilania" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6935,7 +6956,7 @@ msgstr "Porty zasilania" msgid "Power Outlets" msgstr "Gniazdka elektryczne" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6945,7 +6966,7 @@ msgstr "Gniazdka elektryczne" msgid "Front Ports" msgstr "Porty przednie" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6956,7 +6977,7 @@ msgstr "Porty przednie" msgid "Rear Ports" msgstr "Tylne porty" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6964,7 +6985,7 @@ msgstr "Tylne porty" msgid "Device Bays" msgstr "Wnęsy na urządzenia" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7404,24 +7425,24 @@ msgstr "Typ widżetu" msgid "Unregistered widget class: {name}" msgstr "Niezarejestrowana klasa widgetów: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} musi zdefiniować metodę render ()." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Uwaga" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "Wyświetl dowolną niestandardową zawartość. Markdown jest obsługiwany." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Liczenie obiektów" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7429,61 +7450,61 @@ msgstr "" "Wyświetla zestaw modeli NetBox i liczbę obiektów utworzonych dla każdego " "typu." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Filtry do zastosowania przy liczeniu liczby obiektów" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Nieprawidłowy format. Filtry obiektów muszą być przekazywane jako słownik." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Lista obiektów" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Wyświetla dowolną listę obiektów." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Domyślna liczba obiektów do wyświetlenia" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" "Nieprawidłowy format. Parametry adresu URL muszą być przekazywane jako " "słownik." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "Kanał RSS" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Osadź kanał RSS z zewnętrznej strony internetowej." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "Adres URL kanału" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Maksymalna liczba obiektów do wyświetlenia" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "Jak długo przechowywać zawartość w pamięci podręcznej (w sekundach)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Zakładki" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Pokaż swoje osobiste zakładki" @@ -7526,8 +7547,8 @@ msgstr "Typ klastra (identyfikator)" msgid "Tenant group" msgstr "Grupa najemców" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Grupa najemców (identyfikator)" @@ -7664,7 +7685,7 @@ msgstr "Jest aktywny" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Typy obiektów" @@ -7764,8 +7785,8 @@ msgstr "Klasyfikacja wpisu" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Użytkownicy" @@ -7778,8 +7799,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Grupy" @@ -8498,10 +8519,19 @@ msgstr "niestandardowy zestaw wyboru pola" msgid "custom field choice sets" msgstr "niestandardowe zestawy wyboru pól" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Musi zdefiniować opcje bazowe lub dodatkowe." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Nie można usunąć wyboru {choice} tak jak są {model} Obiekty, które się do " +"niego odnoszą." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "układ" @@ -9075,64 +9105,64 @@ msgstr "Wiadomość" msgid "Method" msgstr "Metoda" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Upewnij się, że ta wartość jest równa %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Upewnij się, że ta wartość nie jest równa %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "To pole musi być puste." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "To pole nie może być puste." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Reguły walidacji muszą być przekazane jako słownik" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "Niestandardowa walidacja nie powiodła się {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Nieprawidłowy atrybut”{name}„na żądanie" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Nieprawidłowy atrybut”{name}„dla {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Twój pulpit nawigacyjny został zresetowany." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Dodano widżet: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Zaktualizowano widżet: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Usunięty widget: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Błąd usuwania widżetu: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "Nie można uruchomić skryptu: proces roboczy RQ nie działa." @@ -9202,19 +9232,19 @@ msgstr "Zwykły tekst" msgid "Invalid IP address format: {address}" msgstr "Nieprawidłowy format adresu IP: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Importuj cel" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Import docelowy (nazwa)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Cel eksportu" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Eksportuj cel (nazwa)" @@ -9284,11 +9314,11 @@ msgstr "Prefiksy zawierające ten prefiks lub adres IP" msgid "Mask length" msgstr "Długość maski" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "Numer VLAN (1-4094)" @@ -9308,23 +9338,23 @@ msgid "Parent prefix" msgstr "Prefiks nadrzędny" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Maszyna wirtualna (nazwa)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Maszyna wirtualna (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Interfejs (nazwa)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "Interfejs maszyny wirtualnej (nazwa)" @@ -9352,19 +9382,27 @@ msgstr "Usługa (ID)" msgid "NAT inside IP address (ID)" msgstr "NAT wewnątrz adresu IP (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Przypisany interfejs" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Przypisany interfejs maszyny wirtualnej" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "Adres IP (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "Adres IP" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "Podstawowy IPv4 (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "Podstawowy protokół IPv6 (ID)" @@ -9578,10 +9616,6 @@ msgstr "Maszyna wirtualna" msgid "Parent VM of assigned interface (if any)" msgstr "Nadrzędna maszyna wirtualna przypisanego interfejsu (jeśli istnieje)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Przypisany interfejs" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Jest podstawowy" @@ -11154,9 +11188,9 @@ msgstr "Administrator" msgid "API Tokens" msgstr "Tokeny API" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Uprawnienia" @@ -11309,63 +11343,63 @@ msgstr "Nie można dodać sklepów do rejestru po zainicjowaniu" msgid "Cannot delete stores from registry" msgstr "Nie można usunąć sklepów z rejestru" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "czeski" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "duński" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "niemiecki" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "angielski" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "hiszpański" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "francuski" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "włoski" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "japoński" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "holenderski" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "polski" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "portugalski" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "rosyjski" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "turecki" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "ukraiński" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "chiński" @@ -13036,7 +13070,7 @@ msgstr "Dodaj nowego członka" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Działania" @@ -14091,7 +14125,7 @@ msgstr "" "Kliknij tutaj aby spróbować ponownie załadować " "NetBox." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14120,7 +14154,7 @@ msgid "Add Contact Group" msgstr "Dodaj grupę kontaktów" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Rola kontaktowa" @@ -14158,7 +14192,7 @@ msgid "View" msgstr "Widok" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Ograniczenia" @@ -14185,11 +14219,6 @@ msgstr "Pamięć" msgid "Disk Space" msgstr "Miejsce na dysku" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Dodaj maszynę wirtualną" @@ -14430,57 +14459,57 @@ msgstr "Właściwości łącza" msgid "Distance" msgstr "Dystans" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Nadrzędna grupa kontaktów (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Nadrzędna grupa kontaktów (identyfikator)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Grupa kontaktowa (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Grupa kontaktów (identyfikator)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Kontakt (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Rola kontaktowa (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Rola kontaktu (identyfikator)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Grupa kontaktowa" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Grupa nadrzędnych najemców (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Nadrzędna grupa najemców (identyfikator)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Grupa najemców (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Grupa najemców (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Grupa najemców (identyfikator)" @@ -14645,11 +14674,11 @@ msgstr "Może się zmienić" msgid "Can Delete" msgstr "Można usunąć" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Interfejs użytkownika" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14659,7 +14688,7 @@ msgstr "" "zapisać swój klucz przed przesłaniem tego formularza, ponieważ może" " nie być już dostępny po utworzeniu tokena." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14669,31 +14698,31 @@ msgstr "" " ograniczeń. Przykład: 10.1.1.0/24,192.168.10.16/32,2001: db 8:1: " ":/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Potwierdź hasło" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Wprowadź to samo hasło, co poprzednio, w celu weryfikacji." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "Hasła nie pasują! Sprawdź dane wejściowe i spróbuj ponownie." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Dodatkowe działania" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Działania udzielone w uzupełnieniu do wymienionych powyżej" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Obiekty" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14703,11 +14732,11 @@ msgstr "" "Pozostaw wartość null, aby pasowała do wszystkich obiektów tego typu. Lista " "wielu obiektów spowoduje logiczną operację OR." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Należy wybrać co najmniej jedną akcję." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Nieprawidłowy filtr dla {model}: {error}" @@ -14970,7 +14999,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Nieprawidłowa wartość pola wyboru wielokrotnego wyboru: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Obiekt nie został znaleziony: %(value)s" @@ -14984,11 +15013,16 @@ msgstr "" "„{value}„nie jest unikalną wartością dla tego pola; znaleziono wiele " "obiektów" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "„{field_name}„jest nieprawidłową nazwą pola dostępu." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Typ obiektu musi być określony jako”.„" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Nieprawidłowy typ obiektu" @@ -15579,19 +15613,19 @@ msgstr "Podpisy DSA" msgid "Group {n}" msgstr "Grupa {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Prywatna sieć LAN Ethernet" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Wirtualna prywatna sieć LAN Ethernet" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Prywatne drzewo Ethernet" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Wirtualne prywatne drzewo Ethernet" @@ -15623,33 +15657,31 @@ msgstr "Tunel (nazwa)" msgid "Outside IP (ID)" msgstr "Zewnętrzny adres IP (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "Polityka IKE (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "Polityka IKE (nazwa)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "Polityka IPsec (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "Polityka IPsec (nazwa)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (identyfikator)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "Interfejs maszyny wirtualnej (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (nazwa)" diff --git a/netbox/translations/pt/LC_MESSAGES/django.po b/netbox/translations/pt/LC_MESSAGES/django.po index 4b62823c1..ecc4eb05e 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-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n" @@ -26,7 +26,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Chave" @@ -62,7 +62,7 @@ msgstr "Usado pela Última Vez" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "IPs Permitidos" @@ -91,8 +91,8 @@ msgstr "Sua senha foi alterada com sucesso." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -104,8 +104,8 @@ msgstr "Provisionamento" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -116,8 +116,8 @@ msgid "Active" msgstr "Ativo" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Offline" @@ -130,7 +130,7 @@ msgstr "Em Desprovisionamento" msgid "Decommissioned" msgstr "Descomissionado" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primário" @@ -156,7 +156,7 @@ msgstr "Inativo" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Região (ID)" @@ -168,7 +168,7 @@ msgstr "Região (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Região (slug)" @@ -197,7 +197,7 @@ msgstr "Grupo de sites (slug)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -263,7 +263,7 @@ msgstr "Site" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Site (slug)" @@ -317,7 +317,7 @@ msgstr "Tipo de circuito (slug)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Site (ID)" @@ -336,13 +336,13 @@ msgstr "Terminação A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -351,7 +351,7 @@ msgstr "Busca" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -535,9 +535,9 @@ msgstr "Descrição" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -574,9 +574,9 @@ msgstr "ID do serviço" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -589,7 +589,7 @@ msgid "Color" msgstr "Cor" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -612,7 +612,7 @@ msgstr "Cor" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -646,14 +646,14 @@ msgid "Type" msgstr "Tipo" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Conta do provedor" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -669,8 +669,8 @@ msgstr "Conta do provedor" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -699,7 +699,7 @@ msgstr "Conta do provedor" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -723,8 +723,8 @@ msgstr "Status" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -890,21 +890,21 @@ msgstr "Detalhes da Terminação" msgid "Priority" msgstr "Prioridade" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Provedor designado" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Conta de provedor designada" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Tipo de circuito" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -916,8 +916,8 @@ msgstr "Tipo de circuito" msgid "Operational status" msgstr "Status operacional" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -933,7 +933,7 @@ msgstr "Status operacional" msgid "Assigned tenant" msgstr "Inquilino designado" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -941,7 +941,7 @@ msgstr "Inquilino designado" msgid "Termination" msgstr "Terminação" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1097,7 +1097,7 @@ msgstr "Lado da Terminação" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Atribuição" @@ -1152,11 +1152,11 @@ msgid "Circuit Group" msgstr "Grupo de Circuitos" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1179,9 +1179,9 @@ msgid "Unique circuit ID" msgstr "ID única do circuito" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1275,7 +1275,7 @@ msgstr "ID do patch panel e número da(s) porta(s)" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1314,11 +1314,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1402,11 +1402,11 @@ msgstr "redes dos provedores" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1544,8 +1544,8 @@ msgstr "Taxa Garantida" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1622,8 +1622,8 @@ msgstr "Concluído" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Falhou" @@ -1689,42 +1689,42 @@ msgstr "Parado" msgid "Cancelled" msgstr "Cancelado" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Local" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Nome de Usuário" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Usado apenas para clonagem com HTTP(S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Senha" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Filial" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Falha na obtenção de dados remotos ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "ID da chave de acesso da AWS" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Chave de acesso secreta da AWS" @@ -1779,7 +1779,7 @@ msgstr "Nome de usuário" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1893,7 +1893,7 @@ msgstr "Concluído antes" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Usuário" @@ -1951,7 +1951,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Elevações de Rack" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1994,7 +1994,7 @@ msgstr "Preferências de Usuário" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Diversos" @@ -2053,7 +2053,7 @@ msgid "Change logging is not supported for this object type ({type})." msgstr "Changelog não é suportado para este tipo de objeto ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2090,20 +2090,20 @@ msgid "Config revision #{id}" msgstr "Revisão da configuração #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2118,8 +2118,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2235,58 +2235,58 @@ msgstr "arquivo gerenciado" msgid "managed files" msgstr "arquivos gerenciados" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "agendado" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "intervalo" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Intervalo de recorrência (em minutos)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "iniciado" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "concluído" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "dados" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "erro" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "ID da tarefa" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "tarefa" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "tarefas" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Tarefas não podem ser atribuídas a este tipo de objeto ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "Status inválido para encerramento da tarefa. As opções são: {choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2337,7 +2337,7 @@ msgid "Last updated" msgstr "Última atualização" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2529,7 +2529,7 @@ msgid "Staging" msgstr "Em Preparação" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Em Descomissionamento" @@ -2593,17 +2593,17 @@ msgstr "Obsoleto" msgid "Millimeters" msgstr "Milímetros" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Polegadas" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "Frente para trás" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Trás para frente" @@ -2616,8 +2616,8 @@ msgstr "Trás para frente" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2661,7 +2661,7 @@ msgstr "Frente" msgid "Rear" msgstr "Traseira" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Preparado" @@ -2670,67 +2670,79 @@ msgstr "Preparado" msgid "Inventory" msgstr "Inventário" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Esquerda para direita" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Direita para esquerda" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Lado para trás" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "De trás para o lado" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "De baixo para cima" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "De cima para baixo" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Passivo" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Misto" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (sem trava)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (twist-lock)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "California Standard" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "Internacional/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Proprietário" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Outros" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/Internacional" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Físico" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Virtual" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2738,13 +2750,13 @@ msgstr "Virtual" msgid "Wireless" msgstr "Wireless" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Interfaces virtuais" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2752,27 +2764,27 @@ msgstr "Interfaces virtuais" msgid "Bridge" msgstr "Bridge" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Link Aggregation (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (fixa)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modular)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (backplane)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Celular" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2780,130 +2792,130 @@ msgstr "Celular" msgid "Serial" msgstr "Serial" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Coaxial" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "Empilhamento" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Half" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Full" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Automático" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Acesso" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Tagueada" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Tagueada (Todos)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "Padrão IEEE" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "24V passivo (2 pares)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "24V passivo (4 pares)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "48V passivo (2 pares)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "48V passivo (4 pares)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Cabo Metálico" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Fibra Óptica" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Fibra" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Conectado" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Quilômetros" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Metros" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Centímetros" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Milhas" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Pés" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Quilogramas" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Gramas" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Libras" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Onças" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Redundante" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Monofásico" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Trifásico" @@ -3155,7 +3167,7 @@ msgstr "É full-depth" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3199,7 +3211,7 @@ msgid "Device model" msgstr "Modelo de dispositivo" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Interface (ID)" @@ -3213,8 +3225,8 @@ msgstr "Compartimento de módulo (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Dispositivo (ID)" @@ -3223,8 +3235,8 @@ msgid "Rack (name)" msgstr "Rack (nome)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Dispositivo (nome)" @@ -3274,8 +3286,8 @@ msgstr "VLAN ID Designada " #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3311,7 +3323,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3367,7 +3379,7 @@ msgstr "Contexto de Dispositivo Virtual (ID)" msgid "Wireless LAN" msgstr "Rede Wireless" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Link Wireless" @@ -3395,12 +3407,12 @@ msgstr "Mestre (ID)" msgid "Master (name)" msgstr "Mestre (nome)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Inquilino (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Inquilino (slug)" @@ -3427,7 +3439,7 @@ msgstr "Etiquetas" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3476,8 +3488,8 @@ msgstr "Fuso horário" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3541,7 +3553,7 @@ msgstr "Profundidade de montagem" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3602,8 +3614,8 @@ msgstr "Numeração" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3711,12 +3723,12 @@ msgstr "Part number" msgid "U height" msgstr "Altura em U" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Excluir da utilização" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3805,10 +3817,10 @@ msgstr "Plataforma" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3935,8 +3947,8 @@ msgid "Maximum draw" msgstr "Consumo máximo" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Consumo máximo de energia (Watts)" @@ -3945,8 +3957,8 @@ msgid "Allocated draw" msgstr "Consumo alocado" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Consumo de energia alocado (Watts)" @@ -3967,16 +3979,16 @@ msgstr "Somente gerenciamento" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "Modo de Operação" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "Tipo de PoE" @@ -4000,7 +4012,7 @@ msgstr "Função do Wireless" msgid "Module" msgstr "Módulo" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "LAG" @@ -4012,7 +4024,7 @@ msgstr "Contextos de dispositivos virtuais" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4059,7 +4071,7 @@ msgid "Wireless LAN group" msgstr "Grupo da Rede Wireless" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4449,7 +4461,7 @@ msgstr "Porta traseira correspondente" msgid "Physical medium classification" msgstr "Tipo de conexão do meio físico" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Dispositivo instalado" @@ -4538,7 +4550,7 @@ 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:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4590,7 +4602,7 @@ msgstr "IPv6 Primário" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "Endereço IPv6 com tamanho de prefixo, por exemplo, 2001:db8: :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4754,7 +4766,7 @@ msgid "Mgmt only" msgstr "Somente gerenciamento" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4787,7 +4799,7 @@ msgstr "Potência de transmissão (dBm)" msgid "Cable" msgstr "Cabo" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Descoberto" @@ -4937,7 +4949,7 @@ msgid "Front Port" msgstr "Porta Frontal" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5076,7 +5088,7 @@ msgstr "" "corresponder ao número selecionado de posições de portas traseiras " "({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5102,7 +5114,7 @@ msgstr "" #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "rótulo" @@ -5208,7 +5220,7 @@ msgstr "" "quando conectado a um tipo de módulo." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Rótulo físico" @@ -5234,138 +5246,138 @@ msgstr "" "Um modelo de componente deve estar associado a um tipo de dispositivo ou a " "um tipo de módulo." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "modelo de porta de console" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "modelos de porta de console" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "modelo de porta de servidor de console" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "modelos de porta de servidor de console" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "consumo máximo" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "consumo alocado" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "modelo de porta de alimentação" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "modelos de porta de alimentação" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "O consumo alocado não pode exceder o consumo máximo ({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "ramal de alimentação" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Fase (para alimentação trifásica)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "modelo de tomada elétrica" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "modelos de tomadas elétricas" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Porta de alimentação principal ({power_port}) deve pertencer ao mesmo tipo " "de dispositivo" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Porta de alimentação principal ({power_port}) deve pertencer ao mesmo tipo " "de módulo" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "somente gerenciamento" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "interface bridge" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "função do wireless" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "modelo de interface" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "modelos de interface" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Uma interface não pode ser conectada a si mesma." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" "Interface bridge ({bridge}) deve pertencer ao mesmo tipo de dispositivo" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Interface bridge ({bridge}) deve pertencer ao mesmo tipo de módulo" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "posição da porta traseira" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "modelo de porta frontal" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "modelos de porta frontal" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Porta traseira ({name}) deve pertencer ao mesmo tipo de dispositivo" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5374,46 +5386,46 @@ msgstr "" "Posição inválida da porta traseira ({position}); porta traseira {name} tem " "apenas {count} posições" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "posições" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "modelo de porta traseira" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "modelos de porta traseira" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "posição" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "Identificador a ser referenciado ao renomear componentes instalados" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "modelo de compartimento de módulo" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "modelos de compartimento de módulos" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "modelo de compartimento de dispositivos" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "modelos de compartimentos de dispositivos" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5422,207 +5434,207 @@ msgstr "" "Função do subdispositivo do tipo {device_type} deve ser definido como “pai” " "para permitir compartimentos de dispositivos." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "ID da peça" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Identificador da peça, designado pelo fabricante" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "modelo de item de inventário" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "modelos de itens de inventário" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Os componentes não podem ser movidos para um dispositivo diferente." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "extremidade do cabo" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "marcar conectado" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Tratar como se um cabo estivesse conectado" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "Deve especificar a extremidade (A ou B) ao conectar um cabo." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "A extremidade do cabo não deve ser definida sem um cabo." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Não é possível marcar como conectado com um cabo já conectado." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr " Os modelos {class_name} devem declarar uma propriedade parent_object" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Tipo de porta física" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "velocidade" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Velocidade da porta em bits por segundo" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "porta de console" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "portas de console" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "porta de servidor de console" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "portas de servidor de console" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "porta de alimentação" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "portas de alimentação" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "tomada elétrica" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "tomadas elétricas" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Porta de alimentação principal ({power_port}) deve pertencer ao mesmo " "dispositivo" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "modo" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "Estratégia de tagueamento IEEE 802.1Q" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "interface pai" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "LAG pai" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Esta interface é usada somente para gerenciamento fora de banda" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "velocidade (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "duplex" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64-bit World Wide Name" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "canal do wireless" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "frequência do canal (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Preenchido pelo canal selecionado (se definido)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "potência de transmissão (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "redes wireless" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "VLAN não tagueada" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "VLANs tagueadas" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "interface" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "interfaces" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "As interfaces {display_type} não podem ter um cabo conectado." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr " As interfaces {display_type}não podem ser marcadas como conectadas." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Uma interface não pode ser pai de si mesma." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "Somente interfaces virtuais podem ser associadas a uma interface pai." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5631,7 +5643,7 @@ msgstr "" "A interface pai selecionada ({interface}) pertence a um dispositivo " "diferente ({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5640,7 +5652,7 @@ msgstr "" "A interface pai selecionada ({interface}) pertence a {device}, que não faz " "parte do chassi virtual {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5649,7 +5661,7 @@ msgstr "" "A interface bridge selecionada ({bridge}) pertence a um dispositivo " "diferente ({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5658,15 +5670,15 @@ msgstr "" "A interface bridge selecionada ({interface}) pertence a {device}, que não " "faz parte do chassi virtual {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "Interfaces virtuais não podem ter uma interface LAG pai." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Uma interface LAG não pode ser pai de si mesma." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." @@ -5674,7 +5686,7 @@ msgstr "" "A interface LAG selecionada ({lag}) pertence a um dispositivo diferente " "({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5683,48 +5695,48 @@ msgstr "" "A interface LAG selecionada ({lag}) pertence a {device}, que não faz parte " "do chassi virtual {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Interfaces virtuais não podem ter um modo de operação do PoE." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "As interfaces virtuais não podem ter um tipo de PoE." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "Deve especificar o modo PoE ao designar um tipo de PoE." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" "A função do wireless pode ser definida somente em interfaces wireless." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "O canal pode ser configurado somente em interfaces wireless." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" "A frequência do canal pode ser definida somente em interfaces wireless." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "" "Não é possível especificar a frequência personalizada com o canal " "selecionado." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "A largura do canal pode ser definida somente em interfaces wireless." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "" "Não é possível especificar a largura personalizada com o canal selecionado." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5733,24 +5745,24 @@ msgstr "" "A VLAN não tagueada ({untagged_vlan}) deve pertencer ao mesmo site do " "dispositivo pai da interface ou deve ser global." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Posição mapeada na porta traseira correspondente" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "porta frontal" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "portas frontais" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Porta traseira ({rear_port}) deve pertencer ao mesmo dispositivo" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5759,19 +5771,19 @@ msgstr "" "Posição inválida da porta traseira ({rear_port_position}): Porta traseira " "{name} tem apenas {positions} posições." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Número de portas frontais que podem ser mapeadas" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "porta traseira" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "portas traseiras" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5780,41 +5792,41 @@ msgstr "" "O número de posições não pode ser menor que o número de portas frontais " "mapeadas ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "compartimento de módulos" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "compartimentos de módulos" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "" "Um compartimento de módulo não pode pertencer a um módulo instalado dentro " "dele." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "compartimento de dispositivos" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "compartimentos de dispositivos" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" "Este tipo de dispositivo ({device_type}) não suporta compartimentos de " "dispositivos." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Não é possível instalar um dispositivo em si mesmo." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5822,61 +5834,61 @@ msgstr "" "Não é possível instalar o dispositivo especificado; o dispositivo já está " "instalado em {bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "função do item de inventário" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "funções dos itens de inventário" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "número de série" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "etiqueta de patrimônio" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Uma etiqueta exclusiva usada para identificar este item" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "descoberto" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Este item foi descoberto automaticamente" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "item de inventário" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "itens de inventário" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Não é possível designar a si mesmo como pai." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "O item pai do inventário não pertence ao mesmo dispositivo." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "" "Não é possível mover um item de inventário com itens filhos dependentes" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" "Não é possível atribuir um item de inventário ao componente em outro " @@ -6032,7 +6044,7 @@ msgstr "A função que este dispositivo desempenha" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Número de série do chassi, designado pelo fabricante" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Uma etiqueta exclusiva usada para identificar este dispositivo" @@ -6044,12 +6056,12 @@ msgstr "posição (U)" msgid "rack face" msgstr "face do rack" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "IPv4 primário" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "IPv6 primário" @@ -6199,15 +6211,24 @@ msgid "A device assigned to a virtual chassis must have its position defined." msgstr "" "Um dispositivo associado a um chassi virtual deve ter sua posição definida." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"O dispositivo não pode ser removido do chassi virtual {virtual_chassis} " +"porque atualmente é designado como seu mestre." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "módulo" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "módulos" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6216,22 +6237,22 @@ msgstr "" "O módulo deve ser instalado dentro de um compartimento pertencente ao " "dispositivo ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "domínio" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "chassi virtual" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "" "O mestre selecionado ({master}) não está associado a este chassi virtual." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6240,34 +6261,34 @@ msgstr "" "Não foi possível excluir o chassi virtual {self}. Existem interfaces membro " "que formam interfaces LAG entre chassis." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "identificador" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Identificador numérico exclusivo para o dispositivo principal" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "comentários" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "contexto de dispositivo virtual" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "contextos de dispositivos virtuais" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} não é um endereço IPv{family}." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "O endereço IP primário deve pertencer a uma interface no dispositivo " @@ -6697,7 +6718,7 @@ msgstr "Modelo de Configuração" msgid "Site Group" msgstr "Grupo de Sites" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6706,12 +6727,12 @@ msgstr "Grupo de Sites" msgid "IP Address" msgstr "Endereço IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Endereço IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Endereço IPv6" @@ -6749,8 +6770,8 @@ msgstr "Portas de alimentação" msgid "Power outlets" msgstr "Tomadas elétricas" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6788,8 +6809,8 @@ msgstr "Itens de inventário" msgid "Module Bay" msgstr "Compartimento de módulo" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6847,75 +6868,75 @@ msgstr "Grupos FHRP" msgid "Tunnel" msgstr "Túnel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Somente Gerenciamento" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "Contextos de Dispositivos Virtuais" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Módulo Instalado" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Serial do Módulo" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Etiqueta de Patrimônio do Módulo" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Status do Módulo" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Componente" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Itens" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Tipos de Dispositivos" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Tipos de Módulos" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Plataformas" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Plataforma Padrão" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Full-Depth" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "Altura em U" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Instâncias" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6926,7 +6947,7 @@ msgstr "Instâncias" msgid "Console Ports" msgstr "Portas de Console" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6937,7 +6958,7 @@ msgstr "Portas de Console" msgid "Console Server Ports" msgstr "Portas de Servidor de Console" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6948,7 +6969,7 @@ msgstr "Portas de Servidor de Console" msgid "Power Ports" msgstr "Portas de Alimentação" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6959,7 +6980,7 @@ msgstr "Portas de Alimentação" msgid "Power Outlets" msgstr "Tomadas Elétricas" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6969,7 +6990,7 @@ msgstr "Tomadas Elétricas" msgid "Front Ports" msgstr "Portas Frontais" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6980,7 +7001,7 @@ msgstr "Portas Frontais" msgid "Rear Ports" msgstr "Portas Traseiras" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6988,7 +7009,7 @@ msgstr "Portas Traseiras" msgid "Device Bays" msgstr "Compartimentos de Dispositivos" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7429,25 +7450,25 @@ msgstr "Tipo de widget" msgid "Unregistered widget class: {name}" msgstr "Classe de widget não registrada: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} deve definir um método render ()." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Nota" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Exibe qualquer conteúdo personalizado arbitrário. Markdown é suportado." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Contagem de Objetos" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7455,63 +7476,63 @@ msgstr "" "Exibe um conjunto de modelos do NetBox e o número de objetos criados para " "cada tipo." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Filtros a serem aplicados ao contar o número de objetos" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Formato inválido. Os filtros de objetos devem ser passados como um " "dicionário." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Lista de Objetos" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Exibe uma lista arbitrária de objetos." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "O número padrão de objetos a serem exibidos" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" "Formato inválido. Os parâmetros de URL devem ser passados como um " "dicionário." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "Feed RSS" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Incorpore um feed RSS de um site externo." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "URL do feed" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "O número máximo de objetos a serem exibidos" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "" "Por quanto tempo o conteúdo em cache deve ser armazenado (em segundos)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Favoritos" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Exibe seus favoritos pessoais" @@ -7554,8 +7575,8 @@ msgstr "Tipo de cluster (slug)" msgid "Tenant group" msgstr "Grupo de inquilinos" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Grupo de inquilinos (slug)" @@ -7692,7 +7713,7 @@ msgstr "Está ativo" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Tipos de objetos" @@ -7793,8 +7814,8 @@ msgstr "A classificação da entrada" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Usuários" @@ -7806,8 +7827,8 @@ msgstr "Nomes de usuários separados por vírgulas, envoltos por aspas duplas." #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Grupos" @@ -8533,10 +8554,19 @@ msgstr "conjunto de opções de campo personalizado" msgid "custom field choice sets" msgstr "conjuntos de opções de campos personalizados" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Deve definir opções básicas ou extras." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Não é possível remover a escolha {choice} como existem {model} objetos que " +"fazem referência a ele." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "layout" @@ -9111,64 +9141,64 @@ msgstr "Mensagem" msgid "Method" msgstr "Método" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Verifique se este valor é igual a %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Certifique-se de que este valor não seja igual a%(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Este campo deve estar vazio." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Este campo não deve estar vazio." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "As regras de validação devem ser passadas como um dicionário" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "Falha na validação personalizada para {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Atributo \"{name}\" é inválido para a requisição" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Atributo \"{name}\" é inválido para {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Seu dashboard foi redefinido." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Widget adicionado: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Widget atualizado: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Widget excluído: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Erro ao excluir o widget: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "" "Não é possível executar o script: o processo do agente RQ não está em " @@ -9239,19 +9269,19 @@ msgstr "Texto sem formatação" msgid "Invalid IP address format: {address}" msgstr "Formato de endereço IP inválido: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Import target" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Import target (nome)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Export target" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Export target (nome)" @@ -9321,11 +9351,11 @@ msgstr "Prefixos que contêm este prefixo ou IP" msgid "Mask length" msgstr "Tamanho da máscara" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "Número da VLAN (1-4094)" @@ -9345,23 +9375,23 @@ msgid "Parent prefix" msgstr "Prefixo pai" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Máquina virtual (nome)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Máquina virtual (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Interface (nome)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "Interface da VM (nome)" @@ -9389,19 +9419,27 @@ msgstr "Serviço (ID)" msgid "NAT inside IP address (ID)" msgstr "NAT dentro do endereço IP (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Interface associada" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Interface de VM atribuída" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "Endereço IP (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "Endereço IP" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "IPv4 Primário (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "IPv6 Primário (ID)" @@ -9615,10 +9653,6 @@ msgstr "Máquina virtual" msgid "Parent VM of assigned interface (if any)" msgstr "VM pai da interface associada (se houver)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Interface associada" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "É primário" @@ -11190,9 +11224,9 @@ msgstr "Administrador" msgid "API Tokens" msgstr "Tokens de API" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Permissões" @@ -11342,63 +11376,63 @@ 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:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "Tcheco" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "Dinamarquês" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "Alemão" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "Inglês" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "Espanhol" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "Francês" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "Italiano" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "Japonês" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "Holandês" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "Polonês" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "Português" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "Russo" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "Turco" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "Ucraniano" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "Chinês" @@ -13072,7 +13106,7 @@ msgstr "Adicionar Novo Membro" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Ações" @@ -14127,7 +14161,7 @@ msgstr "" "Clique aqui para tentar carregar o NetBox " "novamente." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14156,7 +14190,7 @@ msgid "Add Contact Group" msgstr "Adicionar Grupo de Contato" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Função dos Contatos" @@ -14194,7 +14228,7 @@ msgid "View" msgstr "Visualizar" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Restrições" @@ -14221,11 +14255,6 @@ msgstr "Memória" msgid "Disk Space" msgstr "Espaço em Disco" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Adicionar Máquina Virtual" @@ -14466,57 +14495,57 @@ msgstr "Propriedades do Link" msgid "Distance" msgstr "Distância" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Grupo de contatos principal (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Grupo de contatos principal (slug)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Grupo de contatos (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Grupo de contatos (slug)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Contato (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Função do contato (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Função do contato (slug)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Grupo de contatos" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Grupo de inquilinos principal (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Grupo de inquilinos principal (slug)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Grupo de inquilinos (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Grupo de Inquilinos (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Grupo de inquilinos (slug)" @@ -14681,11 +14710,11 @@ msgstr "Pode Alterar" msgid "Can Delete" msgstr "Pode Excluir" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Interface de Usuário" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14695,7 +14724,7 @@ msgstr "" "salvar sua chave antes de enviar este formulário, pois ela não será" " mais acessível depois que o token for criado." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14705,31 +14734,31 @@ msgstr "" "para nenhuma restrição. Exemplo: 10.1.1.0/24.192.168.10.16/32, 2001:db" " 8:1: :/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Confirme a senha" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Digite a senha novamente." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "As senhas não coincidem! Verifique e tente novamente." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Ações adicionais" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Ações concedidas além das listadas acima" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Objetos" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14739,11 +14768,11 @@ msgstr "" "permitidos. Deixe em nulo para corresponder a todos os objetos deste tipo. " "Uma lista de vários objetos resultará em uma operação lógica \"OR\"." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Ao menos uma ação deve ser selecionada." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Filtro inválido para {model}: {error}" @@ -15005,7 +15034,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Valor inválido para um campo de múltipla escolha: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Objeto não encontrado: %(value)s" @@ -15019,11 +15048,16 @@ msgstr "" "“{value}“não é um valor exclusivo para este campo; vários objetos foram " "encontrados" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "“{field_name}“é um nome de campo de acesso inválido." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "O tipo de objeto deve ser especificado como”.“" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Tipo de objeto inválido" @@ -15613,19 +15647,19 @@ msgstr "Assinaturas DSA" msgid "Group {n}" msgstr "Grupo {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Ethernet Private LAN" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Ethernet Virtual Private LAN" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Ethernet Private Tree" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Árvore privada virtual Ethernet" @@ -15657,33 +15691,31 @@ msgstr "Túnel (nome)" msgid "Outside IP (ID)" msgstr "IP Externo (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "Política da IKE (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "Política da IKE (nome)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "Política de IPsec (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "Política de IPsec (nome)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (slug)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "Interface da VM (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (nome)" diff --git a/netbox/translations/ru/LC_MESSAGES/django.po b/netbox/translations/ru/LC_MESSAGES/django.po index 2e8dd535b..9eb264f66 100644 --- a/netbox/translations/ru/LC_MESSAGES/django.po +++ b/netbox/translations/ru/LC_MESSAGES/django.po @@ -4,24 +4,24 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Vladyslav V. Prodan, 2024 # nvoff, 2024 # Михаил Башкиров, 2024 # Сергей Стрельцов, 2024 # Madi Tuleu, 2024 # stavr666, 2024 -# Jeremy Stretch, 2024 -# Artem Kotik, 2024 # Alexander Ryazanov (alryaz) , 2024 +# Vladyslav V. Prodan, 2024 +# Artem Kotik, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Alexander Ryazanov (alryaz) , 2024\n" +"Last-Translator: Jeremy Stretch, 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" @@ -31,7 +31,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Ключ" @@ -67,7 +67,7 @@ msgstr "Последнее использование" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "Разрешенные IP-адреса" @@ -94,8 +94,8 @@ msgstr "Ваш пароль успешно изменен." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -103,12 +103,12 @@ msgstr "Запланировано" #: netbox/circuits/choices.py:22 netbox/netbox/navigation/menu.py:305 msgid "Provisioning" -msgstr "Ввод в эксплутацию" +msgstr "Эксплутация" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -119,8 +119,8 @@ msgid "Active" msgstr "Активный" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Оффлайн" @@ -133,7 +133,7 @@ msgstr "Вывод из эксплуатации" msgid "Decommissioned" msgstr "Списан" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Основной" @@ -159,7 +159,7 @@ msgstr "Неактивный" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Регион (ID)" @@ -171,7 +171,7 @@ msgstr "Регион (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Регион (подстрока)" @@ -200,7 +200,7 @@ msgstr "Группа сайтов (подстрока)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -266,7 +266,7 @@ msgstr "Сайт" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Сайт (подстрока)" @@ -320,7 +320,7 @@ msgstr "Тип канала связи (подстрока)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Сайт (ID)" @@ -339,13 +339,13 @@ msgstr "Точка подключения A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -354,7 +354,7 @@ msgstr "Поиск" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -538,9 +538,9 @@ msgstr "Описание" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -577,9 +577,9 @@ msgstr "Идентификатор Службы" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -592,7 +592,7 @@ msgid "Color" msgstr "Цвет" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -615,7 +615,7 @@ msgstr "Цвет" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -649,14 +649,14 @@ msgid "Type" msgstr "Тип" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Аккаунт провайдера" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -672,8 +672,8 @@ msgstr "Аккаунт провайдера" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -702,7 +702,7 @@ msgstr "Аккаунт провайдера" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -726,8 +726,8 @@ msgstr "Статус" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -893,21 +893,21 @@ msgstr "Сведения об точке подключения" msgid "Priority" msgstr "Приоритет" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Назначенный провайдер" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Назначенный аккаунт провайдера" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Тип канала связи" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -919,8 +919,8 @@ msgstr "Тип канала связи" msgid "Operational status" msgstr "Операционный статус" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -936,7 +936,7 @@ msgstr "Операционный статус" msgid "Assigned tenant" msgstr "Назначенный арендатор" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -944,7 +944,7 @@ msgstr "Назначенный арендатор" msgid "Termination" msgstr "Прекращение" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1100,7 +1100,7 @@ msgstr "Терминология" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Задание" @@ -1155,11 +1155,11 @@ msgid "Circuit Group" msgstr "Группа каналов связи" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1182,9 +1182,9 @@ msgid "Unique circuit ID" msgstr "Уникальный ID канала связи" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1278,7 +1278,7 @@ msgstr "ID патч-панели и номера порта(-ов)" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1317,11 +1317,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1405,11 +1405,11 @@ msgstr "сети провайдера" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1547,8 +1547,8 @@ msgstr "Гарантированная скорость" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1626,8 +1626,8 @@ msgstr "Завершено" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Неисправно" @@ -1693,42 +1693,42 @@ msgstr "Остановлен" msgid "Cancelled" msgstr "Отменено" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Локальный" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Имя пользователя" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Используется только для клонирования по HTTP (S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Пароль" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Ветка" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Не удалось получить удаленные данные ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "ID ключа доступа AWS" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Секретный ключ доступа AWS" @@ -1783,7 +1783,7 @@ msgstr "Имя пользователя" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1897,7 +1897,7 @@ msgstr "Завершено до" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Пользователь" @@ -1952,7 +1952,7 @@ msgstr "Необходимо загрузить файл или выбрать msgid "Rack Elevations" msgstr "Фасады стоек" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1995,7 +1995,7 @@ msgstr "Пользовательские настройки" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Разное" @@ -2056,7 +2056,7 @@ msgstr "" "({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2093,20 +2093,20 @@ msgid "Config revision #{id}" msgstr "Ревизия конфигурации #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2121,8 +2121,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2236,60 +2236,60 @@ msgstr "Настраиваемый файл" msgid "managed files" msgstr "Настраиваемые файлы" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "по расписанию" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "интервал" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Интервал повторения (в минутах)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "начало" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "завершено" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "данные" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "ошибка" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "идентификатор задачи" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "задача" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr " задачи" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Нельзя присвоить задачи этому типу объектов ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" "Неверный статус для завершения задачи. Возможны следующие варианты: " "{choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "Невозможно вызвать enqueue() со значениями schedule_at и immediate." @@ -2338,7 +2338,7 @@ msgid "Last updated" msgstr "Последнее обновление" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2530,7 +2530,7 @@ msgid "Staging" msgstr "Подготовка к развертыванию" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Вывод из эксплуатации" @@ -2594,17 +2594,17 @@ msgstr "Выведенный(-ая) из использования" msgid "Millimeters" msgstr "Миллиметры" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Дюймы" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "Спереди назад" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Сзади вперед" @@ -2617,8 +2617,8 @@ msgstr "Сзади вперед" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2662,7 +2662,7 @@ msgstr "Вид спереди" msgid "Rear" msgstr "Вид сзади" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Подготовлен" @@ -2671,67 +2671,79 @@ msgstr "Подготовлен" msgid "Inventory" msgstr "Инвентарь" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Слева направо" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Справа налево" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Бок назад" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "Сзади в сторону" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "Снизу вверх" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "Сверху вниз" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Пассивный" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Смешанный" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (не блокирующий)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (блокирующий)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Калифорнийский стиль" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "ITA/Международный" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Проприетарный" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Другой" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/Международный" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Физический" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Виртуальный" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2739,13 +2751,13 @@ msgstr "Виртуальный" msgid "Wireless" msgstr "Беспроводной" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Виртуальные интерфейсы" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2753,27 +2765,27 @@ msgstr "Виртуальные интерфейсы" msgid "Bridge" msgstr "Мост" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Группа агрегации линков (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (фиксированный)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (модульный)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (объединительная плата)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Сотовая связь" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2781,130 +2793,130 @@ msgstr "Сотовая связь" msgid "Serial" msgstr "Серийный" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Коаксиальный" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "Стекирование" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Полу" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Полный" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Авто" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Доступ" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Тегированный" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Тегированный (все)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "Стандарт IEEE" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "Пассивный режим 24 В (2 пары)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "Пассивное напряжение 24 В (4 пары)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "Пассивное напряжение 48 В (2 пары)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "Пассивное напряжение 48 В (4 пары)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Медь" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Оптоволоконное" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Волокно" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Подключено" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Километры" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Метры" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Сантиметры" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Мили" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Футы" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Килограммы" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Граммы" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Фунты" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Унции" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Резервный" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Однофазный" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Трехфазный" @@ -3156,7 +3168,7 @@ msgstr "Полная глубина" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3200,7 +3212,7 @@ msgid "Device model" msgstr "модель устройства" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Интерфейс (ID)" @@ -3214,8 +3226,8 @@ msgstr "Отсек для модулей (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Устройство (ID)" @@ -3224,8 +3236,8 @@ msgid "Rack (name)" msgstr "Стойка (имя)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Устройство (имя)" @@ -3275,8 +3287,8 @@ msgstr "Назначенный VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3312,7 +3324,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3368,7 +3380,7 @@ msgstr "Контекст виртуального устройства (иден msgid "Wireless LAN" msgstr "Беспроводная сеть" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Беспроводная связь" @@ -3396,12 +3408,12 @@ msgstr "Мастер (удостоверение личности)" msgid "Master (name)" msgstr "Мастер (имя)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Арендатор (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Арендатор (подстрока)" @@ -3428,7 +3440,7 @@ msgstr "Теги" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3477,8 +3489,8 @@ msgstr "Часовой пояс" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3542,7 +3554,7 @@ msgstr "Глубина крепления" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3603,8 +3615,8 @@ msgstr "Нумерация" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3712,12 +3724,12 @@ msgstr "Номер детали" msgid "U height" msgstr "Высота U" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Исключить из использования" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3806,10 +3818,10 @@ msgstr "Платформа" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3936,8 +3948,8 @@ msgid "Maximum draw" msgstr "Максимальное потребление" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Максимальная потребляемая мощность (Вт)" @@ -3946,8 +3958,8 @@ msgid "Allocated draw" msgstr "Выделенная мощность" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Распределенная потребляемая мощность (Вт)" @@ -3968,16 +3980,16 @@ msgstr "Только управление" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "Режим PoE" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "Тип PoE" @@ -4001,7 +4013,7 @@ msgstr "Роль беспроводной связи" msgid "Module" msgstr "Модуль" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "LAG" @@ -4013,7 +4025,7 @@ msgstr "Виртуальные контексты" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4060,7 +4072,7 @@ msgid "Wireless LAN group" msgstr "Беспроводная группа LAN" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4446,7 +4458,7 @@ msgstr "Соответствующий задний порт" msgid "Physical medium classification" msgstr "Классификация физических сред" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Установленное устройство" @@ -4535,7 +4547,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} боковое завершение не найдено: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4587,7 +4599,7 @@ msgstr "Основной IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "Адрес IPv6 с длиной префикса, напр. 2001:db8::1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4752,7 +4764,7 @@ msgid "Mgmt only" msgstr "Только менеджмент" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "Глобальное уникальное имя (WWN)" @@ -4785,7 +4797,7 @@ msgstr "Мощность передачи (дБм)" msgid "Cable" msgstr "Кабель" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Обнаружено" @@ -4935,7 +4947,7 @@ msgid "Front Port" msgstr "Передний порт" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5074,7 +5086,7 @@ msgstr "" "соответствовать выбранному количеству положений задних портов " "({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5099,7 +5111,7 @@ msgstr "Должность должна быть указана для перв #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr " лейбл" @@ -5205,7 +5217,7 @@ msgstr "" "подключении к модулю того или иного типа." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Физический лейбл" @@ -5228,138 +5240,138 @@ msgid "" msgstr "" "Шаблон компонента должен быть связан с типом устройства или типом модуля." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "шаблон консольного порта" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "шаблоны консольных портов" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "шаблон порта консольного сервера" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "шаблоны портов консольного сервера" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "максимальное потребление" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "выделенное потребление" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "шаблон порта питания" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "шаблоны портов питания" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "Выделенная мощность не может превышать максимальную ({maximum_draw}Вт)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "фаза электропитания" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Фаза (для трехфазных)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "шаблон розетки питания" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "шаблоны розеток питания" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Родительский порт питания ({power_port}) должен принадлежать тому же типу " "устройства" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Родительский порт питания ({power_port}) должен принадлежать тому же типу " "модулей" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "только управление" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "интерфейс моста" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "роль беспроводной сети" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "шаблон интерфейса" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "шаблоны интерфейсов" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Интерфейс не может быть подключен к самому себе." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" "Интерфейс моста ({bridge}) должно принадлежать к тому же типу устройства" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Интерфейс моста ({bridge}) должен принадлежать к одному типу модулей" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "положение заднего порта" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "шаблон переднего порта" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "шаблоны передних портов" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Задний порт ({name}) должно принадлежать к тому же типу устройства" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5368,48 +5380,48 @@ msgstr "" "Неверное положение заднего порта ({position}); задний порт {name} имеет " "только {count} позиции" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "позиция" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "шаблон заднего порта" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "шаблоны задних портов" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "позиция" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Идентификатор, на который следует ссылаться при переименовании установленных" " компонентов" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "шаблон модульного отсека" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "шаблоны модульных отсеков" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "шаблон отсека для устройств" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "шаблоны отсеков для устройств" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5418,208 +5430,208 @@ msgstr "" "Роль подустройства типа устройства ({device_type}) должно быть установлено " "значение «родительский», чтобы разрешить отсеки для устройств." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "номер модели" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Номер модели, присвоенный производителем" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "шаблон инвентарного товара" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "шаблоны товаров инвентаря" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Компоненты нельзя перемещать на другое устройство." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "конец кабеля" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "отметка подключена" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Обращайтесь так, как будто кабель подключен" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "При подключении кабеля необходимо указать конец кабеля (A или B)." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "Нельзя указывать конец кабеля без указания самого кабеля." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Невозможно отметить как подключенный, если присоединен кабель." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} модели должны объявить свойство parent_object" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Тип физического порта" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "скорость" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Скорость порта в битах в секунду" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "консольный порт" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "консольные порты" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "порт консольного сервера" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "порты консольного сервера" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "порт питания" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "порты питания" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "розетка питания" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "розетки питания" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Родительский порт питания ({power_port}) должен принадлежать тому же " "устройству" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "режим" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "Стратегия маркировки IEEE 802.1Q" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "родительский интерфейс" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "родительский LAG" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Этот интерфейс используется только для внеполосного управления" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "скорость (Кбит/с)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "дуплекс" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64-битное всемирное имя" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "беспроводной канал" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "частота канала (МГц)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Заполнено выбранным каналом (если задано)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "мощность передачи (дБм)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "беспроводные LANs" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "VLAN без тегов" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "VLAN без тегов" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "интерфейс" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "интерфейсы" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} к интерфейсам нельзя подключать кабель." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type} интерфейсы нельзя пометить как подключенные." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Интерфейс не может быть собственным родителем." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "" "Родительскому интерфейсу могут быть назначены только виртуальные интерфейсы." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5628,7 +5640,7 @@ msgstr "" "Выбранный родительский интерфейс ({interface}) принадлежит другому " "устройству ({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5637,7 +5649,7 @@ msgstr "" "Выбранный родительский интерфейс ({interface}) принадлежит {device}, который" " не является частью виртуального шасси {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5646,7 +5658,7 @@ msgstr "" "Выбранный интерфейс моста ({bridge}) принадлежит другому устройству " "({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5655,22 +5667,22 @@ msgstr "" "Выбранный интерфейс моста ({interface}) принадлежит {device}, который не " "является частью виртуального шасси {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "Виртуальные интерфейсы не могут иметь родительский интерфейс LAG." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Интерфейс LAG не может быть собственным родителем." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "" "Выбранный интерфейс LAG ({lag}) принадлежит другому устройству ({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5679,47 +5691,47 @@ msgstr "" "Выбранный интерфейс LAG ({lag}) принадлежит {device}, который не является " "частью виртуального шасси {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Виртуальные интерфейсы не могут иметь режим PoE." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Виртуальные интерфейсы не могут иметь тип PoE." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "При назначении типа PoE необходимо указать режим PoE." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" "Роль беспроводной связи может быть установлена только на беспроводных " "интерфейсах." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Канал можно настроить только на беспроводных интерфейсах." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" "Частота канала может быть установлена только на беспроводных интерфейсах." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "Невозможно указать произвольную частоту для выбранного канала." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" "Ширина канала может быть установлена только на беспроводных интерфейсах." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "Невозможно указать произвольную ширину полосы для выбранного канала." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5728,25 +5740,25 @@ msgstr "" "VLAN без тегов ({untagged_vlan}) должно принадлежать тому же сайту, что и " "родительское устройство интерфейса, или оно должно быть глобальным." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Нанесенное на карту положение на соответствующем заднем порту" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "фронтальный порт" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "фронтальные порты" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "" "Задний порт ({rear_port}) должно принадлежать одному и тому же устройству" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5755,19 +5767,19 @@ msgstr "" "Неверное положение заднего порта ({rear_port_position}): Задний порт {name} " "имеет только {positions} позиции." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Количество передних портов, которые можно сопоставить" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "задний порт" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "задние порты" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5776,38 +5788,38 @@ msgstr "" "Количество позиций не может быть меньше количества сопоставленных передних " "портов ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "модульный отсек" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "отсеки для модулей" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "Отсек для модулей не может принадлежать установленному в нем модулю." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "отсек для устройств" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "отсеки для устройств" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" "Этот тип устройства ({device_type}) не поддерживает отсеки для устройств." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Невозможно установить устройство в само по себе." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5815,61 +5827,61 @@ msgstr "" "Невозможно установить указанное устройство; устройство уже установлено в " "{bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "роль элемента инвентаря" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "роли элементов инвентаря" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "серийный номер" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "инвентарный номер" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Инвентарный номер, используемый для идентификации этого элемента" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "обнаружено" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Этот элемент был обнаружен автоматически" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "элемент инвентаря" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "элементы инвентаря" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Невозможно назначить себя родителем." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "" "Предмет родительского инвентаря не принадлежит одному и тому же устройству." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "Невозможно переместить инвентарь вместе с дочерней зависимостью" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "" "Невозможно присвоить инвентарный предмет компоненту на другом устройстве" @@ -6022,7 +6034,7 @@ msgstr "Функция, которую выполняет это устройс msgid "Chassis serial number, assigned by the manufacturer" msgstr "Серийный номер шасси, присвоенный производителем" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Уникальный тег, используемый для идентификации этого устройства" @@ -6034,12 +6046,12 @@ msgstr "положение (U)" msgid "rack face" msgstr "лицевая сторона стойки" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "основной IPv4" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "основной IPv6" @@ -6186,15 +6198,24 @@ msgstr "" "Положение устройства, назначенного виртуальному шасси, должно быть " "определено." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Устройство нельзя удалить из виртуального корпуса {virtual_chassis} потому " +"что в настоящее время оно назначено его хозяином." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "модуль" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "модули" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6203,21 +6224,21 @@ msgstr "" "Модуль должен быть установлен в модульном отсеке, принадлежащем назначенному" " устройству ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "Домен" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "виртуальное шасси" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "Выбранный мастер ({master}) не назначено этому виртуальному шасси." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6226,34 +6247,34 @@ msgstr "" "Невозможно удалить виртуальное шасси {self}. Существуют интерфейсы-члены, " "которые образуют межкорпусные интерфейсы LAG." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "идентификатор" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Цифровой идентификатор, уникальный для родительского устройства" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "комментарии" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "виртуальный контекст" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "виртуальные контексты" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} не является IPV{family} адрес." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "Основной IP-адрес должен принадлежать интерфейсу на назначенном устройстве." @@ -6684,7 +6705,7 @@ msgstr "Шаблон конфигурации" msgid "Site Group" msgstr "Группа сайтов" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6693,12 +6714,12 @@ msgstr "Группа сайтов" msgid "IP Address" msgstr "IP-адрес" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Адрес IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Адрес IPv6" @@ -6736,8 +6757,8 @@ msgstr "Порты питания" msgid "Power outlets" msgstr "Розетки питания" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6775,8 +6796,8 @@ msgstr "Комплектующие" msgid "Module Bay" msgstr "Модульный отсек" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6834,75 +6855,75 @@ msgstr "Группы FHRP" msgid "Tunnel" msgstr "Туннель" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Только управление" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "Виртуальные контексты устройств(VDCs)" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Установленный модуль" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Серийный номер модуля" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Тег активов модуля" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Состояние модуля" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Компонент" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Предметы" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Типы устройств" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Типы модулей" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Платформы" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Платформа по умолчанию" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Полная глубина" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "Высота U" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Инстансы" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6913,7 +6934,7 @@ msgstr "Инстансы" msgid "Console Ports" msgstr "Порты консоли" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6924,7 +6945,7 @@ msgstr "Порты консоли" msgid "Console Server Ports" msgstr "Порты консольного сервера" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6935,7 +6956,7 @@ msgstr "Порты консольного сервера" msgid "Power Ports" msgstr "Порты питания" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6946,7 +6967,7 @@ msgstr "Порты питания" msgid "Power Outlets" msgstr "Розетки питания" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6956,7 +6977,7 @@ msgstr "Розетки питания" msgid "Front Ports" msgstr "Фронтальные порты" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6967,7 +6988,7 @@ msgstr "Фронтальные порты" msgid "Rear Ports" msgstr "Задние порты" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6975,7 +6996,7 @@ msgstr "Задние порты" msgid "Device Bays" msgstr "Отсеки для устройств" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7276,7 +7297,7 @@ msgstr "30 дней" #: netbox/templates/generic/object_edit.html:80 #: netbox/templates/ipam/inc/ipaddress_edit_header.html:7 msgid "Create" -msgstr "Создайте" +msgstr "Создать" #: netbox/extras/choices.py:227 msgid "Update" @@ -7417,26 +7438,26 @@ msgstr "Тип виджета" msgid "Unregistered widget class: {name}" msgstr "Незарегистрированный класс виджета: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} должен определить метод render ()." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Примечание" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Отображает произвольный пользовательский контент. Поддерживается разметка " "Markdown." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Количество объектов" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7444,59 +7465,59 @@ msgstr "" "Отобразите набор моделей NetBox и количество объектов, созданных для каждого" " типа." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Фильтры, применяемые при подсчете количества объектов" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "" "Неверный формат. Фильтры объектов необходимо передавать в виде словаря." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Список объектов" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Отобразите произвольный список объектов." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Количество отображаемых объектов по умолчанию" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "Неверный формат. Параметры URL должны быть переданы в виде словаря." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "RSS-канал" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Вставьте RSS-канал с внешнего веб-сайта." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "URL-адрес ленты" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Максимальное количество отображаемых объектов" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "Как долго хранить кэшированный контент (в секундах)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Закладки" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Покажите свои личные закладки" @@ -7539,8 +7560,8 @@ msgstr "Тип кластера (подстрока)" msgid "Tenant group" msgstr "Группы арендаторов" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Группа арендаторов (подстрока)" @@ -7677,7 +7698,7 @@ msgstr "Активен" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Типы объектов" @@ -7781,8 +7802,8 @@ msgstr "Классификация записей" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Пользователи" @@ -7795,8 +7816,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Группы" @@ -8521,10 +8542,19 @@ msgstr "набор вариантов для настраиваемых поле msgid "custom field choice sets" msgstr "наборы вариантов для настраиваемых полей" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Должен определить базовые или дополнительные варианты." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Невозможно удалить выбор {choice} так как есть {model} объекты, ссылающиеся " +"на него." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "макет" @@ -9094,64 +9124,64 @@ msgstr "Сообщение" msgid "Method" msgstr "Метод" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Убедитесь, что это значение равно %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Убедитесь, что это значение не равно %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Это поле должно быть пустым." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Это поле не должно быть пустым." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Правила валидации должны быть переданы в виде словаря" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "Пользовательская проверка не удалась для {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Неверный атрибут»{name}\"по запросу" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Недопустимый атрибут \"{name}\" для {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Панель виджетов была сброшена." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Добавлен виджет: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Обновлен виджет: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Удален виджет: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Ошибка при удалении виджета: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "Невозможно запустить скрипт: процесс RQ не запущен." @@ -9219,19 +9249,19 @@ msgstr "Обычный текст" msgid "Invalid IP address format: {address}" msgstr "Неверный формат IP-адреса: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Цель импорта" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Цель импорта (имя)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Цель экспорта" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Цель экспорта (имя)" @@ -9301,11 +9331,11 @@ msgstr "Префиксы, содержащие этот префикс или IP msgid "Mask length" msgstr "Длина маски" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "Номер VLAN (1-4094)" @@ -9325,23 +9355,23 @@ msgid "Parent prefix" msgstr "Родительский префикс" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Виртуальная машина (имя)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Виртуальная машина (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Интерфейс (имя)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "Интерфейс виртуальной машины (имя)" @@ -9369,19 +9399,27 @@ msgstr "Сервис (ID)" msgid "NAT inside IP address (ID)" msgstr "Внутренний NAT IP-адрес (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Назначенный интерфейс" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Назначенный интерфейс виртуальной машины" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "IP-адрес (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "IP-адрес" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "Основной IPv4 (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "Основной IPv6 (ID)" @@ -9595,10 +9633,6 @@ msgstr "Виртуальная машина" msgid "Parent VM of assigned interface (if any)" msgstr "Родительская виртуальная машина назначенного интерфейса (если есть)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Назначенный интерфейс" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Является основным" @@ -11170,9 +11204,9 @@ msgstr "Администратор" msgid "API Tokens" msgstr "Токены API" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Разрешения" @@ -11325,63 +11359,63 @@ msgstr "Невозможно добавить хранилище в реестр msgid "Cannot delete stores from registry" msgstr "Невозможно удалить хранилище из реестра" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "Чешский" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "Датский" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "Немецкий" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "Английский" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "Испанский" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "Французский" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "Итальянский" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "Японский" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "Голландский" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "Польский" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "Португальский" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "Русский" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "Турецкий" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" -msgstr "украинский" +msgstr "Украинский" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "Китайский" @@ -13055,7 +13089,7 @@ msgstr "Добавить нового участника" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Действия" @@ -13698,7 +13732,7 @@ msgstr "Помощь" #: netbox/templates/generic/object_edit.html:83 msgid "Create & Add Another" -msgstr "Создайте и добавьте еще" +msgstr "Создать и добавить еще" #: netbox/templates/generic/object_list.html:57 msgid "Filters" @@ -14109,7 +14143,7 @@ msgstr "" "Нажмите здесь чтобы снова попытаться загрузить " "NetBox." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14138,7 +14172,7 @@ msgid "Add Contact Group" msgstr "Добавить контактную группу" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Роль контакта" @@ -14176,7 +14210,7 @@ msgid "View" msgstr "Вид" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Ограничения" @@ -14203,11 +14237,6 @@ msgstr "Память" msgid "Disk Space" msgstr "Дисковое пространство" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "ГБ" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Добавить виртуальную машину" @@ -14448,57 +14477,57 @@ msgstr "Свойства ссылки" msgid "Distance" msgstr "Расстояние" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Контактная группа родителей (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Контактная группа родителей (подстрока)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "Контактная группа (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Группа контактов (подстрока)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "Контактное лицо (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Роль контакта (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Роль контакта (подстрока)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Контактная группа" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Родительская группа арендаторов (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Родительская группа арендаторов (подстрока)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Группа арендаторов (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Группа арендаторов (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Группа арендаторов (подстрока)" @@ -14663,11 +14692,11 @@ msgstr "Может измениться" msgid "Can Delete" msgstr "Можно удалить" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Пользовательский интерфейс" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14677,7 +14706,7 @@ msgstr "" "свой ключ до отправки этой формы, так как после создания токена она" " может быть недоступна." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14687,33 +14716,33 @@ msgstr "" "поле пустым, чтобы не было ограничений. Пример: 10.1.1.0/24, " "192.168.10.16/32, 2001:DB8:1::/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Подтвердите пароль" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Введите тот же пароль, что и раньше, для проверки." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" "Пароли не совпадают! Пожалуйста, проверьте введенные данные и попробуйте " "снова." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Дополнительные действия" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Действия, предпринятые в дополнение к перечисленным выше" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Объекты" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14723,11 +14752,11 @@ msgstr "" "Оставьте значение null для соответствия всем объектам этого типа. Список из " "нескольких объектов приведет к логической операции ИЛИ." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Должно быть выбрано хотя бы одно действие." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Неверный фильтр для {model}: {error}" @@ -14987,7 +15016,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Неверное значение для поля с несколькими вариантами ответов: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Объект не найден: %(value)s" @@ -15001,11 +15030,16 @@ msgstr "" "«{value}\"не является уникальным значением для этого поля; найдено несколько" " объектов" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "\"{field_name}\" — неправильное имя поля доступа." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Тип объекта должен быть указан как».»" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Неверный тип объекта" @@ -15597,19 +15631,19 @@ msgstr "Подписи DSA" msgid "Group {n}" msgstr "Группа {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Частная локальная сеть Ethernet" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Виртуальная частная локальная сеть Ethernet" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Частное дерево Ethernet" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Виртуальное частное дерево Ethernet" @@ -15641,33 +15675,31 @@ msgstr "Туннель (название)" msgid "Outside IP (ID)" msgstr "Внешний IP-адрес (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "Политика IKE (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "Политика IKE (название)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "Политика IPsec (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "Политика IPsec (имя)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (подстрока)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "Интерфейс виртуальной машины (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (название)" diff --git a/netbox/translations/tr/LC_MESSAGES/django.po b/netbox/translations/tr/LC_MESSAGES/django.po index d0f79a747..34544341e 100644 --- a/netbox/translations/tr/LC_MESSAGES/django.po +++ b/netbox/translations/tr/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Turkish (https://app.transifex.com/netbox-community/teams/178115/tr/)\n" @@ -25,7 +25,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Anahtar" @@ -61,7 +61,7 @@ msgstr "Son Kullanım" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "İzin verilen IP'ler" @@ -90,8 +90,8 @@ msgstr "Şifreniz başarıyla değiştirildi." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -103,8 +103,8 @@ msgstr "Tedarik" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -115,8 +115,8 @@ msgid "Active" msgstr "Aktif" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Çevrim dışı" @@ -129,7 +129,7 @@ msgstr "Hazırlıktan Kaldırma" msgid "Decommissioned" msgstr "Hizmet dışı bırakıldı" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Birincil" @@ -155,7 +155,7 @@ msgstr "Etkin Olmayan" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "Bölge (ID)" @@ -167,7 +167,7 @@ msgstr "Bölge (ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Bölge (kısa ad)" @@ -196,7 +196,7 @@ msgstr "Site grubu (kısa ad)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -262,7 +262,7 @@ msgstr "Site" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Site (kısa ad)" @@ -316,7 +316,7 @@ msgstr "Devre tipi (kısa ad)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "Site (ID)" @@ -335,13 +335,13 @@ msgstr "Fesih A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -350,7 +350,7 @@ msgstr "Arama" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -534,9 +534,9 @@ msgstr "Açıklama" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -573,9 +573,9 @@ msgstr "Servis ID" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -588,7 +588,7 @@ msgid "Color" msgstr "Renk" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -611,7 +611,7 @@ msgstr "Renk" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -645,14 +645,14 @@ msgid "Type" msgstr "Tür" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Sağlayıcı hesabı" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -668,8 +668,8 @@ msgstr "Sağlayıcı hesabı" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -698,7 +698,7 @@ msgstr "Sağlayıcı hesabı" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -722,8 +722,8 @@ msgstr "Durum" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -889,21 +889,21 @@ msgstr "Fesih Ayrıntıları" msgid "Priority" msgstr "Öncelik" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Atanan sağlayıcı" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Atanan sağlayıcı hesabı" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Devre tipi" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -915,8 +915,8 @@ msgstr "Devre tipi" msgid "Operational status" msgstr "Operasyonel durum" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -932,7 +932,7 @@ msgstr "Operasyonel durum" msgid "Assigned tenant" msgstr "Atanan kiracı" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -940,7 +940,7 @@ msgstr "Atanan kiracı" msgid "Termination" msgstr "Fesih" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1096,7 +1096,7 @@ msgstr "Dönem Tarafı" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Ödev" @@ -1151,11 +1151,11 @@ msgid "Circuit Group" msgstr "Devre Grubu" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1178,9 +1178,9 @@ msgid "Unique circuit ID" msgstr "Benzersiz devre ID" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1274,7 +1274,7 @@ msgstr "Bağlantı paneli ID ve port numaraları" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1310,11 +1310,11 @@ msgstr "Devre sonlandırma hem siteye hem de sağlayıcı ağına bağlanamaz." #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1398,11 +1398,11 @@ msgstr "sağlayıcı ağları" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1540,8 +1540,8 @@ msgstr "Taahhüt Oranı" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1618,8 +1618,8 @@ msgstr "Tamamlandı" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Başarısız" @@ -1685,42 +1685,42 @@ msgstr "Durduruldu" msgid "Cancelled" msgstr "İptal Edildi" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Yerel" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Kullanıcı Adı" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Sadece HTTP(S) ile klonlama için kullanılır" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Şifre" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Şube" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Uzaktan veri getirilemedi ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "AWS erişim anahtarı kimliği" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "AWS gizli erişim anahtarı" @@ -1775,7 +1775,7 @@ msgstr "Kullanıcı adı" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1889,7 +1889,7 @@ msgstr "Daha önce tamamlandı" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Kullanıcı" @@ -1945,7 +1945,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Raf Yükseltmeleri" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1988,7 +1988,7 @@ msgstr "Kullanıcı Tercihleri" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Çeşitli" @@ -2047,7 +2047,7 @@ msgid "Change logging is not supported for this object type ({type})." msgstr "Değişiklik günlüğü bu nesne türü için desteklenmez ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2084,20 +2084,20 @@ msgid "Config revision #{id}" msgstr "Yapılandırma revizyonu #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2112,8 +2112,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2227,59 +2227,59 @@ msgstr "yönetilen dosya" msgid "managed files" msgstr "yönetilen dosyalar" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "planlanmış" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "aralık" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Tekrarlama aralığı (dakika cinsinden)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "başladı" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "tamamlandı" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "veri" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "hata" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "görev ID" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "görev" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "görevler" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "İşler bu nesne türüne atanamaz ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" "İşin sonlandırılması için geçersiz durum. Seçenekler şunlardır: {choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "enqueue () hem schedule_at hem de imediat değerleriyle çağrılamaz." @@ -2328,7 +2328,7 @@ msgid "Last updated" msgstr "Son Güncelleme" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2520,7 +2520,7 @@ msgid "Staging" msgstr "Sahneleme" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Hizmetten çıkarma" @@ -2584,17 +2584,17 @@ msgstr "Kullanımdan kaldırıldı" msgid "Millimeters" msgstr "Milimetre" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "İnç" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "Önden arkaya" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Arkadan öne" @@ -2607,8 +2607,8 @@ msgstr "Arkadan öne" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2652,7 +2652,7 @@ msgstr "Ön" msgid "Rear" msgstr "Arka" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Sahnelenmiş" @@ -2661,67 +2661,79 @@ msgstr "Sahnelenmiş" msgid "Inventory" msgstr "Envanter" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Soldan sağa" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Sağdan sola" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Yandan arkaya" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "Arkadan yana" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "Aşağıdan yukarıya" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "Yukarıdan aşağıya" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Pasif" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Karışık" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (Kilitsiz)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (Kilitleme)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Kaliforniya Tarzı" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "Uluslararası/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Tescilli" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Diğer" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/Uluslararası" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Fiziksel" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Sanal" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2729,13 +2741,13 @@ msgstr "Sanal" msgid "Wireless" msgstr "Kablosuz" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Sanal arayüzler" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2743,27 +2755,27 @@ msgstr "Sanal arayüzler" msgid "Bridge" msgstr "Köprü" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Bağlantı Toplama Grubu (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (sabit)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (modüler)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (arka panel)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Hücresel" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2771,130 +2783,130 @@ msgstr "Hücresel" msgid "Serial" msgstr "Seri" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Koaksiyel" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "İstifleme" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "Yarım" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Dolu" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Oto" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Erişim" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Etiketlenmiş" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Etiketlenmiş (Tümü)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "IEEE Standardı" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "Pasif 24V (2 çift)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "Pasif 24V (4 çift)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "Pasif 48V (2 çift)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "Pasif 48V (4 çift)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Bakır" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Fiber Optik" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Fiber" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Bağlı" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometre" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Sayaçlar" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Santimetre" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Mil" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Feet" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogram" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Gramlar" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Pound'lar" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "ons" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Yedekli" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Tek fazlı" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Üç fazlı" @@ -3146,7 +3158,7 @@ msgstr "Tam derinlik mi" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3190,7 +3202,7 @@ msgid "Device model" msgstr "Cihaz modeli" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "Arayüz (ID)" @@ -3204,8 +3216,8 @@ msgstr "Modül yuvası (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "Cihaz (ID)" @@ -3214,8 +3226,8 @@ msgid "Rack (name)" msgstr "Raf (isim)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Cihaz (isim)" @@ -3265,8 +3277,8 @@ msgstr "Atanmış VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3302,7 +3314,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (KİMLİĞİ)" @@ -3358,7 +3370,7 @@ msgstr "Sanal Cihaz Bağlamı (Tanımlayıcı)" msgid "Wireless LAN" msgstr "Kablosuz LAN" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Kablosuz bağlantı" @@ -3386,12 +3398,12 @@ msgstr "Master (ID)" msgid "Master (name)" msgstr "Master (isim)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "Kiracı (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Kiracı (kısa ad)" @@ -3418,7 +3430,7 @@ msgstr "Etiketler" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3467,8 +3479,8 @@ msgstr "Saat dilimi" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3532,7 +3544,7 @@ msgstr "Montaj derinliği" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3593,8 +3605,8 @@ msgstr "Numaralandırma" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3702,12 +3714,12 @@ msgstr "Parça numarası" msgid "U height" msgstr "U yüksekliği" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Kullanımdan hariç tut" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3796,10 +3808,10 @@ msgstr "Platform" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3926,8 +3938,8 @@ msgid "Maximum draw" msgstr "Maksimum çekiliş" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Maksimum güç çekimi (watt)" @@ -3936,8 +3948,8 @@ msgid "Allocated draw" msgstr "Tahsis edilen çekiliş" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Tahsis edilen güç çekimi (watt)" @@ -3958,16 +3970,16 @@ msgstr "Yalnızca yönetim" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "PoE modu" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "PoE tipi" @@ -3991,7 +4003,7 @@ msgstr "Kablosuz rolü" msgid "Module" msgstr "Modül" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "GECİKME" @@ -4003,7 +4015,7 @@ msgstr "Sanal cihaz bağlamları" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4050,7 +4062,7 @@ msgid "Wireless LAN group" msgstr "Kablosuz LAN grubu" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4436,7 +4448,7 @@ msgstr "İlgili arka bağlantı noktası" msgid "Physical medium classification" msgstr "Fiziksel ortam sınıflandırması" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Yüklü cihaz" @@ -4525,7 +4537,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} yan sonlandırma bulunamadı: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4577,7 +4589,7 @@ msgstr "Birincil IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "Önek uzunluğuna sahip IPv6 adresi, örn. 2001:db8: :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4740,7 +4752,7 @@ msgid "Mgmt only" msgstr "Sadece Mgmt" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4773,7 +4785,7 @@ msgstr "İletim gücü (dBm)" msgid "Cable" msgstr "Kablo" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Keşfedildi" @@ -4923,7 +4935,7 @@ msgid "Front Port" msgstr "Ön Bağlantı Noktası" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5060,7 +5072,7 @@ msgstr "" "Oluşturulacak ön bağlantı noktalarının sayısı ({frontport_count}) seçilen " "arka port konumu sayısıyla eşleşmelidir ({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5083,7 +5095,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/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "etiketlemek" @@ -5185,7 +5197,7 @@ msgstr "" "edilir." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Fiziksel etiket" @@ -5208,134 +5220,134 @@ msgstr "" "Bir bileşen şablonu, bir aygıt türü veya bir modül türüyle " "ilişkilendirilmelidir." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "konsol bağlantı noktası şablonu" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "konsol bağlantı noktası şablonları" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "konsol sunucusu bağlantı noktası şablonu" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "konsol sunucusu bağlantı noktası şablonları" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "maksimum çekiliş" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "tahsis edilen çekiliş" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "güç bağlantı noktası şablonu" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "güç bağlantı noktası şablonları" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "Tahsis edilen çekiliş maksimum çekilişi aşamaz ({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "besleme bacağı" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Faz (üç fazlı beslemeler için)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "elektrik prizi şablonu" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "elektrik prizi şablonları" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Ana güç bağlantı noktası ({power_port}) aynı cihaz türüne ait olmalıdır" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Ana güç bağlantı noktası ({power_port}) aynı modül türüne ait olmalıdır" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "sadece yönetim" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "köprü arayüzü" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "kablosuz rolü" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "arayüz şablonu" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "arayüz şablonları" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Bir arayüz kendi başına köprülenemez." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "Köprü arayüzü ({bridge}) aynı cihaz türüne ait olmalıdır" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Köprü arayüzü ({bridge}) aynı modül türüne ait olmalıdır" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "arka port konumu" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "ön bağlantı noktası şablonu" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "ön bağlantı noktası şablonları" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Arka bağlantı noktası ({name}) aynı cihaz türüne ait olmalıdır" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5344,46 +5356,46 @@ msgstr "" "Geçersiz arka bağlantı noktası konumu ({position}); arka bağlantı noktası " "{name} sadece var {count} pozisyonlar" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "pozisyonlar" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "arka bağlantı noktası şablonu" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "arka bağlantı noktası şablonları" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "pozisyon" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "Yüklü bileşenleri yeniden adlandırırken başvurulacak tanımlayıcı" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "modül bölmesi şablonu" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "modül bölmesi şablonları" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "cihaz yuvası şablonu" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "cihaz yuvası şablonları" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5392,205 +5404,205 @@ msgstr "" "Aygıt türünün alt cihaz rolü ({device_type}) cihaz bölmelerine izin vermek " "için “ebeveyn” olarak ayarlanmalıdır." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "parça kimliği" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Üretici tarafından atanan parça tanımlayıcısı" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "envanter öğesi şablonu" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "envanter öğe şablonları" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Bileşenler farklı bir cihaza taşınamaz." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "kablo ucu" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "bağlı olarak işaretle" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Bir kablo bağlıymış gibi davranın" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "Kablo takarken kablo ucunu (A veya B) belirtmelisiniz." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "Kablo ucu kablo olmadan ayarlanmamalıdır." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Takılı bir kabloyla bağlı olarak işaretlenemiyor." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name} modeller bir parent_object özelliği bildirmelidir" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Fiziksel bağlantı noktası tipi" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "sürat" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Saniyede bit cinsinden port hızı" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "konsol bağlantı noktası" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "konsol bağlantı noktaları" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "konsol sunucusu bağlantı noktası" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "konsol sunucusu bağlantı noktaları" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "güç bağlantı noktası" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "güç bağlantı noktaları" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "elektrik prizi" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "elektrik prizleri" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "Ana güç bağlantı noktası ({power_port}) aynı cihaza ait olmalıdır" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "mod" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "IEEE 802.1Q etiketleme stratejisi" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "ebeveyn arabirimi" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "ebeveyn LAG" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "Bu arayüz yalnızca bant dışı yönetim için kullanılır" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "hız (Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "dubleks" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64 bit Dünya Çapında Adı" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "kablosuz kanal" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "kanal frekansı (MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Seçilen kanala göre doldurulur (ayarlanmışsa)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "iletim gücü (dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "kablosuz LAN'lar" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "etiketsiz VLAN" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "etiketli VLAN'lar" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "arayüz" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "arayüzleri" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} arabirimlerde kablo takılı olamaz." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type} arayüzler bağlı olarak işaretlenemez." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Bir arayüz kendi ebeveyni olamaz." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "Bir üst arabirime yalnızca sanal arabirimler atanabilir." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5598,7 +5610,7 @@ msgid "" msgstr "" "Seçilen üst arabirim ({interface}) farklı bir cihaza aittir ({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5607,14 +5619,14 @@ msgstr "" "Seçilen üst arabirim ({interface}) aittir {device}, sanal kasanın bir " "parçası olmayan {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " "({device})." msgstr "Seçilen köprü arayüzü ({bridge}) farklı bir cihaza aittir ({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5623,21 +5635,21 @@ msgstr "" "Seçilen köprü arayüzü ({interface}) aittir {device}, sanal kasanın bir " "parçası olmayan {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "Sanal arabirimlerin üst LAG arabirimi olamaz." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Bir LAG arabirimi kendi ana arabirimi olamaz." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "Seçilen LAG arayüzü ({lag}) farklı bir cihaza aittir ({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5646,43 +5658,43 @@ msgstr "" "Seçilen LAG arayüzü ({lag}) aittir {device}, sanal kasanın bir parçası " "olmayan {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Sanal arabirimler PoE moduna sahip olamaz." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Sanal arabirimler PoE tipine sahip olamaz." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "Bir PoE türü belirlerken PoE modunu belirtmelisiniz." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "Kablosuz rolü yalnızca kablosuz arayüzlerde ayarlanabilir." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Kanal sadece kablosuz arayüzlerde ayarlanabilir." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "Kanal frekansı yalnızca kablosuz arayüzlerde ayarlanabilir." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "Seçili kanal ile özel frekans belirlenemiyor." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "Kanal genişliği yalnızca kablosuz arayüzlerde ayarlanabilir." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "Seçili kanal ile özel genişlik belirlenemiyor." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5691,24 +5703,24 @@ msgstr "" "Etiketlenmemiş VLAN ({untagged_vlan}) arayüzün ana cihazıyla aynı siteye ait" " olmalı veya global olmalıdır." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "İlgili arka bağlantı noktasında eşlenmiş konum" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "ön bağlantı noktası" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "ön bağlantı noktaları" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Arka bağlantı noktası ({rear_port}) aynı cihaza ait olmalıdır" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5717,19 +5729,19 @@ msgstr "" "Geçersiz arka bağlantı noktası konumu ({rear_port_position}): Arka bağlantı " "noktası {name} sadece var {positions} pozisyonları." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Eşlenebilecek ön bağlantı noktalarının sayısı" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "arka bağlantı noktası" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "arka bağlantı noktaları" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5738,96 +5750,96 @@ msgstr "" "Konum sayısı, eşlenen ön bağlantı noktalarının sayısından az olamaz " "({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "modül yuvası" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "modül bölmeleri" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "Bir modül yuvası, içinde kurulu bir modüle ait olamaz." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "cihaz yuvası" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "cihaz yuvaları" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "Bu tür bir cihaz ({device_type}) cihaz bölmelerini desteklemez." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Bir cihaz kendi içine yüklenemiyor." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." msgstr "Belirtilen cihaz yüklenemiyor; cihaz zaten yüklü {bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "envanter kalemi rolü" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "envanter kalemi rolleri" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "seri numarası" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "varlık etiketi" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "Bu öğeyi tanımlamak için kullanılan benzersiz bir etiket" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "keşfedilen" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Bu öğe otomatik olarak keşfedildi" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "envanter kalemi" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "envanter kalemleri" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Kendisi ebeveyn olarak atanamıyor." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "Ana envanter kalemi aynı cihaza ait değildir." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "Bağımlı çocuklarla bir envanter öğesi taşınamıyor" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "Başka bir cihazdaki bileşene envanter öğesi atanamıyor" @@ -5978,7 +5990,7 @@ msgstr "Bu cihazın hizmet ettiği işlev" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Üretici tarafından atanan şasi seri numarası" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "Bu cihazı tanımlamak için kullanılan benzersiz bir etiket" @@ -5990,12 +6002,12 @@ msgstr "pozisyon (U)" msgid "rack face" msgstr "raf yüzü" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "birincil IPv4" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "birincil IPv6" @@ -6139,36 +6151,45 @@ msgstr "Atanan küme farklı bir siteye aittir ({site})" msgid "A device assigned to a virtual chassis must have its position defined." msgstr "Sanal bir kasaya atanan bir aygıtın konumu tanımlanmış olmalıdır." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Cihaz sanal kasadan kaldırılamıyor {virtual_chassis} çünkü şu anda efendisi " +"olarak belirlenmiştir." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "modül" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "modülleri" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "Modül, atanan cihaza ait bir modül bölmesine kurulmalıdır ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "domain" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "sanal kasa" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "Seçilen usta ({master}) bu sanal kasaya atanmamıştır." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6177,34 +6198,34 @@ msgstr "" "Sanal kasa silinemiyor {self}. Çapraz şasi LAG arabirimleri oluşturan üye " "arayüzleri vardır." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "belirlemek" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Ana aygıta benzersiz sayısal tanımlayıcı" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "yorumlar" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "sanal cihaz bağlamı" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "sanal cihaz bağlamları" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} IPV değil{family} adres." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "Birincil IP adresi, atanan cihazdaki bir arayüze ait olmalıdır." @@ -6628,7 +6649,7 @@ msgstr "Yapılandırma Şablonu" msgid "Site Group" msgstr "Site Grubu" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6637,12 +6658,12 @@ msgstr "Site Grubu" msgid "IP Address" msgstr "IP Adresi" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4 Adresi" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6 Adresi" @@ -6680,8 +6701,8 @@ msgstr "Güç bağlantı noktaları" msgid "Power outlets" msgstr "Elektrik prizleri" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6719,8 +6740,8 @@ msgstr "Envanter kalemleri" msgid "Module Bay" msgstr "Modül Yuvası" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6778,75 +6799,75 @@ msgstr "FHRP Grupları" msgid "Tunnel" msgstr "Tünel" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Yalnızca Yönetim" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDC'ler" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Yüklü Modül" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Modül Seri" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Modül Varlık Etiketi" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Modül Durumu" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Bileşen" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Öğeler" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Cihaz Türleri" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Modül Çeşitleri" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Platformlar" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Varsayılan Platform" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Tam Derinlik" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "U Yüksekliği" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Örnekler" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6857,7 +6878,7 @@ msgstr "Örnekler" msgid "Console Ports" msgstr "Konsol Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6868,7 +6889,7 @@ msgstr "Konsol Bağlantı Noktaları" msgid "Console Server Ports" msgstr "Konsol Sunucusu Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6879,7 +6900,7 @@ msgstr "Konsol Sunucusu Bağlantı Noktaları" msgid "Power Ports" msgstr "Güç Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6890,7 +6911,7 @@ msgstr "Güç Bağlantı Noktaları" msgid "Power Outlets" msgstr "Elektrik Prizleri" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6900,7 +6921,7 @@ msgstr "Elektrik Prizleri" msgid "Front Ports" msgstr "Ön Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6911,7 +6932,7 @@ msgstr "Ön Bağlantı Noktaları" msgid "Rear Ports" msgstr "Arka Bağlantı Noktaları" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6919,7 +6940,7 @@ msgstr "Arka Bağlantı Noktaları" msgid "Device Bays" msgstr "Cihaz Yuvaları" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7359,24 +7380,24 @@ msgstr "Widget türü" msgid "Unregistered widget class: {name}" msgstr "Kayıtlı olmayan widget sınıfı: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} bir render () yöntemi tanımlamalıdır." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Not" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "Bazı rastgele özel içerikleri görüntüleyin. Markdown desteklenir." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Nesne Sayıları" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7384,59 +7405,59 @@ msgstr "" "Bir dizi NetBox modeli ve her tür için oluşturulan nesne sayısını " "görüntüleyin." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Nesne sayısını sayarken uygulanacak filtreler" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "Geçersiz biçim. Nesne filtreleri sözlük olarak iletilmelidir." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Nesne Listesi" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "İsteğe bağlı bir nesne listesi görüntüleyin." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Görüntülenecek nesnelerin varsayılan sayısı" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "Geçersiz biçim. URL parametreleri sözlük olarak iletilmelidir." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "RSS Beslemesi" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Harici bir web sitesinden bir RSS beslemesi ekleyin." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "Akış URL'si" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Görüntülenecek maksimum nesne sayısı" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "" "Önbelleğe alınan içeriğin ne kadar süre saklanacağı (saniye cinsinden)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Yer İşaretleri" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Kişisel yer imlerinizi gösterin" @@ -7479,8 +7500,8 @@ msgstr "Küme tipi (kısa ad)" msgid "Tenant group" msgstr "Kiracı grubu" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Kiracı grubu (kısa ad)" @@ -7617,7 +7638,7 @@ msgstr "Aktif" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Nesne türleri" @@ -7718,8 +7739,8 @@ msgstr "Girişin sınıflandırılması" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Kullanıcılar" @@ -7732,8 +7753,8 @@ msgstr "" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Gruplar" @@ -8451,10 +8472,19 @@ msgstr "özel alan seçim kümesi" msgid "custom field choice sets" msgstr "özel alan seçim kümeleri" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Temel veya ekstra seçenekleri tanımlamalıdır." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Seçim kaldırılamıyor {choice} olduğu gibi {model} Ona referans veren " +"nesneler." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "plan" @@ -9028,64 +9058,64 @@ msgstr "Mesaj" msgid "Method" msgstr "Yöntemi" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Bu değerin eşit olduğundan emin olun %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Bu değerin eşit olmadığından emin olun %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Bu alan boş olmalıdır." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Bu alan boş olmamalıdır." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Doğrulama kuralları sözlük olarak geçirilmelidir" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "Özel doğrulama başarısız oldu {attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Geçersiz öznitelik”{name}“istek için" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "\"{name}\" niteliği {model} için geçerli değil." -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Kontrol paneliniz sıfırlandı." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Eklenen widget: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Güncellenmiş widget: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Silinen widget: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Widget silinirken hata oluştu: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "Komut dosyası çalıştırılamıyor: RQ işçi işlemi çalışmıyor." @@ -9153,19 +9183,19 @@ msgstr "Düz metin" msgid "Invalid IP address format: {address}" msgstr "Geçersiz IP adresi biçimi: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Hedefi içe aktarma" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Hedefi içe aktarma (isim)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Dışa aktarma hedefi" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Dışa aktarma hedefi (isim)" @@ -9235,11 +9265,11 @@ msgstr "Bu önek veya IP'yi içeren önekler" msgid "Mask length" msgstr "Maske uzunluğu" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (KİMLİĞİ)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "VLAN numarası (1-4094)" @@ -9259,23 +9289,23 @@ msgid "Parent prefix" msgstr "Ebeveyn öneki" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Sanal makine (isim)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "Sanal makine (ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Arayüz (isim)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "VM arabirimi (isim)" @@ -9303,19 +9333,27 @@ msgstr "Hizmet (ID)" msgid "NAT inside IP address (ID)" msgstr "IP adresi içinde NAT (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Atanmış arayüz" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Atanmış VM arabirimi" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "IP adresi (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "IP adresi" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "Birincil IPv4 (ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "Birincil IPv6 (ID)" @@ -9529,10 +9567,6 @@ msgstr "Sanal makine" msgid "Parent VM of assigned interface (if any)" msgstr "Atanan arabirimin üst VM'si (varsa)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Atanmış arayüz" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Birincildir" @@ -11092,9 +11126,9 @@ msgstr "Yönetici" msgid "API Tokens" msgstr "API Belirteçleri" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "İzinler" @@ -11245,63 +11279,63 @@ 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:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "Çek" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "Danca" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "Alman" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "İngilizce" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "İspanyolca" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "Fransızca" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "İtalyan" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "Japonca" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "Hollandalı" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "Lehçe" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "Portekizce" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "Rusça" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "Türkçe" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "Ukraynalı" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "Çince" @@ -12976,7 +13010,7 @@ msgstr "Yeni Üye Ekle" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Eylemler" @@ -14028,7 +14062,7 @@ msgstr "" "Tıklayın burada NetBox'ı tekrar yüklemeyi " "denemek için." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14057,7 +14091,7 @@ msgid "Add Contact Group" msgstr "Kişi Grubu Ekle" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "İletişim Rolü" @@ -14095,7 +14129,7 @@ msgid "View" msgstr "Görünüm" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Kısıtlamalar" @@ -14122,11 +14156,6 @@ msgstr "Bellek" msgid "Disk Space" msgstr "Disk Alanı" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "BÜYÜK BRİTANYA" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Sanal Makine Ekle" @@ -14367,57 +14396,57 @@ msgstr "Bağlantı Özellikleri" msgid "Distance" msgstr "Mesafe" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "Ebeveyn iletişim grubu (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Ebeveyn iletişim grubu (kısa ad)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "İletişim grubu (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "İletişim grubu (kısa ad)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "İletişim (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "Kişi rolü (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "İletişim rolü (kısa ad)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "İletişim grubu" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "Ana kiracı grubu (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Ana kiracı grubu (kısa ad)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "Kiracı grubu (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "Kiracı Grubu (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Kiracı Grubu (kısa ad)" @@ -14582,11 +14611,11 @@ msgstr "Değişebilir" msgid "Can Delete" msgstr "Silebilir" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Kullanıcı Arayüzü" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14596,7 +14625,7 @@ msgstr "" "kaydettiğinizden emin olun belirteç oluşturulduktan sonra artık " "erişilemeyebileceğinden, bu formu göndermeden önce." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14606,32 +14635,32 @@ msgstr "" "olmadan boş bırakın. Örnek: 10.1.1.0/24.192.168.10.16/32,2001: db 8:1:" " :/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Şifreyi onayla" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Doğrulama için öncekiyle aynı şifreyi girin." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" "Şifreler eşleşmiyor! Lütfen girdilerinizi kontrol edin ve tekrar deneyin." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Ek eylemler" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Yukarıda listelenenlere ek olarak verilen eylemler" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Nesneler" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14641,11 +14670,11 @@ msgstr "" "ifadesi. Bu türdeki tüm nesneleri eşleştirmek için null bırakın. Birden çok " "nesnenin listesi mantıksal bir OR işlemi ile sonuçlanır." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "En az bir eylem seçilmelidir." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Geçersiz filtre {model}: {error}" @@ -14898,7 +14927,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Çoktan seçmeli alan için geçersiz değer: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Nesne bulunamadı: %(value)s" @@ -14911,11 +14940,16 @@ msgid "" msgstr "" "“{value}“bu alan için benzersiz bir değer değil; birden fazla nesne bulundu" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "“{field_name}“geçersiz bir erişici alan adıdır." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Nesne türü şu şekilde belirtilmelidir”.“" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Geçersiz nesne türü" @@ -15499,19 +15533,19 @@ msgstr "DSA imzaları" msgid "Group {n}" msgstr "Grup {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Ethernet Özel LAN" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Ethernet Sanal Özel LAN" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Ethernet Özel Ağacı" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Ethernet Sanal Özel Ağacı" @@ -15543,33 +15577,31 @@ msgstr "Tünel (isim)" msgid "Outside IP (ID)" msgstr "Dış IP (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "IKE ilkesi (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "IKE ilkesi (isim)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "IPsec ilkesi (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "IPsec ilkesi (ad)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (kısa ad)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "VM Arabirimi (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (isim)" diff --git a/netbox/translations/uk/LC_MESSAGES/django.po b/netbox/translations/uk/LC_MESSAGES/django.po index 6786b1492..39cbf3bda 100644 --- a/netbox/translations/uk/LC_MESSAGES/django.po +++ b/netbox/translations/uk/LC_MESSAGES/django.po @@ -5,17 +5,17 @@ # # Translators: # Volodymyr Pidgornyi, 2024 -# Vladyslav V. Prodan, 2024 # Jeremy Stretch, 2024 +# Vladyslav V. Prodan, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: Vladyslav V. Prodan, 2024\n" "Language-Team: Ukrainian (https://app.transifex.com/netbox-community/teams/178115/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,7 +25,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "Ключ" @@ -61,7 +61,7 @@ msgstr "Використано востаннє" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "Дозволені IP-адреси" @@ -89,8 +89,8 @@ msgstr "Ваш пароль успішно змінено." #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -102,8 +102,8 @@ msgstr "Забезпечення" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -114,21 +114,21 @@ msgid "Active" msgstr "Активний" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Офлайн" #: netbox/circuits/choices.py:25 msgid "Deprovisioning" -msgstr "Зняття резервування" +msgstr "Зняття з експлуатації" #: netbox/circuits/choices.py:26 msgid "Decommissioned" msgstr "Виведені з експлуатації" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Первинний" @@ -154,9 +154,9 @@ msgstr "Неактивний" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" -msgstr "Регіон (ідентіфікатор)" +msgstr "Регіон (ідентифікатор)" #: netbox/circuits/filtersets.py:38 netbox/circuits/filtersets.py:205 #: netbox/dcim/filtersets.py:105 netbox/dcim/filtersets.py:158 @@ -166,7 +166,7 @@ msgstr "Регіон (ідентіфікатор)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "Регіон (скорочення)" @@ -179,7 +179,7 @@ msgstr "Регіон (скорочення)" #: netbox/ipam/filtersets.py:972 netbox/virtualization/filtersets.py:58 #: netbox/virtualization/filtersets.py:186 msgid "Site group (ID)" -msgstr "Група тех. майданчиків (ідентіфікатор)" +msgstr "Група тех. майданчиків (ідентифікатор)" #: netbox/circuits/filtersets.py:51 netbox/circuits/filtersets.py:218 #: netbox/dcim/filtersets.py:135 netbox/dcim/filtersets.py:232 @@ -195,7 +195,7 @@ msgstr "Група тех. майданчиків (скорочення)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -261,13 +261,13 @@ msgstr "Тех. майданчик" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "Тех. майданчик (скорочення)" #: netbox/circuits/filtersets.py:67 msgid "ASN (ID)" -msgstr "ASN (ідентіфікатор)" +msgstr "ASN (ідентифікатор)" #: netbox/circuits/filtersets.py:73 netbox/circuits/forms/filtersets.py:31 #: netbox/ipam/forms/model_forms.py:159 netbox/ipam/models/asns.py:108 @@ -280,7 +280,7 @@ msgstr "ASN" #: netbox/circuits/filtersets.py:156 netbox/circuits/filtersets.py:283 #: netbox/circuits/filtersets.py:325 netbox/ipam/filtersets.py:243 msgid "Provider (ID)" -msgstr "Провайдер (ідентіфікатор)" +msgstr "Провайдер (ідентифікатор)" #: netbox/circuits/filtersets.py:101 netbox/circuits/filtersets.py:128 #: netbox/circuits/filtersets.py:162 netbox/circuits/filtersets.py:289 @@ -290,7 +290,7 @@ msgstr "Провайдер (скорочення)" #: netbox/circuits/filtersets.py:167 msgid "Provider account (ID)" -msgstr "Обліковий запис провайдера (ідентіфікатор)" +msgstr "Обліковий запис провайдера (ідентифікатор)" #: netbox/circuits/filtersets.py:173 msgid "Provider account (account)" @@ -298,11 +298,11 @@ msgstr "Обліковий запис провайдера (обліковий #: netbox/circuits/filtersets.py:178 msgid "Provider network (ID)" -msgstr "Мережа провайдера (ідентіфікатор)" +msgstr "Мережа провайдера (ідентифікатор)" #: netbox/circuits/filtersets.py:182 msgid "Circuit type (ID)" -msgstr "Тип каналу зв'язку (ідентіфікатор)" +msgstr "Тип каналу зв'язку (ідентифікатор)" #: netbox/circuits/filtersets.py:188 msgid "Circuit type (slug)" @@ -315,13 +315,13 @@ msgstr "Тип каналу зв'язку (скорочення)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" -msgstr "Тех. майданчик (ідентіфікатор)" +msgstr "Тех. майданчик (ідентифікатор)" #: netbox/circuits/filtersets.py:233 netbox/circuits/filtersets.py:237 msgid "Termination A (ID)" -msgstr "Припинення A (ідентіфікатор)" +msgstr "Припинення A (ідентифікатор)" #: netbox/circuits/filtersets.py:260 netbox/circuits/filtersets.py:320 #: netbox/core/filtersets.py:77 netbox/core/filtersets.py:136 @@ -334,13 +334,13 @@ msgstr "Припинення A (ідентіфікатор)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -349,7 +349,7 @@ msgstr "Пошук" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -368,11 +368,11 @@ msgstr "Канал зв'язку" #: netbox/circuits/filtersets.py:278 msgid "ProviderNetwork (ID)" -msgstr "Мережа провайдера (ідентіфікатор)" +msgstr "Мережа провайдера (ідентифікатор)" #: netbox/circuits/filtersets.py:335 msgid "Circuit (ID)" -msgstr "Канал зв'язку (ідентіфікатор)" +msgstr "Канал зв'язку (ідентифікатор)" #: netbox/circuits/filtersets.py:341 msgid "Circuit (CID)" @@ -380,7 +380,7 @@ msgstr "Канал зв'язку (ідентифікатор вмісту)" #: netbox/circuits/filtersets.py:345 msgid "Circuit group (ID)" -msgstr "Группа каналів зв'язку (ідентіфікатор)" +msgstr "Группа каналів зв'язку (ідентифікатор)" #: netbox/circuits/filtersets.py:351 msgid "Circuit group (slug)" @@ -533,9 +533,9 @@ msgstr "Опис" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -572,9 +572,9 @@ msgstr "Ідентифікатор служби" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -587,7 +587,7 @@ msgid "Color" msgstr "Колір" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -610,7 +610,7 @@ msgstr "Колір" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -644,14 +644,14 @@ msgid "Type" msgstr "Тип" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "Обліковий запис постачальника" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -667,8 +667,8 @@ msgstr "Обліковий запис постачальника" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -697,7 +697,7 @@ msgstr "Обліковий запис постачальника" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -721,8 +721,8 @@ msgstr "Статус" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -805,7 +805,7 @@ msgstr "Дата припинення дії" #: netbox/circuits/forms/bulk_edit.py:158 #: netbox/circuits/forms/filtersets.py:186 msgid "Commit rate (Kbps)" -msgstr "Швидкість комісії (Кбіт/с)" +msgstr "Гарантована мінімальна швідкість (Кбіт/с)" #: netbox/circuits/forms/bulk_edit.py:173 #: netbox/circuits/forms/model_forms.py:112 @@ -834,7 +834,7 @@ msgstr "Параметри обслуговування" #: netbox/vpn/forms/model_forms.py:411 netbox/wireless/forms/model_forms.py:54 #: netbox/wireless/forms/model_forms.py:170 msgid "Tenancy" -msgstr "Оренда житла" +msgstr "Оренда" #: netbox/circuits/forms/bulk_edit.py:193 #: netbox/circuits/forms/bulk_edit.py:217 @@ -888,21 +888,21 @@ msgstr "Деталі припинення" msgid "Priority" msgstr "Пріоритет" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "Призначений провайдер" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "Призначений обліковий запис постачальника" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "Тип каналу зв'язку" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -914,8 +914,8 @@ msgstr "Тип каналу зв'язку" msgid "Operational status" msgstr "Операційний стан" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -931,7 +931,7 @@ msgstr "Операційний стан" msgid "Assigned tenant" msgstr "Призначений орендар" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -939,7 +939,7 @@ msgstr "Призначений орендар" msgid "Termination" msgstr "Припинення" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1095,7 +1095,7 @@ msgstr "Сторона терміну" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "Призначення" @@ -1150,11 +1150,11 @@ msgid "Circuit Group" msgstr "Група каналу зв'язку" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1177,9 +1177,9 @@ msgid "Unique circuit ID" msgstr "Унікальний ідентифікатор каналу зв'язку" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1192,19 +1192,19 @@ msgstr "статус" #: netbox/circuits/models/circuits.py:84 netbox/templates/core/plugin.html:19 msgid "installed" -msgstr "встановлений" +msgstr "встановлено" #: netbox/circuits/models/circuits.py:89 msgid "terminates" -msgstr "припиняється" +msgstr "припинється" #: netbox/circuits/models/circuits.py:94 msgid "commit rate (Kbps)" -msgstr "швидкість комісії (Кбіт/с)" +msgstr "гарантована мінімальна швідкість (Кбіт/с)" #: netbox/circuits/models/circuits.py:95 msgid "Committed rate" -msgstr "Коефіцієнт зобов'язань" +msgstr "Гарантирована швідкість" #: netbox/circuits/models/circuits.py:137 msgid "circuit" @@ -1273,7 +1273,7 @@ msgstr "Ідентифікатор патч-панелі та номер(и) п #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1312,11 +1312,11 @@ msgstr "" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1400,11 +1400,11 @@ msgstr "мережі провайдерів" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1532,18 +1532,18 @@ msgstr "Сторона А" #: netbox/circuits/tables/circuits.py:74 msgid "Side Z" -msgstr "Сторона Z" +msgstr "Сторона Б" #: netbox/circuits/tables/circuits.py:77 #: netbox/templates/circuits/circuit.html:55 msgid "Commit Rate" -msgstr "Коефіцієнт комісії" +msgstr "Гарантований процент чи коефіцієнт доступності" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1620,8 +1620,8 @@ msgstr "Завершено" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Збій" @@ -1687,42 +1687,42 @@ msgstr "Зупинено" msgid "Cancelled" msgstr "Скасовано" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "Місцеві" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "Ім'я користувача" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "Використовується лише для клонування за допомогою HTTP(S)" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "Пароль" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "Відділення" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "Не вдалося отримати збійні дані ({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "Ідентифікатор ключа доступу AWS" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "Ключ таємничого доступу до AWS" @@ -1757,7 +1757,7 @@ msgstr "Завдання завершено з помилкою" #: netbox/core/filtersets.py:53 netbox/extras/filtersets.py:250 #: netbox/extras/filtersets.py:633 netbox/extras/filtersets.py:661 msgid "Data source (ID)" -msgstr "Джерело даних (ідентіфікатор)" +msgstr "Джерело даних (ідентифікатор)" #: netbox/core/filtersets.py:59 msgid "Data source (name)" @@ -1768,7 +1768,7 @@ msgstr "Джерело даних (назва)" #: netbox/extras/filtersets.py:353 netbox/extras/filtersets.py:413 #: netbox/users/filtersets.py:28 msgid "User (ID)" -msgstr "Користувач (ідентіфікатор)" +msgstr "Користувач (ідентифікатор)" #: netbox/core/filtersets.py:151 msgid "User name" @@ -1777,7 +1777,7 @@ msgstr "Ім'я користувача" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1891,7 +1891,7 @@ msgstr "Завершено раніше" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "Користувач" @@ -1945,12 +1945,12 @@ msgstr "Потрібно завантажити файл або вибрати msgid "Rack Elevations" msgstr "Висота стійки" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 msgid "Power" -msgstr "Потужність" +msgstr "Електрика" #: netbox/core/forms/model_forms.py:159 netbox/netbox/navigation/menu.py:154 #: netbox/templates/core/inc/config_data.html:37 @@ -1988,7 +1988,7 @@ msgstr "Параметри користувача" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "Різне" @@ -2047,7 +2047,7 @@ msgid "Change logging is not supported for this object type ({type})." msgstr "Журнал змін не підтримується для цього типу об'єктів ({type})." #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2084,20 +2084,20 @@ msgid "Config revision #{id}" msgstr "Ревізія конфігурації #{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2112,8 +2112,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2226,59 +2226,59 @@ msgstr "керований файл" msgid "managed files" msgstr "керовані файли" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "заплановано" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "інтервал" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "Інтервал рецидивів (у хвилинах)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "розпочато" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "завершено" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "дані" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "помилка" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "iдентифікатор завдання" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "завдання" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "завдання" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "Завдання не можуть бути призначені для цього типу об'єкта ({type})." -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "" "Невірний статус для припинення виконання завдання. Треба вибрати: {choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "" @@ -2329,13 +2329,13 @@ msgid "Last updated" msgstr "Останнє оновлення" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 #: netbox/wireless/tables/wirelesslink.py:17 msgid "ID" -msgstr "Ідентіфікатор" +msgstr "Ідентифікатор" #: netbox/core/tables/jobs.py:35 msgid "Interval" @@ -2521,7 +2521,7 @@ msgid "Staging" msgstr "Підготовка" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Виведення з експлуатації" @@ -2585,17 +2585,17 @@ msgstr "Застарілий" msgid "Millimeters" msgstr "Міліметри" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "Дюйми" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "Спереду ззаду" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "Ззаду спереду" @@ -2608,8 +2608,8 @@ msgstr "Ззаду спереду" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2653,7 +2653,7 @@ msgstr "Спереду" msgid "Rear" msgstr "Ззаду" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "Підготовлено" @@ -2662,81 +2662,93 @@ msgstr "Підготовлено" msgid "Inventory" msgstr "Інвентар" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "Зліва направо" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "Праворуч наліво" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "Збоку ззаду" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "Ззаду в бік" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "Знизу вгору" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "Зверху вниз" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "Пасивний" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "Змішаний" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA (без блокування)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA (з блокуванням)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "Каліфорнійський стиль" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "Міжнародний/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "Пропрієтарний" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "Інше" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/Міжнародні" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "Фізичний" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "Віртуальний" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 #: netbox/templates/dcim/interface.html:210 msgid "Wireless" -msgstr "Бездротовий" +msgstr "Бездротові мережі" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "Віртуальні інтерфейси" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2744,27 +2756,27 @@ msgstr "Віртуальні інтерфейси" msgid "Bridge" msgstr "Міст" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "Група агрегації каналів (LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "Ethernet (фіксований)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "Ethernet (модульний)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "Ethernet (панель)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "Стільниковий" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2772,130 +2784,130 @@ msgstr "Стільниковий" msgid "Serial" msgstr "Серійний" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "Коаксіальний" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" -msgstr "Укладання" +msgstr "Стекований" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" -msgstr "Половина" +msgstr "Половинний" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "Повний" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Авто" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "Доступ" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "З мітками" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "З мітками (Усі)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "Стандарт IEEE" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "Пасивний 24В (2-парний)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "Пасивний 24В (4-парний)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "Пасивний 48В (2-парний)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "Пасивний 48В (4-парний)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "Мідний" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "Волоконно-оптичний" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "Волоконний" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Підключений" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Кілометри" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Метри" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "Сантиметри" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Милі" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Фути" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Кілограми" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "Грами" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Фунтів" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "Унцій" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "Надлишковий" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "Однофазний" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "Трифазний" @@ -2911,7 +2923,7 @@ msgstr "Невірний формат WWN: {value}" #: netbox/dcim/filtersets.py:86 msgid "Parent region (ID)" -msgstr "Батьківський регіон (ідентіфікатор)" +msgstr "Батьківський регіон (ідентифікатор)" #: netbox/dcim/filtersets.py:92 msgid "Parent region (slug)" @@ -2919,7 +2931,7 @@ msgstr "Батьківський регіон (скорочення)" #: netbox/dcim/filtersets.py:116 msgid "Parent site group (ID)" -msgstr "Батьківська група тех. майданчиків (ідентіфікатор)" +msgstr "Батьківська група тех. майданчиків (ідентифікатор)" #: netbox/dcim/filtersets.py:122 msgid "Parent site group (slug)" @@ -2928,7 +2940,7 @@ msgstr "Батьківська група тех. майданчиків (ско #: netbox/dcim/filtersets.py:164 netbox/extras/filtersets.py:364 #: netbox/ipam/filtersets.py:841 netbox/ipam/filtersets.py:993 msgid "Group (ID)" -msgstr "Група (ідентіфікатор)" +msgstr "Група (ідентифікатор)" #: netbox/dcim/filtersets.py:170 msgid "Group (slug)" @@ -2936,11 +2948,11 @@ msgstr "Група (скорочення)" #: netbox/dcim/filtersets.py:176 netbox/dcim/filtersets.py:181 msgid "AS (ID)" -msgstr "AS (ідентіфікатор)" +msgstr "AS (ідентифікатор)" #: netbox/dcim/filtersets.py:246 msgid "Parent location (ID)" -msgstr "Батьківське місцезнаходження (ідентіфікатор)" +msgstr "Батьківське місцезнаходження (ідентифікатор)" #: netbox/dcim/filtersets.py:252 msgid "Parent location (slug)" @@ -2950,7 +2962,7 @@ msgstr "Батьківське розташування (скорочення)" #: netbox/dcim/filtersets.py:490 netbox/dcim/filtersets.py:1057 #: netbox/dcim/filtersets.py:1404 netbox/dcim/filtersets.py:2182 msgid "Location (ID)" -msgstr "Місцезнаходження (ідентіфікатор)" +msgstr "Місцезнаходження (ідентифікатор)" #: netbox/dcim/filtersets.py:265 netbox/dcim/filtersets.py:376 #: netbox/dcim/filtersets.py:497 netbox/dcim/filtersets.py:1410 @@ -2964,7 +2976,7 @@ msgstr "Місцезнаходження (скорочення)" #: netbox/dcim/filtersets.py:973 netbox/dcim/filtersets.py:1306 #: netbox/dcim/filtersets.py:1840 msgid "Manufacturer (ID)" -msgstr "Виробник (ідентіфікатор)" +msgstr "Виробник (ідентифікатор)" #: netbox/dcim/filtersets.py:302 netbox/dcim/filtersets.py:387 #: netbox/dcim/filtersets.py:545 netbox/dcim/filtersets.py:684 @@ -2980,14 +2992,14 @@ msgstr "Тип стійки (скорочення)" #: netbox/dcim/filtersets.py:397 msgid "Rack type (ID)" -msgstr "Тип стійки (ідентіфікатор)" +msgstr "Тип стійки (ідентифікатор)" #: netbox/dcim/filtersets.py:411 netbox/dcim/filtersets.py:892 #: netbox/dcim/filtersets.py:994 netbox/dcim/filtersets.py:1850 #: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493 #: netbox/ipam/filtersets.py:1003 netbox/virtualization/filtersets.py:210 msgid "Role (ID)" -msgstr "Роль (ідентіфікатор)" +msgstr "Роль (ідентифікатор)" #: netbox/dcim/filtersets.py:417 netbox/dcim/filtersets.py:898 #: netbox/dcim/filtersets.py:1000 netbox/dcim/filtersets.py:1856 @@ -3000,7 +3012,7 @@ msgstr "Роль (скорочення)" #: netbox/dcim/filtersets.py:447 netbox/dcim/filtersets.py:1062 #: netbox/dcim/filtersets.py:1415 netbox/dcim/filtersets.py:2244 msgid "Rack (ID)" -msgstr "Стійка (ідентіфікатор)" +msgstr "Стійка (ідентифікатор)" #: netbox/dcim/filtersets.py:507 netbox/extras/filtersets.py:293 #: netbox/extras/filtersets.py:337 netbox/extras/filtersets.py:359 @@ -3011,7 +3023,7 @@ msgstr "Користувач (ім'я)" #: netbox/dcim/filtersets.py:549 msgid "Default platform (ID)" -msgstr "Платформа за замовчуванням (ідентіфікатор)" +msgstr "Платформа за замовчуванням (ідентифікатор)" #: netbox/dcim/filtersets.py:555 msgid "Default platform (slug)" @@ -3078,24 +3090,24 @@ msgstr "Має предмети інвентарю" #: netbox/dcim/filtersets.py:756 netbox/dcim/filtersets.py:989 #: netbox/dcim/filtersets.py:1436 msgid "Device type (ID)" -msgstr "Тип пристрою (ідентіфікатор)" +msgstr "Тип пристрою (ідентифікатор)" #: netbox/dcim/filtersets.py:772 netbox/dcim/filtersets.py:1317 msgid "Module type (ID)" -msgstr "Тип модуля (ідентіфікатор)" +msgstr "Тип модуля (ідентифікатор)" #: netbox/dcim/filtersets.py:804 netbox/dcim/filtersets.py:1591 msgid "Power port (ID)" -msgstr "Порт живлення (ідентіфікатор)" +msgstr "Порт живлення (ідентифікатор)" #: netbox/dcim/filtersets.py:878 netbox/dcim/filtersets.py:1836 msgid "Parent inventory item (ID)" -msgstr "Батьківський предмет інвентарю (ідентіфікатор)" +msgstr "Батьківський предмет інвентарю (ідентифікатор)" #: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:947 #: netbox/dcim/filtersets.py:1127 netbox/virtualization/filtersets.py:238 msgid "Config template (ID)" -msgstr "Шаблон конфігурації (ідентіфікатор)" +msgstr "Шаблон конфігурації (ідентифікатор)" #: netbox/dcim/filtersets.py:985 msgid "Device type (slug)" @@ -3103,11 +3115,11 @@ msgstr "Тип пристрою (скорочення)" #: netbox/dcim/filtersets.py:1005 msgid "Parent Device (ID)" -msgstr "Батьківський пристрій (ідентіфікатор)" +msgstr "Батьківський пристрій (ідентифікатор)" #: netbox/dcim/filtersets.py:1009 netbox/virtualization/filtersets.py:220 msgid "Platform (ID)" -msgstr "Платформа (ідентіфікатор)" +msgstr "Платформа (ідентифікатор)" #: netbox/dcim/filtersets.py:1015 netbox/extras/filtersets.py:569 #: netbox/virtualization/filtersets.py:226 @@ -3122,11 +3134,11 @@ msgstr "Назва тех. майданчика (скоречення)" #: netbox/dcim/filtersets.py:1067 msgid "Parent bay (ID)" -msgstr "Батьківська бухта (ідентіфікатор)" +msgstr "Батьківська бухта (ідентифікатор)" #: netbox/dcim/filtersets.py:1071 msgid "VM cluster (ID)" -msgstr "Кластер віртуальних машини (ідентіфікатор)" +msgstr "Кластер віртуальних машини (ідентифікатор)" #: netbox/dcim/filtersets.py:1077 netbox/extras/filtersets.py:591 #: netbox/virtualization/filtersets.py:136 @@ -3135,7 +3147,7 @@ msgstr "Кластерна група (скоречення)" #: netbox/dcim/filtersets.py:1082 netbox/virtualization/filtersets.py:130 msgid "Cluster group (ID)" -msgstr "Група кластерів (ідентіфікатор)" +msgstr "Група кластерів (ідентифікатор)" #: netbox/dcim/filtersets.py:1088 msgid "Device model (slug)" @@ -3147,7 +3159,7 @@ msgstr "Це повна глибина" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3168,7 +3180,7 @@ msgstr "Має IP для зовнішнього незалежного керу #: netbox/dcim/filtersets.py:1119 msgid "Virtual chassis (ID)" -msgstr "Віртуальне шасі (ідентіфікатор)" +msgstr "Віртуальне шасі (ідентифікатор)" #: netbox/dcim/filtersets.py:1123 msgid "Is a virtual chassis member" @@ -3176,7 +3188,7 @@ msgstr "Є віртуальним членом шасі" #: netbox/dcim/filtersets.py:1164 msgid "OOB IP (ID)" -msgstr "IP для зовнішнього незалежного керування (ідентіфікатор)" +msgstr "IP для зовнішнього незалежного керування (ідентифікатор)" #: netbox/dcim/filtersets.py:1168 msgid "Has virtual device context" @@ -3184,16 +3196,16 @@ msgstr "Має контекст віртуального пристрою" #: netbox/dcim/filtersets.py:1257 msgid "VDC (ID)" -msgstr "Імпульсне джерело живлення (ідентіфікатор)" +msgstr "Імпульсне джерело живлення (ідентифікатор)" #: netbox/dcim/filtersets.py:1262 msgid "Device model" msgstr "Модель пристрою" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" -msgstr "Інтерфейс (ідентіфікатор)" +msgstr "Інтерфейс (ідентифікатор)" #: netbox/dcim/filtersets.py:1323 msgid "Module type (model)" @@ -3201,22 +3213,22 @@ msgstr "Тип модуля (модель)" #: netbox/dcim/filtersets.py:1329 msgid "Module bay (ID)" -msgstr "Відсік модуля (ідентіфікатор)" +msgstr "Відсік модуля (ідентифікатор)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" -msgstr "Пристрій (ідентіфікатор)" +msgstr "Пристрій (ідентифікатор)" #: netbox/dcim/filtersets.py:1421 msgid "Rack (name)" msgstr "Стійка (назва)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "Пристрій (назва)" @@ -3226,7 +3238,7 @@ msgstr "Тип пристрою (модель)" #: netbox/dcim/filtersets.py:1447 msgid "Device role (ID)" -msgstr "Роль пристрою (ідентіфікатор)" +msgstr "Роль пристрою (ідентифікатор)" #: netbox/dcim/filtersets.py:1453 msgid "Device role (slug)" @@ -3234,7 +3246,7 @@ msgstr "Роль пристрою (скоречення)" #: netbox/dcim/filtersets.py:1458 msgid "Virtual Chassis (ID)" -msgstr "Віртуальне шасі (ідентіфікатор)" +msgstr "Віртуальне шасі (ідентифікатор)" #: netbox/dcim/filtersets.py:1464 netbox/dcim/forms/filtersets.py:109 #: netbox/dcim/tables/devices.py:206 netbox/netbox/navigation/menu.py:79 @@ -3248,11 +3260,11 @@ msgstr "Віртуальне шасі" #: netbox/dcim/filtersets.py:1488 msgid "Module (ID)" -msgstr "Модуль (ідентіфікатор)" +msgstr "Модуль (ідентифікатор)" #: netbox/dcim/filtersets.py:1495 msgid "Cable (ID)" -msgstr "Кабель (ідентіфікатор)" +msgstr "Кабель (ідентифікатор)" #: netbox/dcim/filtersets.py:1604 netbox/ipam/forms/bulk_import.py:189 #: netbox/vpn/forms/bulk_import.py:308 @@ -3266,8 +3278,8 @@ msgstr "Призначений VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3303,9 +3315,9 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" -msgstr "L2VPN (ідентіфікатор)" +msgstr "L2VPN (ідентифікатор)" #: netbox/dcim/filtersets.py:1630 netbox/dcim/forms/filtersets.py:1433 #: netbox/dcim/tables/devices.py:570 netbox/ipam/filtersets.py:1036 @@ -3325,7 +3337,7 @@ msgstr "Віртуальні інтерфейси шасі для пристро #: netbox/dcim/filtersets.py:1667 msgid "Virtual Chassis Interfaces for Device (ID)" -msgstr "Віртуальні інтерфейси шасі для пристрою (ідентіфікатор)" +msgstr "Віртуальні інтерфейси шасі для пристрою (ідентифікатор)" #: netbox/dcim/filtersets.py:1671 msgid "Kind of interface" @@ -3333,15 +3345,15 @@ msgstr "Вид інтерфейсу" #: netbox/dcim/filtersets.py:1676 netbox/virtualization/filtersets.py:293 msgid "Parent interface (ID)" -msgstr "Батьківський інтерфейс (ідентіфікатор)" +msgstr "Батьківський інтерфейс (ідентифікатор)" #: netbox/dcim/filtersets.py:1681 netbox/virtualization/filtersets.py:298 msgid "Bridged interface (ID)" -msgstr "Мостовий інтерфейс (ідентіфікатор)" +msgstr "Мостовий інтерфейс (ідентифікатор)" #: netbox/dcim/filtersets.py:1686 msgid "LAG interface (ID)" -msgstr "Інтерфейс LAG (ідентіфікатор)" +msgstr "Інтерфейс LAG (ідентифікатор)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 #: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 @@ -3359,7 +3371,7 @@ msgstr "Контекст віртуального пристрою (іденти msgid "Wireless LAN" msgstr "Бездротова локальна мережа" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "Бездротова зв'язок" @@ -3369,11 +3381,11 @@ msgstr "Відсік батьківського модуля (iдентифік #: netbox/dcim/filtersets.py:1808 msgid "Installed module (ID)" -msgstr "Встановлений модуль (ідентіфікатор)" +msgstr "Встановлений модуль (ідентифікатор)" #: netbox/dcim/filtersets.py:1819 msgid "Installed device (ID)" -msgstr "Встановлений пристрій (ідентіфікатор)" +msgstr "Встановлений пристрій (ідентифікатор)" #: netbox/dcim/filtersets.py:1825 msgid "Installed device (name)" @@ -3381,18 +3393,18 @@ msgstr "Встановлений пристрій (назва)" #: netbox/dcim/filtersets.py:1891 msgid "Master (ID)" -msgstr "Майстер (ідентіфікатор)" +msgstr "Майстер (ідентифікатор)" #: netbox/dcim/filtersets.py:1897 msgid "Master (name)" msgstr "Майстер (ім'я)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" -msgstr "Орендар (ідентіфікатор)" +msgstr "Орендар (ідентифікатор)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "Орендар (скоречення)" @@ -3402,7 +3414,7 @@ msgstr "Незакінчений" #: netbox/dcim/filtersets.py:2239 msgid "Power panel (ID)" -msgstr "Панель живлення (ідентіфікатор)" +msgstr "Панель живлення (ідентифікатор)" #: netbox/dcim/forms/bulk_create.py:40 netbox/extras/forms/filtersets.py:401 #: netbox/extras/forms/model_forms.py:567 @@ -3419,7 +3431,7 @@ msgstr "Мітки" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3468,8 +3480,8 @@ msgstr "Часовий пояс" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3533,7 +3545,7 @@ msgstr "Глибина монтажу" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3594,8 +3606,8 @@ msgstr "Нумерація" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3703,12 +3715,12 @@ msgstr "Номер партії" msgid "U height" msgstr "Висота U" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "Виключити з утилізації" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3731,7 +3743,7 @@ msgstr "Шасі" #: netbox/dcim/forms/bulk_edit.py:610 netbox/dcim/models/devices.py:484 #: netbox/dcim/tables/devices.py:67 msgid "VM role" -msgstr "Роль ВМ" +msgstr "Роль віртуальної машини" #: netbox/dcim/forms/bulk_edit.py:613 netbox/dcim/forms/bulk_edit.py:637 #: netbox/dcim/forms/bulk_edit.py:720 netbox/dcim/forms/bulk_import.py:434 @@ -3797,10 +3809,10 @@ msgstr "Платформа" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3927,8 +3939,8 @@ msgid "Maximum draw" msgstr "Максимальна потужність" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "Максимальна споживана потужність (Вт)" @@ -3937,8 +3949,8 @@ msgid "Allocated draw" msgstr "Виділена потужність" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "Виділена споживана потужність (Вт)" @@ -3959,16 +3971,16 @@ msgstr "Тільки управління" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "Режим PoE" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "Тип PoE" @@ -3992,7 +4004,7 @@ msgstr "Бездротова роль" msgid "Module" msgstr "Модуль" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "LAG" @@ -4004,7 +4016,7 @@ msgstr "Контексти віртуальних пристроїв" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4051,7 +4063,7 @@ msgid "Wireless LAN group" msgstr "Група бездротової локальної мережі" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4441,7 +4453,7 @@ msgstr "Відповідний задній порт" msgid "Physical medium classification" msgstr "Класифікація фізичного середовища" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "Встановлений пристрій" @@ -4480,7 +4492,7 @@ msgstr "Компонент не знайдено: {device} - {component_name}" #: netbox/dcim/forms/bulk_import.py:1171 msgid "Side A device" -msgstr "Пристрій сторона А" +msgstr "Сторона А пристрою" #: netbox/dcim/forms/bulk_import.py:1174 netbox/dcim/forms/bulk_import.py:1192 msgid "Device name" @@ -4530,7 +4542,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} кінцева сторона не знайдена: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4582,7 +4594,7 @@ msgstr "Первинний IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "IPv6 адреса з довжиною префікса, наприклад 2001:db8: :1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4596,7 +4608,8 @@ msgid "" "parent device/VM, or they must be global" msgstr "" "Позначені мітками VLAN ({vlans}) повинні належати тому ж тех. майданчику, що" -" і батьківський пристрой/VM інтерфейсу, або вони повинні бути глобальними" +" і батьківський пристрій/інтерфейсу віртуальної машини, або вони повинні " +"бути глобальними" #: netbox/dcim/forms/common.py:126 msgid "" @@ -4745,7 +4758,7 @@ msgid "Mgmt only" msgstr "Тільки управління" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN (унікальний ідентифікатор)" @@ -4778,7 +4791,7 @@ msgstr "Потужність передачі (дБм)" msgid "Cable" msgstr "Кабель" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "Виявлено" @@ -4928,7 +4941,7 @@ msgid "Front Port" msgstr "Передній порт" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5066,7 +5079,7 @@ msgstr "" "Кількість передніх портів, які потрібно створити ({frontport_count}) повинен" " відповідати вибраній кількості позицій портів ззаду ({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5091,7 +5104,7 @@ msgstr "Посада повинна бути вказана для першог #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "етикетка" @@ -5195,7 +5208,7 @@ msgstr "" " модуля." #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "Фізична етикетка" @@ -5218,139 +5231,139 @@ msgid "" msgstr "" "Шаблон компонента повинен бути пов'язаний з типом пристрою або типом модуля." -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "шаблон порту консолі" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "шаблони портів консолі" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "шаблон порту консольного сервера" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "шаблони портів консольного сервера" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "максимальна потужність" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "виділена потужність" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "шаблон порту живлення" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "шаблони портів живлення" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "" "Виділена потужність не може перевищувати максимальну потужність " "({maximum_draw}W)." -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "фідер живлення" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "Фаза (для трифазних подач)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "шаблон розетки" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "шаблони розеток" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" "Батьківський порт живлення ({power_port}) повинні належати до одного типу " "пристрою" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" "Батьківський порт живлення ({power_port}) повинні належати до одного типу " "модуля" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "тільки управління" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "інтерфейс моста" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "бездротова роль" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "шаблон інтерфейсу" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "шаблони інтерфейсу" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "Інтерфейс не може бути з'єднаний мостом з собою." -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "" "Інтерфейс моста ({bridge}) повинні складатися з пристроїв одного типу " -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "Інтерфейс моста ({bridge}) повинні складатися з модулів одного типу " -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "положення порту ззаду" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "шаблон переднього порту" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "шаблони передніх портів" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "Задній порт ({name}) повинні належати до одного типу пристрою" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " @@ -5359,47 +5372,47 @@ msgstr "" "Невірна позиція порту ззаду ({position}); порт ззаду {name} має тільки " "{count} позиції" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "позиції" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "шаблон порту ззаду" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "шаблони портів ззаду" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "позиції" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "" "Ідентифікатор для посилання при перейменуванні встановлених компонентів" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "шаблон відсіку модуля" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "шаблони відсіків модулів" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "шаблон відсіку пристрою" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "шаблони відсіків пристроїв" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " @@ -5408,211 +5421,211 @@ msgstr "" "Роль підпристрою типу пристрою ({device_type}) має бути встановлено значення" " \"батько\", щоб дозволити відсіки пристрою." -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "Ідентифікатор частини" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "Ідентифікатор деталі, призначений виробником" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "шаблон елемента інвентаря" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "шаблони елемента інвентаря" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "Компоненти не можна переміщати на інший пристрій." -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "кінець кабелю" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "позначка підключена" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "Ставтеся так, ніби підключений кабель" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "Необхідно вказати кінець кабелю (А або Б) при приєднанні кабелю." -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "Кінець кабелю не можна встановлювати без кабелю." -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "Не можна позначити як з'єднаний із приєднаним вже кабелем." -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "" "{class_name} моделі повинні спочатку оголосити властивість parent_object" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "Фізичний тип порту" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "швидкість" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "Швидкість порту в бітах в секунду" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "консольний порт" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "консольні порти" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "порт консольного сервера" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "порти консольного сервера" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "порт живлення" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "порти живлення" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "розетка" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "розетки" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" "Батьківський порт живлення ({power_port}) повинні належати до одного і того " "ж пристрою" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "режим" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "Стратегія міток IEEE 802.1Q" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "батьківський інтерфейс" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "батьківський LAG" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "" "Цей інтерфейс використовується лише для зовнішнього незалежного керування" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "швидкість (Кбіт/с)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "дуплекс" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64-розрядна всесвітня назва" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "бездротовий канал" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "частота каналу (МГц)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "Заповнюється вибраним каналом (якщо встановлено)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "потужність передачі (дБм)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "бездротові локальні мережі" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "VLAN без міток" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "VLAN'и з мітками" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "інтерфейс" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "інтерфейси" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type} інтерфейси не можуть мати приєднаний кабель." -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type} інтерфейси не можуть бути позначені як підключені." -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "Інтерфейс не може бути власним батьківським." -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "" "Тільки віртуальні інтерфейси можуть бути призначені батьківському " "інтерфейсу." -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " @@ -5621,7 +5634,7 @@ msgstr "" "Вибраний батьківський інтерфейс ({interface}) належить до іншого пристрою " "({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to {device}, which is " @@ -5630,7 +5643,7 @@ msgstr "" "Вибраний батьківський інтерфейс ({interface}) належить {device}, яка не є " "частиною віртуального шасі {virtual_chassis}." -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " @@ -5638,7 +5651,7 @@ msgid "" msgstr "" "Вибраний інтерфейс моста ({bridge}) належить до іншого пристрою ({device})." -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, python-brace-format msgid "" "The selected bridge interface ({interface}) belongs to {device}, which is " @@ -5647,22 +5660,22 @@ msgstr "" "Вибраний інтерфейс моста ({interface}) належить {device}, який не є частиною" " віртуального шасі {virtual_chassis}." -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "Віртуальні інтерфейси не можуть бути батьківським інтерфейсом LAG." -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "Інтерфейс LAG не може бути власним батьківським інтерфейсом." -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "" "Вибраний інтерфейс LAG ({lag}) належить до іншого пристрою ({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to {device}, which is not part of" @@ -5671,49 +5684,49 @@ msgstr "" "Вибраний інтерфейс LAG ({lag}) належить {device}, який не є частиною " "віртуального шасі {virtual_chassis}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "Віртуальні інтерфейси не можуть мати режим PoE." -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "Віртуальні інтерфейси не можуть мати тип PoE." -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "Необхідно вказати режим PoE при створенні інтерфейсу типу PoE." -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "" "Роль бездротового зв'язку може бути встановлена тільки на бездротових " "інтерфейсах." -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "Канал (Wi-Fi) можна встановлювати тільки на бездротових інтерфейсах." -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "" "Частота каналу (Wi-Fi) може встановлюватися тільки на бездротових " "інтерфейсах." -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "Неможливо вказати користувацьку частоту при вибраному каналі (Wi-Fi)." -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "" "Ширина каналу (Wi-Fi) може бути встановлена тільки на бездротових " "інтерфейсах." -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "Неможливо вказати користувацьку ширину при вибраному каналі." -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, python-brace-format msgid "" "The untagged VLAN ({untagged_vlan}) must belong to the same site as the " @@ -5722,24 +5735,24 @@ msgstr "" "VLAN без міток ({untagged_vlan}) повинен належати тому ж тех. майданчику, що" " і батьківський пристрій інтерфейсу, або ж він повинен бути глобальним." -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "Відображене положення на відповідному порті ззаду" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "передній порт" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "передні порти" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "Порт ззаду ({rear_port}) повинні належати до одного і того ж пристрою" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" @@ -5748,19 +5761,19 @@ msgstr "" "Невірна позиція порту ззаду ({rear_port_position}): порт ззаду {name} має " "тільки {positions} позицій." -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "Кількість передніх портів, які можуть бути відображені" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "порт ззаду" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "порти ззаду" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" @@ -5769,38 +5782,38 @@ msgstr "" "Кількість позицій не може бути меншою за кількість відображених фронтальних " "портів ({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "відсік модуля" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "відсіки модуля" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "Відсік модуля не може належати модулю, встановленому в ньому." -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "відсік пристрою" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "відсіки для пристроїв" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "" "Даний тип пристрою ({device_type}) не підтримує відсіки для пристроїв." -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "Не вдається встановити пристрій в себе." -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." @@ -5808,61 +5821,61 @@ msgstr "" "Не вдається встановити вказаний пристрій, бо пристрій вже встановлено в " "{bay}." -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "роль елемента інвентаря" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "ролі елемента інвентаря" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "серійний номер" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "призначеня мітки" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "" "Унікальна мітка, яка використовується для ідентифікації цього елемента" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "виявлено" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "Цей елемент був автоматично виявлений" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "елемент інвентаря" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "елементи інвентаря" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "Не вдається призначити себе батьком." -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "Батьківський елемент інвентаря не належить до одного пристрою." -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "Не можливо переміщати елемент інвентаря з підпорядкованим елементом" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "Не можливо призначати елемент інвентаря компоненту у іншому пристрої" @@ -6010,7 +6023,7 @@ msgstr "Функція, яку виконує цей пристрій" msgid "Chassis serial number, assigned by the manufacturer" msgstr "Серійний номер шасі, наданий виробником" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "" "Унікальна мітка, яка використовується для ідентифікації цього пристрою" @@ -6023,12 +6036,12 @@ msgstr "позиція (юніт)" msgid "rack face" msgstr "лицева частина стійки" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "первинний IPv4" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "первинний IPv6" @@ -6051,7 +6064,7 @@ msgstr "Пріоритет віртуального шасі" #: netbox/dcim/models/devices.py:713 msgid "Virtual chassis master election priority" -msgstr "Пріоритет виборів віртуального шасі" +msgstr "Пріоритет виборів майстра віртуального шасі" #: netbox/dcim/models/devices.py:716 netbox/dcim/models/sites.py:207 msgid "latitude" @@ -6179,15 +6192,24 @@ msgstr "" "Для пристрія, призначеного для віртуального шасі, повинно бути задане " "положення." -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "" +"Пристрій неможливо видалити з віртуального шасі {virtual_chassis} тому, що в" +" даний час він призначений майстром." + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "модуль" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "модулі" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " @@ -6196,21 +6218,21 @@ msgstr "" "Модуль повинен бути встановлений у відсіку модуля, що належить призначеному " "пристрою ({device})." -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "домен" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" -msgstr "віртуальне шасі" +msgstr "віртуальні шасі" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "Обраний майстер ({master}) не присвоюється цьому віртуальному шасі." -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " @@ -6219,34 +6241,34 @@ msgstr "" "Неможливо видалити віртуальне шасі {self}. Існують мережеві інтерфейси, які " "утворюють інтерфейси LAG між шасі." -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "ідентифікатор" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "Числовий ідентифікатор, унікальний для батьківського пристрою" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "коментарі" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "контекст віртуального пристрою" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "контексти віртуальних пристроїв" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} не є IPv{family} адресой." -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "" "Первинна IP-адреса повинна належати інтерфейсу на призначеному пристрої." @@ -6681,7 +6703,7 @@ msgstr "Шаблон конфігурації" msgid "Site Group" msgstr "Група тех. майданчиків" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6690,12 +6712,12 @@ msgstr "Група тех. майданчиків" msgid "IP Address" msgstr "IP-адреса" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Адреса IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Адреса IPv6" @@ -6733,8 +6755,8 @@ msgstr "Порти живлення" msgid "Power outlets" msgstr "Розетки" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6772,8 +6794,8 @@ msgstr "Елементи інвентаря" msgid "Module Bay" msgstr "Резервуар модулів" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6818,7 +6840,7 @@ msgstr "IP-адреси" #: netbox/dcim/tables/devices.py:564 netbox/netbox/navigation/menu.py:202 #: netbox/templates/ipam/inc/panels/fhrp_groups.html:6 msgid "FHRP Groups" -msgstr "Групи FHRP" +msgstr "Групи FHRP/VRRP" #: netbox/dcim/tables/devices.py:576 netbox/templates/dcim/interface.html:89 #: netbox/templates/virtualization/vminterface.html:67 @@ -6831,75 +6853,75 @@ msgstr "Групи FHRP" msgid "Tunnel" msgstr "Тунель" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "Тільки управління" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "Джерела живлення постійного струму " -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Встановлений модуль" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "Послідовний модуль " -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "Призначеня мітки на модуль" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "Статус модуля" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Компонент" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "Предмети" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "Типи пристроїв" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "Типи модулів" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "Платформи" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "Платформа за замовчуванням" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "Повна глибина" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "Висота юніта" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "Екземпляри" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6910,7 +6932,7 @@ msgstr "Екземпляри" msgid "Console Ports" msgstr "Консольні порти" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6921,7 +6943,7 @@ msgstr "Консольні порти" msgid "Console Server Ports" msgstr "Порти консольного сервера" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6932,7 +6954,7 @@ msgstr "Порти консольного сервера" msgid "Power Ports" msgstr "Порти живлення" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6943,7 +6965,7 @@ msgstr "Порти живлення" msgid "Power Outlets" msgstr "Розетки" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6953,7 +6975,7 @@ msgstr "Розетки" msgid "Front Ports" msgstr "Передні порти" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6964,7 +6986,7 @@ msgstr "Передні порти" msgid "Rear Ports" msgstr "Задні порти" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6972,7 +6994,7 @@ msgstr "Задні порти" msgid "Device Bays" msgstr "Відсіки для пристроїв" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7413,26 +7435,26 @@ msgstr "Тип віджету" msgid "Unregistered widget class: {name}" msgstr "Незареєстрований клас віджетів: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name} повинен визначити метод render()." -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "Примітка" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" "Відображення будь-якого довільного користувацького вмісту. Підтримується " "розмітка Markdown." -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "Кількість об'єктів" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." @@ -7440,59 +7462,59 @@ msgstr "" "Відображення набору моделей NetBox та кількості об'єктів, створених для " "кожного типу." -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "Фільтри, які застосовуються при підрахунку кількості об'єктів" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "Невірний формат. Фільтри об'єктів повинні бути передані як словник." -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "Список об'єктів" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "Відображення довільного списку об'єктів." -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "Типова кількість об'єктів для відображення" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "" "Невірний формат. Параметри URL-адреси повинні бути передані як словник." -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "RSS-канал" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "Вбудовувати RSS-канал із зовнішнього веб-сайту." -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "URL-адреса каналу" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "Максимальна кількість об'єктів для відображення" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "Як довго зберігати кешований вміст (в секундах)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "Закладки" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "Показувати особисті закладки" @@ -7508,12 +7530,12 @@ msgstr "Не вдається імпортувати конвеєр подій { #: netbox/extras/filtersets.py:45 msgid "Script module (ID)" -msgstr "Модуль сценарію (ідентіфікатор)" +msgstr "Модуль сценарію (ідентифікатор)" #: netbox/extras/filtersets.py:254 netbox/extras/filtersets.py:637 #: netbox/extras/filtersets.py:665 msgid "Data file (ID)" -msgstr "Файл даних (ідентіфікатор)" +msgstr "Файл даних (ідентифікатор)" #: netbox/extras/filtersets.py:370 netbox/users/filtersets.py:68 #: netbox/users/filtersets.py:191 @@ -7535,8 +7557,8 @@ msgstr "Кластерний тип (скоречення)" msgid "Tenant group" msgstr "Група орендарів" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "Група орендарів (скоречення)" @@ -7673,7 +7695,7 @@ msgstr "Активний" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "Типи об'єктів" @@ -7774,8 +7796,8 @@ msgstr "Класифікація вступу" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "Користувачі" @@ -7787,8 +7809,8 @@ msgstr "Імена користувачів, розділені комами, у #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "Групи" @@ -8027,15 +8049,15 @@ msgstr "Вибір дії" #: netbox/extras/forms/model_forms.py:385 msgid "Enter conditions in JSON format." -msgstr "Введіть умови в JSON формат." +msgstr "Введіть умови в JSON форматі." #: netbox/extras/forms/model_forms.py:389 msgid "" "Enter parameters to pass to the action in JSON format." msgstr "" -"Введіть параметри для переходу до дії JSON" -" формат." +"Введіть параметри для переходу до дії у JSON форматі." #: netbox/extras/forms/model_forms.py:394 #: netbox/templates/extras/eventrule.html:10 @@ -8322,7 +8344,7 @@ msgid "" "values to exactly three uppercase letters." msgstr "" "Регулярний вираз для застосування значень текстових полів. Використовуйте ^ " -"і $ для примусового збігу всього рядка. Наприклад, ^ [А-З]{3}$ " +"і $ для примусового збігу всього рядка. Наприклад, ^ [А-Z]{3}$ " "обмежить значення рівно трьома великими літерами." #: netbox/extras/models/customfields.py:201 @@ -8506,10 +8528,19 @@ msgstr "набір вибору користувацького поля" msgid "custom field choice sets" msgstr "набори вибору користувацького поля" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "Повинен визначити базовий або додатковий вибори." +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "" +"Не вдається видалити вибір {choice} так, як є {model} об'єкти, які " +"посилаються на нього." + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "макет" @@ -8557,11 +8588,11 @@ msgstr "Додаткові дані для передачі об'єкту дії #: netbox/extras/models/models.py:116 msgid "event rule" -msgstr "спрацьовує правило" +msgstr "правило події" #: netbox/extras/models/models.py:117 msgid "event rules" -msgstr "спрацьовує правила" +msgstr "правила подій" #: netbox/extras/models/models.py:166 msgid "" @@ -8627,7 +8658,7 @@ msgid "" "the key. The secret is not transmitted in the request." msgstr "" "Якщо буде надано, запит буде містити X-Hook-підпис заголовок, " -"що містить шестигранний дайджест HMAC тіла корисного навантаження з " +"що містить шістнадцядковий дайджест HMAC тіла корисного навантаження з " "використанням секрету як ключа. Таємниця не передається у запиті." #: netbox/extras/models/models.py:215 @@ -8660,7 +8691,7 @@ msgstr "Не вказуйте файл сертифіката CA, якщо пе #: netbox/extras/models/models.py:293 msgid "The object type(s) to which this link applies." -msgstr "Тип (и) об'єкта, до яких застосовується це посилання." +msgstr "Тип(и) об'єкта, до яких застосовується це посилання." #: netbox/extras/models/models.py:305 msgid "link text" @@ -8700,7 +8731,7 @@ msgstr "користувацькі посилання" #: netbox/extras/models/models.py:389 msgid "The object type(s) to which this template applies." -msgstr "Тип (и) об'єкта, до яких застосовується цей шаблон." +msgstr "Тип(и) об'єкта, до яких застосовується цей шаблон." #: netbox/extras/models/models.py:402 msgid "" @@ -8745,7 +8776,7 @@ msgstr "\"{name}\" - це зарезервована назва. Будь лас #: netbox/extras/models/models.py:498 msgid "The object type(s) to which this filter applies." -msgstr "Тип (и) об'єкта, до яких застосовується цей фільтр." +msgstr "Тип(и) об'єкта, до яких застосовується цей фільтр." #: netbox/extras/models/models.py:530 msgid "shared" @@ -8922,7 +8953,7 @@ msgstr "поетапні зміни" #: netbox/extras/models/tags.py:40 msgid "The object type(s) to which this tag can be applied." -msgstr "Тип (и) об'єкта, до яких можна застосувати цю позначку." +msgstr "Тип(и) об'єкта, до яких можна застосувати цю позначку." #: netbox/extras/models/tags.py:49 msgid "tag" @@ -9081,65 +9112,65 @@ msgstr "Повідомлення" msgid "Method" msgstr "Метод" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "Переконайтеся, що це значення дорівнює %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "Переконайтеся, що це значення не дорівнює %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "Це поле має бути порожнім." -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "Це поле не повинно бути порожнім." -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "Правила перевірки повинні бути передані як словник" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "" "Користувацька перевірка зіткнулася з невдачею через{attribute}: {exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "Невірний атрибут \"{name}\" за запитом" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "Невірний атрибут \"{name}\" для {model}" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "Ваша інформаційна панель була скинута." -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "Доданий віджет: " -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "Оновлений віджет: " -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "Видалений віджет: " -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "Помилка при видаленні віджета: " -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "Неможливо запустити скрипт: робочий процес RQ не запущений." @@ -9207,19 +9238,19 @@ msgstr "Простий текст" msgid "Invalid IP address format: {address}" msgstr "Невірний формат IP-адреси: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "Імпортувати ціль" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "Імпорт цілі (назва)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "Ціль експорту" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "Ціль експорту (назва)" @@ -9264,7 +9295,7 @@ msgstr "Префікс" #: netbox/ipam/filtersets.py:159 netbox/ipam/filtersets.py:198 #: netbox/ipam/filtersets.py:221 msgid "RIR (ID)" -msgstr "RIR (ідентіфікатор)" +msgstr "RIR (ідентифікатор)" #: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204 #: netbox/ipam/filtersets.py:227 @@ -9281,7 +9312,7 @@ msgstr "Всередині та включаючи префікс" #: netbox/ipam/filtersets.py:293 msgid "Prefixes which contain this prefix or IP" -msgstr "Префікси, які містять цей префікс або IP" +msgstr "Мережеві префікси, які містять цей префікс або IP" #: netbox/ipam/filtersets.py:304 netbox/ipam/filtersets.py:572 #: netbox/ipam/forms/bulk_edit.py:342 netbox/ipam/forms/filtersets.py:196 @@ -9289,11 +9320,11 @@ msgstr "Префікси, які містять цей префікс або IP" msgid "Mask length" msgstr "Довжина маски" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" -msgstr "VLAN (ідентіфікатор)" +msgstr "VLAN (ідентифікатор)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "Номер VLAN (1-4094)" @@ -9313,33 +9344,33 @@ msgid "Parent prefix" msgstr "Батьківський префікс" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "Віртуальна машина (назва)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" -msgstr "Віртуальна машина (ідентіфікатор)" +msgstr "Віртуальна машина (ідентифікатор)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "Інтерфейс (назва)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" -msgstr "Інтерфейс VM (назва)" +msgstr "Інтерфейс віртуальної машини (назва)" #: netbox/ipam/filtersets.py:643 netbox/vpn/filtersets.py:113 msgid "VM interface (ID)" -msgstr "Інтерфейс VM (ідентіфікатор)" +msgstr "Інтерфейс віртуальної машини (ідентифікатор)" #: netbox/ipam/filtersets.py:648 msgid "FHRP group (ID)" -msgstr "Група FHRP (ідентіфікатор)" +msgstr "Група FHRP/VRRP (ідентифікатор)" #: netbox/ipam/filtersets.py:652 msgid "Is assigned to an interface" @@ -9351,25 +9382,33 @@ msgstr "призначається" #: netbox/ipam/filtersets.py:668 msgid "Service (ID)" -msgstr "Сервіс (ідентіфікатор)" +msgstr "Сервіс (ідентифікатор)" #: netbox/ipam/filtersets.py:673 msgid "NAT inside IP address (ID)" -msgstr "NAT всередині IP-адреси (ідентіфікатор)" +msgstr "NAT всередині IP-адреси (ідентифікатор)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "Призначений інтерфейс" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "Призначений інтерфейс віртуальної машини" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" -msgstr "IP-адреса (ідентіфікатор)" +msgstr "IP-адреса (ідентифікатор)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "IP-адреса" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" -msgstr "Первинний IPv4 (ідентіфікатор)" +msgstr "Первинний IPv4 (ідентифікатор)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "Первинний IPv6 (ідентифікатор)" @@ -9583,10 +9622,6 @@ msgstr "Віртуальна машина" msgid "Parent VM of assigned interface (if any)" msgstr "Батьківська віртуальна машина призначеного інтерфейсу (якщо є)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "Призначений інтерфейс" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "Є первинним" @@ -9632,7 +9667,7 @@ msgstr "Обов'язково, якщо пристрій не призначен #: netbox/ipam/forms/bulk_import.py:517 #, python-brace-format msgid "{ip} is not assigned to this device/VM." -msgstr "{ip} не призначається цьому пристрою/VM." +msgstr "{ip} не призначається цьому пристрою/віртуальній машині." #: netbox/ipam/forms/filtersets.py:47 netbox/ipam/forms/model_forms.py:63 #: netbox/netbox/navigation/menu.py:189 netbox/vpn/forms/model_forms.py:410 @@ -9689,7 +9724,7 @@ msgstr "Присутній у VRF" #: netbox/ipam/forms/filtersets.py:311 msgid "Device/VM" -msgstr "Пристрой/VM" +msgstr "Пристрій/віртуальна машина" #: netbox/ipam/forms/filtersets.py:321 msgid "Parent Prefix" @@ -9701,7 +9736,7 @@ msgstr "Призначений пристрій" #: netbox/ipam/forms/filtersets.py:352 msgid "Assigned VM" -msgstr "Призначена VM" +msgstr "Призначена віртуальна машина" #: netbox/ipam/forms/filtersets.py:366 msgid "Assigned to an interface" @@ -9772,7 +9807,7 @@ msgstr "Діапазон IP" #: netbox/ipam/forms/model_forms.py:473 #: netbox/templates/ipam/fhrpgroup.html:19 msgid "FHRP Group" -msgstr "Група ФРП" +msgstr "Група FHRP/VRRP" #: netbox/ipam/forms/model_forms.py:310 msgid "Make this the primary IP for the device/VM" @@ -9902,19 +9937,19 @@ msgstr "ключ аутентифікації" #: netbox/ipam/models/fhrp.py:56 msgid "FHRP group" -msgstr "Група ФГРП" +msgstr "Група FHRP/VRRP" #: netbox/ipam/models/fhrp.py:57 msgid "FHRP groups" -msgstr "Групи FHRP" +msgstr "Групи FHRP/VRRP" #: netbox/ipam/models/fhrp.py:113 msgid "FHRP group assignment" -msgstr "Групове призначення FHRP" +msgstr "Групове призначення FHRP/VRRP" #: netbox/ipam/models/fhrp.py:114 msgid "FHRP group assignments" -msgstr "Групові завдання FHRP" +msgstr "Групові призначення FHRP/VRRP" #: netbox/ipam/models/ip.py:65 msgid "private" @@ -9946,7 +9981,7 @@ msgstr "сукупний" #: netbox/ipam/models/ip.py:116 msgid "aggregates" -msgstr "агрегати" +msgstr "агреговані мережі" #: netbox/ipam/models/ip.py:132 msgid "Cannot create aggregate with /0 mask." @@ -9967,8 +10002,8 @@ msgid "" "Prefixes cannot overlap aggregates. {prefix} covers an existing aggregate " "({aggregate})." msgstr "" -"Префікси не можуть перекривати агрегати. {prefix} охоплює існуючий агрегат " -"({aggregate})." +"Мережеві префікси не можуть перекривати агрегати. {prefix} охоплює існуючий " +"агрегат ({aggregate})." #: netbox/ipam/models/ip.py:200 netbox/ipam/models/ip.py:737 #: netbox/vpn/models/tunnels.py:114 @@ -10009,7 +10044,7 @@ msgstr "використовувана марка" #: netbox/ipam/models/ip.py:294 msgid "prefixes" -msgstr "префікси" +msgstr "мережеві префікси" #: netbox/ipam/models/ip.py:317 msgid "Cannot create prefix with /0 mask." @@ -10292,7 +10327,7 @@ msgstr "Додано" #: netbox/netbox/navigation/menu.py:165 netbox/netbox/navigation/menu.py:167 #: netbox/templates/ipam/vlan.html:84 msgid "Prefixes" -msgstr "Префікси" +msgstr "Мережеві префікси" #: netbox/ipam/tables/ip.py:131 netbox/ipam/tables/ip.py:270 #: netbox/ipam/tables/ip.py:324 netbox/ipam/tables/vlans.py:86 @@ -10397,7 +10432,7 @@ msgstr "" #: netbox/ipam/views.py:533 msgid "Child Prefixes" -msgstr "Дитячі префікси" +msgstr "Підпорядковані мережеві префікси" #: netbox/ipam/views.py:569 msgid "Child Ranges" @@ -10413,7 +10448,7 @@ msgstr "Інтерфейси пристроїв" #: netbox/ipam/views.py:1145 msgid "VM Interfaces" -msgstr "Інтерфейси VM" +msgstr "Інтерфейси віртуальної машини" #: netbox/netbox/api/fields.py:65 msgid "This field may not be blank." @@ -10755,7 +10790,7 @@ msgstr "Регекс" #: netbox/netbox/forms/__init__.py:34 msgid "Object type(s)" -msgstr "Тип (и) об'єкта" +msgstr "Тип(и) об'єкта" #: netbox/netbox/forms/__init__.py:40 msgid "Lookup" @@ -10862,7 +10897,7 @@ msgstr "Ролі в стійці" #: netbox/netbox/navigation/menu.py:54 msgid "Elevations" -msgstr "Піднесення" +msgstr "Графічний вид" #: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 msgid "Rack Types" @@ -10900,7 +10935,7 @@ msgstr "Кабелі" #: netbox/netbox/navigation/menu.py:118 msgid "Wireless Links" -msgstr "Бездротові посилання" +msgstr "Бездротові зв'язки" #: netbox/netbox/navigation/menu.py:121 msgid "Interface Connections" @@ -11148,11 +11183,11 @@ msgstr "Адміністратор" #: netbox/netbox/navigation/menu.py:430 netbox/templates/account/base.html:27 #: netbox/templates/inc/user_menu.html:57 msgid "API Tokens" -msgstr "Токени API" +msgstr "Жетони API" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "Дозволи" @@ -11167,7 +11202,7 @@ msgstr "Система" #: netbox/templates/core/plugin_list.html:7 #: netbox/templates/core/plugin_list.html:12 msgid "Plugins" -msgstr "плагіни" +msgstr "Плагіни" #: netbox/netbox/navigation/menu.py:459 msgid "Configuration History" @@ -11301,63 +11336,63 @@ msgstr "Не вдається додати магазини до реєстру msgid "Cannot delete stores from registry" msgstr "Неможливо видалити магазини з реєстру" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "Чеська мова" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "Данська мова" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "Німецька мова" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "Англійська мова" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "Іспанська мова" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "Французька мова" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "Італійська мова" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "Японська мова" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "Голландська мова" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "Польська мова" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "Португальська мова" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "Російська мова" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "Турецька мова" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "Українська мова" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "Китайська мова" @@ -11380,7 +11415,7 @@ msgstr "Помилка" #: netbox/netbox/tables/tables.py:58 #, python-brace-format msgid "No {model_name} found" -msgstr "Ні {model_name} знайдено" +msgstr "{model_name} не знайдено" #: netbox/netbox/tables/tables.py:249 #: netbox/templates/generic/bulk_import.html:117 @@ -11540,7 +11575,7 @@ msgstr "Підписки" #: netbox/templates/account/base.html:19 #: netbox/templates/inc/user_menu.html:54 msgid "Preferences" -msgstr "Уподобання" +msgstr "Налаштування" #: netbox/templates/account/password.html:5 msgid "Change Password" @@ -11689,7 +11724,7 @@ msgstr "Недавня діяльність" #: netbox/templates/account/token.html:8 #: netbox/templates/account/token_list.html:6 msgid "My API Tokens" -msgstr "Мої токени API" +msgstr "Мої жетони API" #: netbox/templates/account/token.html:11 #: netbox/templates/account/token.html:19 netbox/templates/users/token.html:6 @@ -11725,12 +11760,12 @@ msgstr "Логотип NetBox" #: netbox/templates/base/layout.html:150 netbox/templates/base/layout.html:151 msgid "Docs" -msgstr "Документи" +msgstr "Документація" #: netbox/templates/base/layout.html:156 netbox/templates/base/layout.html:157 #: netbox/templates/rest_framework/api.html:10 msgid "REST API" -msgstr "РЕШТА API" +msgstr "REST API" #: netbox/templates/base/layout.html:162 netbox/templates/base/layout.html:163 msgid "REST API documentation" @@ -11738,7 +11773,7 @@ msgstr "Документація REST API" #: netbox/templates/base/layout.html:169 netbox/templates/base/layout.html:170 msgid "GraphQL API" -msgstr "графічний інтерфейс QL" +msgstr "Графічний інтерфейс QL" #: netbox/templates/base/layout.html:185 netbox/templates/base/layout.html:186 msgid "NetBox Labs Support" @@ -11776,11 +11811,11 @@ msgstr "Поміняти місцями кінці для каналу зв'яз #: netbox/templates/circuits/circuit_terminations_swap.html:14 msgid "A side" -msgstr "Сторона" +msgstr "Сторона А" #: netbox/templates/circuits/circuit_terminations_swap.html:22 msgid "Z side" -msgstr "Z сторона" +msgstr "Сторона Б" #: netbox/templates/circuits/circuitgroup.html:16 msgid "Assign Circuit" @@ -12014,7 +12049,7 @@ msgstr "Максимальний розмір сторінки" #: netbox/templates/core/inc/config_data.html:114 msgid "User preferences" -msgstr "Уподобання користувача" +msgstr "Налаштування користувача" #: netbox/templates/core/inc/config_data.html:141 msgid "Job retention" @@ -12625,7 +12660,7 @@ msgstr "Додати пристрій" #: netbox/templates/dcim/devicerole.html:40 msgid "VM Role" -msgstr "Роль ВМ" +msgstr "Роль віртуальної машини" #: netbox/templates/dcim/devicetype.html:18 #: netbox/templates/dcim/moduletype.html:18 @@ -12672,11 +12707,11 @@ msgstr "Статус підключення" #: netbox/templates/dcim/htmx/cable_edit.html:10 msgid "A Side" -msgstr "Сторона" +msgstr "Сторона А" #: netbox/templates/dcim/htmx/cable_edit.html:30 msgid "B Side" -msgstr "B Сторона" +msgstr "Сторона Б" #: netbox/templates/dcim/inc/cable_termination.html:65 msgid "No termination" @@ -13031,7 +13066,7 @@ msgstr "Додати нового учасника" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "Дії" @@ -13797,7 +13832,7 @@ msgstr "Пов'язані об'єкти" #: netbox/templates/inc/panels/tags.html:11 msgid "No tags assigned" -msgstr "Не зроблені позначки" +msgstr "Немає зроблених позначок" #: netbox/templates/inc/sync_warning.html:10 msgid "Data is out of sync with upstream file" @@ -14083,7 +14118,7 @@ msgstr "" "Клацніть тут щоб спробувати завантажити NetBox " "знову." -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -14112,7 +14147,7 @@ msgid "Add Contact Group" msgstr "Додати групу контактів" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "Контактна роль" @@ -14150,7 +14185,7 @@ msgid "View" msgstr "Перегляд" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "Обмеження" @@ -14177,11 +14212,6 @@ msgstr "Пам'ять" msgid "Disk Space" msgstr "Місце на диску" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "ГБ" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "Додати віртуальну машину" @@ -14386,7 +14416,7 @@ msgstr "Шифр" #: netbox/templates/wireless/inc/authentication_attrs.html:16 msgid "PSK" -msgstr "ПСК" +msgstr " Попередньо спільний ключ (PSK)" #: netbox/templates/wireless/inc/wirelesslink_interface.html:35 #: netbox/templates/wireless/inc/wirelesslink_interface.html:45 @@ -14422,57 +14452,57 @@ msgstr "Властивості посилання" msgid "Distance" msgstr "Відстань" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" -msgstr "Батьківська контактна група (ідентіфікатор)" +msgstr "Батьківська контактна група (ідентифікатор)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "Батьківська контактна група (скоречення)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" -msgstr "Контактна група (ідентіфікатор)" +msgstr "Контактна група (ідентифікатор)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "Контактна група (скоречення)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" -msgstr "Контакт (ідентіфікатор)" +msgstr "Контакт (ідентифікатор)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" -msgstr "Роль контакту (ідентіфікатор)" +msgstr "Роль контакту (ідентифікатор)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "Контактна роль (скоречення)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "Контактна група" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" -msgstr "Батьківська група орендарів (ідентіфікатор)" +msgstr "Батьківська група орендарів (ідентифікатор)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "Батьківська група орендарів (скоречення)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" -msgstr "Група орендарів (ідентіфікатор)" +msgstr "Група орендарів (ідентифікатор)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" -msgstr "Група орендарів (ідентіфікатор)" +msgstr "Група орендарів (ідентифікатор)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "Група орендарів (скоречення)" @@ -14587,11 +14617,11 @@ msgstr "Опис контакту" #: netbox/users/filtersets.py:33 netbox/users/filtersets.py:73 msgid "Permission (ID)" -msgstr "Дозвіл (ідентіфікатор)" +msgstr "Дозвіл (ідентифікатор)" #: netbox/users/filtersets.py:38 netbox/users/filtersets.py:78 msgid "Notification group (ID)" -msgstr "Група повідомлень (ідентіфікатор)" +msgstr "Група повідомлень (ідентифікатор)" #: netbox/users/forms/bulk_edit.py:26 msgid "First name" @@ -14637,11 +14667,11 @@ msgstr "Може змінитися" msgid "Can Delete" msgstr "Може видалити" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "Інтерфейс користувача" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14651,7 +14681,7 @@ msgstr "" "запишіть свій ключ перед відправкою цієї форми, оскільки вона може " "більше не бути доступною після створення токена." -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14661,32 +14691,32 @@ msgstr "" "порожнім без обмежень. Приклад: 10.1.1.0/24,192.168.10.16/32,2001: дб " "8:1: :/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "Підтвердити пароль" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "Введіть той же пароль, що і раніше, для перевірки." -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "" "Паролі не збігаються! Будь ласка, перевірте свої дані та спробуйте ще раз." -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "Додаткові дії" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "Дії, надані на додаток до перерахованих вище" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "Об'єкти" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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 " @@ -14696,11 +14726,11 @@ msgstr "" "null, щоб відповідати всім об'єктам цього типу. Список декількох об'єктів " "призведе до логічної операції OR." -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "Необхідно вибрати хоча б одну дію." -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "Невірний фільтр для {model}: {error}" @@ -14957,7 +14987,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "Невірне значення для поля з множинним вибором: {value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "Об'єкт не знайдено: %(value)s" @@ -14968,14 +14998,19 @@ msgid "" "\"{value}\" is not a unique value for this field; multiple objects were " "found" msgstr "" -"«{value}«не є унікальним значенням для цього поля; було знайдено декілька " -"об'єктів" +"\"{value}\" не є унікальним значенням для цього поля; було знайдено декілька" +" об'єктів" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "\"{field_name}\" є недійсним ім'ям поля доступу." + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "Тип об'єкта повинен бути вказаний як \".\"" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "Невірний тип об'єкта" @@ -15003,8 +15038,8 @@ msgid "" " Markdown syntax is supported" msgstr "" -" синтаксис Markdown підтримується" +" Підтримується синтаксис Markdown " #: netbox/utilities/forms/fields/fields.py:48 msgid "URL-friendly unique shorthand" @@ -15174,7 +15209,7 @@ msgstr "Закладка" #: netbox/utilities/templates/buttons/clone.html:4 msgid "Clone" -msgstr "клон" +msgstr "Клонувати" #: netbox/utilities/templates/buttons/export.html:7 msgid "Current View" @@ -15276,7 +15311,7 @@ msgstr "" #: netbox/virtualization/filtersets.py:79 msgid "Parent group (ID)" -msgstr "Батьківська група (ідентіфікатор)" +msgstr "Батьківська група (ідентифікатор)" #: netbox/virtualization/filtersets.py:85 msgid "Parent group (slug)" @@ -15285,12 +15320,12 @@ msgstr "Батьківська група (скоречення)" #: netbox/virtualization/filtersets.py:89 #: netbox/virtualization/filtersets.py:141 msgid "Cluster type (ID)" -msgstr "Тип кластера (ідентіфікатор)" +msgstr "Тип кластера (ідентифікатор)" #: netbox/virtualization/filtersets.py:151 #: netbox/virtualization/filtersets.py:271 msgid "Cluster (ID)" -msgstr "Кластер (ідентіфікатор)" +msgstr "Кластер (ідентифікатор)" #: netbox/virtualization/forms/bulk_edit.py:166 #: netbox/virtualization/models/virtualmachines.py:115 @@ -15454,7 +15489,7 @@ msgstr "Повинен бути IPV{family} адреса. ({ip} є IPV{version} #: netbox/virtualization/models/virtualmachines.py:238 #, python-brace-format msgid "The specified IP address ({ip}) is not assigned to this VM." -msgstr "Зазначена IP-адреса ({ip}) не присвоюється цій ВМ." +msgstr "Зазначена IP-адреса ({ip}) не присвоюється цієї віртуальній машині." #: netbox/virtualization/models/virtualmachines.py:396 #, python-brace-format @@ -15570,25 +15605,25 @@ msgstr "Підписи DSA" msgid "Group {n}" msgstr "Група {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Приватна мережа Ethernet" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Віртуальна приватна локальна мережа Ethernet" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Приватне дерево Ethernet" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Віртуальне приватне дерево Ethernet" #: netbox/vpn/filtersets.py:41 msgid "Tunnel group (ID)" -msgstr "Тунельна група (ідентіфікатор)" +msgstr "Тунельна група (ідентифікатор)" #: netbox/vpn/filtersets.py:47 msgid "Tunnel group (slug)" @@ -15604,7 +15639,7 @@ msgstr "Профіль IPsec (ім'я)" #: netbox/vpn/filtersets.py:81 msgid "Tunnel (ID)" -msgstr "Тунель (ідентіфікатор)" +msgstr "Тунель (ідентифікатор)" #: netbox/vpn/filtersets.py:87 msgid "Tunnel (name)" @@ -15612,35 +15647,33 @@ msgstr "Тунель (назва)" #: netbox/vpn/filtersets.py:118 msgid "Outside IP (ID)" -msgstr "Зовнішній IP (ідентіфікатор)" +msgstr "Зовнішній IP (ідентифікатор)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" -msgstr "Політика IKE (ідентіфікатор)" +msgstr "Політика IKE (ідентифікатор)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "Політика IKE (назва)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "Політика IPsec (ідентифікатор)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "Політика IPsec (назва)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN (скоречення)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" -msgstr "Інтерфейс віртуальної машини (ідентіфікатор)" +msgstr "Інтерфейс віртуальної машини (ідентифікатор)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN (назва)" @@ -15722,7 +15755,7 @@ msgstr "Батьківська віртуальна машина (для інт #: netbox/vpn/forms/bulk_import.py:301 msgid "Assigned interface (device or VM)" -msgstr "Призначений інтерфейс (пристрій або VM)" +msgstr "Призначений інтерфейс (пристрій або віртуальна машина)" #: netbox/vpn/forms/bulk_import.py:334 msgid "Cannot import device and VM interface terminations simultaneously." @@ -15975,15 +16008,15 @@ msgstr "Станція" #: netbox/wireless/choices.py:467 msgid "Open" -msgstr "Відкрити" +msgstr "Відкрита" #: netbox/wireless/choices.py:469 msgid "WPA Personal (PSK)" -msgstr "WPA Персональний (PSK)" +msgstr "Персональний WPA (PSK)" #: netbox/wireless/choices.py:470 msgid "WPA Enterprise" -msgstr "Підприємство WPA" +msgstr "WPA для підприємства" #: netbox/wireless/forms/bulk_edit.py:73 #: netbox/wireless/forms/bulk_edit.py:120 @@ -16019,7 +16052,7 @@ msgstr "Інтерфейс B" #: netbox/wireless/forms/model_forms.py:161 msgid "Side B" -msgstr "Сторона B" +msgstr "Сторона Б" #: netbox/wireless/models.py:31 msgid "authentication cipher" diff --git a/netbox/translations/zh/LC_MESSAGES/django.po b/netbox/translations/zh/LC_MESSAGES/django.po index 784313a74..8de99d405 100644 --- a/netbox/translations/zh/LC_MESSAGES/django.po +++ b/netbox/translations/zh/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-25 05:02+0000\n" +"POT-Creation-Date: 2024-10-12 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Chinese (https://app.transifex.com/netbox-community/teams/178115/zh/)\n" @@ -33,7 +33,7 @@ msgstr "" #: netbox/account/tables.py:27 netbox/templates/account/token.html:22 #: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39 -#: netbox/users/forms/model_forms.py:113 +#: netbox/users/forms/model_forms.py:112 msgid "Key" msgstr "令牌" @@ -69,7 +69,7 @@ msgstr "最后使用" #: netbox/account/tables.py:45 netbox/templates/account/token.html:55 #: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122 -#: netbox/users/forms/model_forms.py:125 +#: netbox/users/forms/model_forms.py:124 msgid "Allowed IPs" msgstr "允许的IP" @@ -96,8 +96,8 @@ msgstr "您的密码已成功更改。" #: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20 #: netbox/dcim/choices.py:102 netbox/dcim/choices.py:185 -#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 -#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 +#: netbox/dcim/choices.py:237 netbox/dcim/choices.py:1530 +#: netbox/dcim/choices.py:1606 netbox/dcim/choices.py:1656 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -109,8 +109,8 @@ msgstr "置备" #: 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:184 netbox/dcim/choices.py:230 -#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 +#: netbox/dcim/choices.py:184 netbox/dcim/choices.py:236 +#: netbox/dcim/choices.py:1605 netbox/dcim/choices.py:1655 #: netbox/extras/tables/tables.py:495 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 @@ -121,8 +121,8 @@ msgid "Active" msgstr "在线" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 -#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:235 netbox/dcim/choices.py:1604 +#: netbox/dcim/choices.py:1657 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "离线" @@ -135,7 +135,7 @@ msgstr "预留" msgid "Decommissioned" msgstr "退役" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1617 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "主要联系人" @@ -161,7 +161,7 @@ msgstr "已失效" #: netbox/dcim/filtersets.py:2146 netbox/dcim/filtersets.py:2204 #: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:959 #: netbox/virtualization/filtersets.py:45 -#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:369 +#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:358 msgid "Region (ID)" msgstr "区域(ID)" @@ -173,7 +173,7 @@ msgstr "区域(ID)" #: netbox/dcim/filtersets.py:2153 netbox/dcim/filtersets.py:2211 #: netbox/extras/filtersets.py:509 netbox/ipam/filtersets.py:346 #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 -#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 +#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:353 msgid "Region (slug)" msgstr "地区(缩写)" @@ -202,7 +202,7 @@ msgstr "站点组(缩写)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 -#: netbox/circuits/forms/bulk_import.py:125 +#: netbox/circuits/forms/bulk_import.py:124 #: netbox/circuits/forms/filtersets.py:51 #: netbox/circuits/forms/filtersets.py:171 #: netbox/circuits/forms/filtersets.py:209 @@ -268,7 +268,7 @@ msgstr "站点" #: netbox/extras/filtersets.py:531 netbox/ipam/filtersets.py:238 #: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:989 #: netbox/virtualization/filtersets.py:75 -#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 +#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:363 msgid "Site (slug)" msgstr "站点(缩写)" @@ -322,7 +322,7 @@ msgstr "线路类型(缩写)" #: netbox/dcim/filtersets.py:2170 netbox/dcim/filtersets.py:2229 #: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363 #: netbox/ipam/filtersets.py:983 netbox/virtualization/filtersets.py:69 -#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:379 +#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:368 msgid "Site (ID)" msgstr "站点(ID)" @@ -341,13 +341,13 @@ msgstr "接入点A (ID)" #: netbox/extras/filtersets.py:348 netbox/extras/filtersets.py:391 #: netbox/extras/filtersets.py:438 netbox/extras/filtersets.py:498 #: netbox/extras/filtersets.py:657 netbox/extras/filtersets.py:703 -#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:282 #: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:167 #: 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/tenancy/filtersets.py:99 netbox/users/filtersets.py:23 #: netbox/users/filtersets.py:57 netbox/users/filtersets.py:102 #: netbox/users/filtersets.py:150 netbox/utilities/forms/forms.py:104 #: netbox/utilities/templates/navigation/menu.html:16 @@ -356,7 +356,7 @@ msgstr "搜索" #: netbox/circuits/filtersets.py:264 netbox/circuits/forms/bulk_edit.py:172 #: netbox/circuits/forms/bulk_edit.py:246 -#: netbox/circuits/forms/bulk_import.py:116 +#: netbox/circuits/forms/bulk_import.py:115 #: netbox/circuits/forms/filtersets.py:198 #: netbox/circuits/forms/filtersets.py:214 #: netbox/circuits/forms/filtersets.py:260 @@ -540,9 +540,9 @@ msgstr "描述" #: netbox/circuits/forms/bulk_edit.py:51 netbox/circuits/forms/bulk_edit.py:73 #: netbox/circuits/forms/bulk_edit.py:123 -#: netbox/circuits/forms/bulk_import.py:37 -#: netbox/circuits/forms/bulk_import.py:52 -#: netbox/circuits/forms/bulk_import.py:75 +#: netbox/circuits/forms/bulk_import.py:36 +#: netbox/circuits/forms/bulk_import.py:51 +#: netbox/circuits/forms/bulk_import.py:74 #: netbox/circuits/forms/filtersets.py:70 #: netbox/circuits/forms/filtersets.py:88 #: netbox/circuits/forms/filtersets.py:116 @@ -579,9 +579,9 @@ msgstr "服务ID" #: netbox/dcim/forms/bulk_edit.py:1173 netbox/dcim/forms/bulk_edit.py:1200 #: netbox/dcim/forms/bulk_edit.py:1678 netbox/dcim/forms/filtersets.py:1064 #: netbox/dcim/forms/filtersets.py:1455 netbox/dcim/forms/filtersets.py:1479 -#: netbox/dcim/tables/devices.py:701 netbox/dcim/tables/devices.py:758 -#: netbox/dcim/tables/devices.py:1000 netbox/dcim/tables/devicetypes.py:250 -#: netbox/dcim/tables/devicetypes.py:265 netbox/dcim/tables/racks.py:33 +#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devices.py:761 +#: netbox/dcim/tables/devices.py:1003 netbox/dcim/tables/devicetypes.py:249 +#: netbox/dcim/tables/devicetypes.py:264 netbox/dcim/tables/racks.py:33 #: netbox/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 #: netbox/templates/dcim/cable.html:40 @@ -594,7 +594,7 @@ msgid "Color" msgstr "颜色" #: netbox/circuits/forms/bulk_edit.py:118 -#: netbox/circuits/forms/bulk_import.py:88 +#: netbox/circuits/forms/bulk_import.py:87 #: netbox/circuits/forms/filtersets.py:126 netbox/core/forms/bulk_edit.py:18 #: netbox/core/forms/filtersets.py:33 netbox/core/tables/change_logging.py:32 #: netbox/core/tables/data.py:20 netbox/core/tables/jobs.py:18 @@ -617,7 +617,7 @@ msgstr "颜色" #: 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:178 -#: netbox/dcim/tables/devices.py:811 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:814 netbox/dcim/tables/power.py:77 #: netbox/dcim/tables/racks.py:138 netbox/extras/forms/bulk_import.py:42 #: netbox/extras/tables/tables.py:405 netbox/extras/tables/tables.py:465 #: netbox/netbox/tables/tables.py:240 @@ -651,14 +651,14 @@ msgid "Type" msgstr "类型" #: netbox/circuits/forms/bulk_edit.py:128 -#: netbox/circuits/forms/bulk_import.py:81 +#: netbox/circuits/forms/bulk_import.py:80 #: netbox/circuits/forms/filtersets.py:139 #: netbox/circuits/forms/model_forms.py:98 msgid "Provider account" msgstr "运营商账户" #: netbox/circuits/forms/bulk_edit.py:136 -#: netbox/circuits/forms/bulk_import.py:94 +#: netbox/circuits/forms/bulk_import.py:93 #: netbox/circuits/forms/filtersets.py:150 netbox/core/forms/filtersets.py:38 #: netbox/core/forms/filtersets.py:79 netbox/core/tables/data.py:23 #: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88 @@ -674,8 +674,8 @@ msgstr "运营商账户" #: netbox/dcim/forms/filtersets.py:359 netbox/dcim/forms/filtersets.py:799 #: netbox/dcim/forms/filtersets.py:924 netbox/dcim/forms/filtersets.py:958 #: netbox/dcim/forms/filtersets.py:1059 netbox/dcim/forms/filtersets.py:1170 -#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:814 -#: netbox/dcim/tables/devices.py:1060 netbox/dcim/tables/modules.py:69 +#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/devices.py:817 +#: netbox/dcim/tables/devices.py:1063 netbox/dcim/tables/modules.py:69 #: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:126 #: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:138 #: netbox/ipam/forms/bulk_edit.py:255 netbox/ipam/forms/bulk_edit.py:305 @@ -704,7 +704,7 @@ msgstr "运营商账户" #: netbox/templates/vpn/tunnel.html:25 #: netbox/templates/wireless/wirelesslan.html:22 #: netbox/templates/wireless/wirelesslink.html:17 -#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:195 +#: netbox/users/forms/filtersets.py:32 netbox/users/forms/model_forms.py:194 #: netbox/virtualization/forms/bulk_edit.py:70 #: netbox/virtualization/forms/bulk_edit.py:118 #: netbox/virtualization/forms/bulk_import.py:54 @@ -728,8 +728,8 @@ msgstr "状态" #: netbox/circuits/forms/bulk_edit.py:142 #: netbox/circuits/forms/bulk_edit.py:233 -#: netbox/circuits/forms/bulk_import.py:99 -#: netbox/circuits/forms/bulk_import.py:159 +#: netbox/circuits/forms/bulk_import.py:98 +#: netbox/circuits/forms/bulk_import.py:158 #: netbox/circuits/forms/filtersets.py:119 #: netbox/circuits/forms/filtersets.py:241 netbox/dcim/forms/bulk_edit.py:122 #: netbox/dcim/forms/bulk_edit.py:187 netbox/dcim/forms/bulk_edit.py:346 @@ -895,21 +895,21 @@ msgstr "终端详情" msgid "Priority" msgstr "优先级" -#: netbox/circuits/forms/bulk_import.py:40 -#: netbox/circuits/forms/bulk_import.py:55 -#: netbox/circuits/forms/bulk_import.py:78 +#: netbox/circuits/forms/bulk_import.py:39 +#: netbox/circuits/forms/bulk_import.py:54 +#: netbox/circuits/forms/bulk_import.py:77 msgid "Assigned provider" msgstr "指定的运营商" -#: netbox/circuits/forms/bulk_import.py:84 +#: netbox/circuits/forms/bulk_import.py:83 msgid "Assigned provider account" msgstr "指定的运营商账户" -#: netbox/circuits/forms/bulk_import.py:91 +#: netbox/circuits/forms/bulk_import.py:90 msgid "Type of circuit" msgstr "线路类型" -#: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 +#: netbox/circuits/forms/bulk_import.py:95 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 #: netbox/dcim/forms/bulk_import.py:507 netbox/dcim/forms/bulk_import.py:661 #: netbox/dcim/forms/bulk_import.py:1373 netbox/ipam/forms/bulk_import.py:194 @@ -921,8 +921,8 @@ msgstr "线路类型" msgid "Operational status" msgstr "运行状态" -#: netbox/circuits/forms/bulk_import.py:103 -#: netbox/circuits/forms/bulk_import.py:163 +#: netbox/circuits/forms/bulk_import.py:102 +#: netbox/circuits/forms/bulk_import.py:162 #: netbox/dcim/forms/bulk_import.py:111 netbox/dcim/forms/bulk_import.py:156 #: netbox/dcim/forms/bulk_import.py:338 netbox/dcim/forms/bulk_import.py:483 #: netbox/dcim/forms/bulk_import.py:1223 netbox/dcim/forms/bulk_import.py:1368 @@ -938,7 +938,7 @@ msgstr "运行状态" msgid "Assigned tenant" msgstr "已分配租户" -#: netbox/circuits/forms/bulk_import.py:121 +#: netbox/circuits/forms/bulk_import.py:120 #: 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 @@ -946,7 +946,7 @@ msgstr "已分配租户" msgid "Termination" msgstr "终端" -#: netbox/circuits/forms/bulk_import.py:131 +#: netbox/circuits/forms/bulk_import.py:130 #: netbox/circuits/forms/filtersets.py:147 #: netbox/circuits/forms/filtersets.py:227 #: netbox/circuits/forms/model_forms.py:144 @@ -1102,7 +1102,7 @@ msgstr "线路终端侧" #: 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:315 +#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:314 msgid "Assignment" msgstr "分配" @@ -1157,11 +1157,11 @@ msgid "Circuit Group" msgstr "电路组" #: netbox/circuits/models/circuits.py:27 netbox/dcim/models/cables.py:67 -#: netbox/dcim/models/device_component_templates.py:518 -#: netbox/dcim/models/device_component_templates.py:618 -#: netbox/dcim/models/device_components.py:976 -#: netbox/dcim/models/device_components.py:1050 -#: netbox/dcim/models/device_components.py:1205 +#: netbox/dcim/models/device_component_templates.py:517 +#: netbox/dcim/models/device_component_templates.py:617 +#: netbox/dcim/models/device_components.py:975 +#: netbox/dcim/models/device_components.py:1049 +#: netbox/dcim/models/device_components.py:1204 #: netbox/dcim/models/devices.py:479 netbox/dcim/models/racks.py:224 #: netbox/extras/models/tags.py:28 msgid "color" @@ -1184,9 +1184,9 @@ msgid "Unique circuit ID" msgstr "唯一线路 ID" #: netbox/circuits/models/circuits.py:69 netbox/core/models/data.py:52 -#: netbox/core/models/jobs.py:86 netbox/dcim/models/cables.py:49 -#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1166 -#: netbox/dcim/models/devices.py:1392 netbox/dcim/models/power.py:96 +#: netbox/core/models/jobs.py:84 netbox/dcim/models/cables.py:49 +#: netbox/dcim/models/devices.py:653 netbox/dcim/models/devices.py:1173 +#: netbox/dcim/models/devices.py:1399 netbox/dcim/models/power.py:96 #: netbox/dcim/models/racks.py:297 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 @@ -1280,7 +1280,7 @@ msgstr "配线架 ID 和端口号" #: netbox/circuits/models/circuits.py:281 #: netbox/dcim/models/device_component_templates.py:61 -#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:685 +#: netbox/dcim/models/device_components.py:68 netbox/dcim/models/racks.py:685 #: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219 #: netbox/extras/models/customfields.py:125 netbox/extras/models/models.py:61 #: netbox/extras/models/models.py:158 netbox/extras/models/models.py:396 @@ -1315,11 +1315,11 @@ msgstr "线路终结不能同时连接到站点和运营商网络。" #: netbox/circuits/models/providers.py:22 #: netbox/circuits/models/providers.py:66 #: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:39 -#: netbox/core/models/jobs.py:47 +#: netbox/core/models/jobs.py:45 #: netbox/dcim/models/device_component_templates.py:43 -#: netbox/dcim/models/device_components.py:54 -#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1323 -#: netbox/dcim/models/devices.py:1388 netbox/dcim/models/power.py:39 +#: netbox/dcim/models/device_components.py:53 +#: netbox/dcim/models/devices.py:593 netbox/dcim/models/devices.py:1330 +#: netbox/dcim/models/devices.py:1395 netbox/dcim/models/power.py:39 #: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:262 #: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36 #: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:92 @@ -1403,11 +1403,11 @@ msgstr "运营商网络" #: netbox/dcim/tables/devices.py:134 netbox/dcim/tables/devices.py:289 #: netbox/dcim/tables/devices.py:392 netbox/dcim/tables/devices.py:433 #: netbox/dcim/tables/devices.py:482 netbox/dcim/tables/devices.py:531 -#: netbox/dcim/tables/devices.py:645 netbox/dcim/tables/devices.py:728 -#: netbox/dcim/tables/devices.py:775 netbox/dcim/tables/devices.py:838 -#: netbox/dcim/tables/devices.py:908 netbox/dcim/tables/devices.py:971 -#: netbox/dcim/tables/devices.py:991 netbox/dcim/tables/devices.py:1020 -#: netbox/dcim/tables/devices.py:1050 netbox/dcim/tables/devicetypes.py:32 +#: netbox/dcim/tables/devices.py:648 netbox/dcim/tables/devices.py:731 +#: netbox/dcim/tables/devices.py:778 netbox/dcim/tables/devices.py:841 +#: netbox/dcim/tables/devices.py:911 netbox/dcim/tables/devices.py:974 +#: netbox/dcim/tables/devices.py:994 netbox/dcim/tables/devices.py:1023 +#: netbox/dcim/tables/devices.py:1053 netbox/dcim/tables/devicetypes.py:31 #: netbox/dcim/tables/power.py:22 netbox/dcim/tables/power.py:62 #: netbox/dcim/tables/racks.py:24 netbox/dcim/tables/racks.py:113 #: netbox/dcim/tables/sites.py:24 netbox/dcim/tables/sites.py:51 @@ -1545,8 +1545,8 @@ msgstr "承诺速率" #: netbox/circuits/tables/circuits.py:80 #: netbox/circuits/tables/providers.py:48 #: netbox/circuits/tables/providers.py:82 -#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1033 -#: netbox/dcim/tables/devicetypes.py:93 netbox/dcim/tables/modules.py:29 +#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1036 +#: 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:84 #: netbox/dcim/tables/racks.py:145 netbox/dcim/tables/racks.py:225 @@ -1623,8 +1623,8 @@ msgstr "完成" #: 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:187 netbox/dcim/choices.py:233 -#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:187 netbox/dcim/choices.py:239 +#: netbox/dcim/choices.py:1607 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "故障" @@ -1690,42 +1690,42 @@ msgstr "已停止" msgid "Cancelled" msgstr "已取消" -#: netbox/core/data_backends.py:29 netbox/core/tables/plugins.py:51 +#: netbox/core/data_backends.py:32 netbox/core/tables/plugins.py:51 #: netbox/templates/core/plugin.html:87 #: netbox/templates/dcim/interface.html:216 msgid "Local" msgstr "本地" -#: netbox/core/data_backends.py:47 netbox/core/tables/change_logging.py:20 +#: netbox/core/data_backends.py:50 netbox/core/tables/change_logging.py:20 #: netbox/templates/account/profile.html:15 #: netbox/templates/users/user.html:17 netbox/users/tables.py:31 msgid "Username" msgstr "用户名" -#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55 +#: netbox/core/data_backends.py:52 netbox/core/data_backends.py:58 msgid "Only used for cloning with HTTP(S)" msgstr "仅用于通过 HTTP(S) 进行克隆" -#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:23 +#: netbox/core/data_backends.py:56 netbox/templates/account/base.html:23 #: netbox/templates/account/password.html:12 -#: netbox/users/forms/model_forms.py:171 +#: netbox/users/forms/model_forms.py:170 msgid "Password" msgstr "密码" -#: netbox/core/data_backends.py:59 +#: netbox/core/data_backends.py:62 msgid "Branch" msgstr "分支" -#: netbox/core/data_backends.py:106 +#: netbox/core/data_backends.py:120 #, python-brace-format msgid "Fetching remote data failed ({name}): {error}" msgstr "获取远程数据失败({name}): {error}" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "AWS access key ID" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "AWS secret access key" @@ -1780,7 +1780,7 @@ msgstr "用户名" #: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:43 #: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1122 #: netbox/dcim/forms/bulk_edit.py:1400 netbox/dcim/forms/filtersets.py:1370 -#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:225 +#: netbox/dcim/tables/devices.py:553 netbox/dcim/tables/devicetypes.py:224 #: netbox/extras/forms/bulk_edit.py:123 netbox/extras/forms/bulk_edit.py:187 #: netbox/extras/forms/bulk_edit.py:246 netbox/extras/forms/filtersets.py:142 #: netbox/extras/forms/filtersets.py:229 netbox/extras/forms/filtersets.py:294 @@ -1894,7 +1894,7 @@ msgstr "完成后" #: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14 #: netbox/users/filtersets.py:107 netbox/users/filtersets.py:174 #: netbox/users/forms/filtersets.py:84 netbox/users/forms/filtersets.py:125 -#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:155 netbox/users/forms/model_forms.py:192 #: netbox/users/tables.py:19 msgid "User" msgstr "用户" @@ -1948,7 +1948,7 @@ msgstr "必须上传文件或选择数据文件进行同步" msgid "Rack Elevations" msgstr "机柜立面图" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1518 #: netbox/dcim/forms/bulk_edit.py:969 netbox/dcim/forms/bulk_edit.py:1357 #: netbox/dcim/forms/bulk_edit.py:1375 netbox/dcim/tables/racks.py:158 #: netbox/netbox/navigation/menu.py:291 netbox/netbox/navigation/menu.py:295 @@ -1991,7 +1991,7 @@ msgstr "用户首选项" #: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:732 #: netbox/templates/core/inc/config_data.html:127 -#: netbox/users/forms/model_forms.py:65 +#: netbox/users/forms/model_forms.py:64 msgid "Miscellaneous" msgstr "杂项" @@ -2050,7 +2050,7 @@ msgid "Change logging is not supported for this object type ({type})." msgstr "此对象类型 ({type}) 不支持更改日志记录。" #: netbox/core/models/config.py:18 netbox/core/models/data.py:266 -#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:51 +#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:49 #: netbox/extras/models/models.py:730 netbox/extras/models/notifications.py:39 #: netbox/extras/models/notifications.py:186 #: netbox/netbox/models/features.py:53 netbox/users/models/tokens.py:32 @@ -2087,20 +2087,20 @@ msgid "Config revision #{id}" msgstr "配置修订#{id}" #: netbox/core/models/data.py:44 netbox/dcim/models/cables.py:43 -#: netbox/dcim/models/device_component_templates.py:204 -#: netbox/dcim/models/device_component_templates.py:238 -#: netbox/dcim/models/device_component_templates.py:273 -#: netbox/dcim/models/device_component_templates.py:335 -#: netbox/dcim/models/device_component_templates.py:414 -#: netbox/dcim/models/device_component_templates.py:513 -#: netbox/dcim/models/device_component_templates.py:613 -#: 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/device_component_templates.py:203 +#: netbox/dcim/models/device_component_templates.py:237 +#: netbox/dcim/models/device_component_templates.py:272 +#: netbox/dcim/models/device_component_templates.py:334 +#: netbox/dcim/models/device_component_templates.py:413 +#: netbox/dcim/models/device_component_templates.py:512 +#: netbox/dcim/models/device_component_templates.py:612 +#: netbox/dcim/models/device_components.py:283 +#: netbox/dcim/models/device_components.py:312 +#: netbox/dcim/models/device_components.py:345 +#: netbox/dcim/models/device_components.py:463 +#: netbox/dcim/models/device_components.py:605 +#: netbox/dcim/models/device_components.py:970 +#: netbox/dcim/models/device_components.py:1044 #: netbox/dcim/models/power.py:102 netbox/extras/models/customfields.py:78 #: netbox/extras/models/search.py:41 #: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32 @@ -2115,8 +2115,8 @@ msgid "URL" msgstr "URL" #: netbox/core/models/data.py:59 -#: netbox/dcim/models/device_component_templates.py:419 -#: netbox/dcim/models/device_components.py:513 +#: netbox/dcim/models/device_component_templates.py:418 +#: netbox/dcim/models/device_components.py:512 #: netbox/extras/models/models.py:70 netbox/extras/models/models.py:301 #: netbox/extras/models/models.py:526 netbox/users/models/permissions.py:29 msgid "enabled" @@ -2226,58 +2226,58 @@ msgstr "托管文件" msgid "managed files" msgstr "托管文件" -#: netbox/core/models/jobs.py:55 +#: netbox/core/models/jobs.py:53 msgid "scheduled" msgstr "计划" -#: netbox/core/models/jobs.py:60 +#: netbox/core/models/jobs.py:58 msgid "interval" msgstr "间隔" -#: netbox/core/models/jobs.py:66 +#: netbox/core/models/jobs.py:64 msgid "Recurrence interval (in minutes)" msgstr "重复间隔(以分钟为单位)" -#: netbox/core/models/jobs.py:69 +#: netbox/core/models/jobs.py:67 msgid "started" msgstr "已经开始" -#: netbox/core/models/jobs.py:74 +#: netbox/core/models/jobs.py:72 msgid "completed" msgstr "已经完成" -#: netbox/core/models/jobs.py:92 netbox/extras/models/models.py:101 +#: netbox/core/models/jobs.py:90 netbox/extras/models/models.py:101 #: netbox/extras/models/staging.py:87 msgid "data" msgstr "数据" -#: netbox/core/models/jobs.py:97 +#: netbox/core/models/jobs.py:95 msgid "error" msgstr "错误" -#: netbox/core/models/jobs.py:102 +#: netbox/core/models/jobs.py:100 msgid "job ID" msgstr "任务ID" -#: netbox/core/models/jobs.py:113 +#: netbox/core/models/jobs.py:111 msgid "job" msgstr "任务" -#: netbox/core/models/jobs.py:114 +#: netbox/core/models/jobs.py:112 msgid "jobs" msgstr "任务" -#: netbox/core/models/jobs.py:136 +#: netbox/core/models/jobs.py:135 #, python-brace-format msgid "Jobs cannot be assigned to this object type ({type})." msgstr "任务不能分配给此对象类型 ({type})" -#: netbox/core/models/jobs.py:186 +#: netbox/core/models/jobs.py:185 #, python-brace-format msgid "Invalid status for job termination. Choices are: {choices}" msgstr "作业终止状态无效。选项有:{choices}" -#: netbox/core/models/jobs.py:217 +#: netbox/core/models/jobs.py:216 msgid "" "enqueue() cannot be called with values for both schedule_at and immediate." msgstr "不能使用 schedule_at 和 immediate 的值调用 enqueue ()。" @@ -2326,7 +2326,7 @@ msgid "Last updated" msgstr "最后更新日期" #: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76 -#: netbox/dcim/tables/devicetypes.py:165 netbox/extras/tables/tables.py:216 +#: netbox/dcim/tables/devicetypes.py:164 netbox/extras/tables/tables.py:216 #: netbox/extras/tables/tables.py:460 netbox/netbox/tables/tables.py:189 #: netbox/templates/dcim/virtualchassis_edit.html:52 #: netbox/utilities/forms/forms.py:73 @@ -2518,7 +2518,7 @@ msgid "Staging" msgstr "暂存" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 +#: netbox/dcim/choices.py:240 netbox/dcim/choices.py:1531 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "报废" @@ -2582,17 +2582,17 @@ msgstr "已弃用" msgid "Millimeters" msgstr "毫米" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1553 msgid "Inches" msgstr "英寸" -#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:204 -#: netbox/dcim/choices.py:248 +#: netbox/dcim/choices.py:136 netbox/dcim/choices.py:207 +#: netbox/dcim/choices.py:254 msgid "Front to rear" msgstr "从前向后" -#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:205 -#: netbox/dcim/choices.py:249 +#: netbox/dcim/choices.py:137 netbox/dcim/choices.py:208 +#: netbox/dcim/choices.py:255 msgid "Rear to front" msgstr "从后向前" @@ -2605,8 +2605,8 @@ msgstr "从后向前" #: netbox/dcim/forms/model_forms.py:74 netbox/dcim/forms/model_forms.py:93 #: netbox/dcim/forms/model_forms.py:170 netbox/dcim/forms/model_forms.py:1062 #: netbox/dcim/forms/model_forms.py:1502 -#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:653 -#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 +#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:656 +#: netbox/dcim/tables/devices.py:869 netbox/dcim/tables/devices.py:954 #: netbox/extras/tables/tables.py:223 netbox/ipam/tables/fhrp.py:59 #: netbox/ipam/tables/ip.py:378 netbox/ipam/tables/services.py:44 #: netbox/templates/dcim/interface.html:102 @@ -2650,7 +2650,7 @@ msgstr "前" msgid "Rear" msgstr "后" -#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:232 +#: netbox/dcim/choices.py:186 netbox/dcim/choices.py:238 #: netbox/virtualization/choices.py:46 msgid "Staged" msgstr "已暂存" @@ -2659,67 +2659,79 @@ msgstr "已暂存" msgid "Inventory" msgstr "库存中" -#: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 +#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:256 msgid "Left to right" msgstr "从左向右" -#: netbox/dcim/choices.py:207 netbox/dcim/choices.py:251 +#: netbox/dcim/choices.py:210 netbox/dcim/choices.py:257 msgid "Right to left" msgstr "从右向左" -#: netbox/dcim/choices.py:208 netbox/dcim/choices.py:252 +#: netbox/dcim/choices.py:211 netbox/dcim/choices.py:258 msgid "Side to rear" msgstr "侧进风后出风" -#: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:212 +msgid "Rear to side" +msgstr "从后到边" + +#: netbox/dcim/choices.py:213 +msgid "Bottom to top" +msgstr "自下而上" + +#: netbox/dcim/choices.py:214 +msgid "Top to bottom" +msgstr "从上到下" + +#: netbox/dcim/choices.py:215 netbox/dcim/choices.py:259 +#: netbox/dcim/choices.py:1303 msgid "Passive" msgstr "被动" -#: netbox/dcim/choices.py:210 +#: netbox/dcim/choices.py:216 msgid "Mixed" msgstr "混合风道" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 +#: netbox/dcim/choices.py:484 netbox/dcim/choices.py:733 msgid "NEMA (Non-locking)" msgstr "NEMA(非锁定)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 +#: netbox/dcim/choices.py:506 netbox/dcim/choices.py:755 msgid "NEMA (Locking)" msgstr "NEMA(锁定)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 +#: netbox/dcim/choices.py:530 netbox/dcim/choices.py:779 msgid "California Style" msgstr "美标" -#: netbox/dcim/choices.py:532 +#: netbox/dcim/choices.py:538 msgid "International/ITA" msgstr "国际通用标准/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 +#: netbox/dcim/choices.py:573 netbox/dcim/choices.py:814 msgid "Proprietary" msgstr "专用规格" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:818 -#: netbox/dcim/choices.py:1211 netbox/dcim/choices.py:1213 -#: netbox/dcim/choices.py:1439 netbox/dcim/choices.py:1441 +#: netbox/dcim/choices.py:581 netbox/dcim/choices.py:824 +#: netbox/dcim/choices.py:1219 netbox/dcim/choices.py:1221 +#: netbox/dcim/choices.py:1447 netbox/dcim/choices.py:1449 #: netbox/netbox/navigation/menu.py:200 msgid "Other" msgstr "其他" -#: netbox/dcim/choices.py:781 +#: netbox/dcim/choices.py:787 msgid "ITA/International" msgstr "ITA/国际通用标准" -#: netbox/dcim/choices.py:848 +#: netbox/dcim/choices.py:854 msgid "Physical" msgstr "物理" -#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 +#: netbox/dcim/choices.py:855 netbox/dcim/choices.py:1023 msgid "Virtual" msgstr "虚拟" -#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 +#: netbox/dcim/choices.py:856 netbox/dcim/choices.py:1097 #: netbox/dcim/forms/bulk_edit.py:1515 netbox/dcim/forms/filtersets.py:1330 #: netbox/dcim/forms/model_forms.py:988 netbox/dcim/forms/model_forms.py:1397 #: netbox/netbox/navigation/menu.py:140 netbox/netbox/navigation/menu.py:144 @@ -2727,13 +2739,13 @@ msgstr "虚拟" msgid "Wireless" msgstr "无线" -#: netbox/dcim/choices.py:1014 +#: netbox/dcim/choices.py:1021 msgid "Virtual interfaces" msgstr "虚拟接口" -#: netbox/dcim/choices.py:1017 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1024 netbox/dcim/forms/bulk_edit.py:1410 #: netbox/dcim/forms/bulk_import.py:840 netbox/dcim/forms/model_forms.py:974 -#: netbox/dcim/tables/devices.py:657 netbox/templates/dcim/interface.html:106 +#: netbox/dcim/tables/devices.py:660 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 @@ -2741,27 +2753,27 @@ msgstr "虚拟接口" msgid "Bridge" msgstr "桥接" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "链路聚合组(LAG)" -#: netbox/dcim/choices.py:1022 +#: netbox/dcim/choices.py:1029 msgid "Ethernet (fixed)" msgstr "以太网(固定类型)" -#: netbox/dcim/choices.py:1037 +#: netbox/dcim/choices.py:1044 msgid "Ethernet (modular)" msgstr "以太网(模块)" -#: netbox/dcim/choices.py:1073 +#: netbox/dcim/choices.py:1081 msgid "Ethernet (backplane)" msgstr "以太网(背板)" -#: netbox/dcim/choices.py:1105 +#: netbox/dcim/choices.py:1113 msgid "Cellular" msgstr "蜂窝网络" -#: netbox/dcim/choices.py:1157 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1165 netbox/dcim/forms/filtersets.py:383 #: netbox/dcim/forms/filtersets.py:809 netbox/dcim/forms/filtersets.py:963 #: netbox/dcim/forms/filtersets.py:1542 #: netbox/templates/dcim/inventoryitem.html:52 @@ -2769,130 +2781,130 @@ msgstr "蜂窝网络" msgid "Serial" msgstr "串口" -#: netbox/dcim/choices.py:1172 +#: netbox/dcim/choices.py:1180 msgid "Coaxial" msgstr "同轴电缆接口" -#: netbox/dcim/choices.py:1192 +#: netbox/dcim/choices.py:1200 msgid "Stacking" msgstr "堆叠" -#: netbox/dcim/choices.py:1242 +#: netbox/dcim/choices.py:1250 msgid "Half" msgstr "半双工" -#: netbox/dcim/choices.py:1243 +#: netbox/dcim/choices.py:1251 msgid "Full" msgstr "全双工" -#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1252 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "自动" -#: netbox/dcim/choices.py:1255 +#: netbox/dcim/choices.py:1263 msgid "Access" msgstr "接入" -#: netbox/dcim/choices.py:1256 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1264 netbox/ipam/tables/vlans.py:172 #: netbox/ipam/tables/vlans.py:217 #: netbox/templates/dcim/inc/interface_vlans_table.html:7 msgid "Tagged" msgstr "Trunk口" -#: netbox/dcim/choices.py:1257 +#: netbox/dcim/choices.py:1265 msgid "Tagged (All)" msgstr "Trunk口(允许所有VLAN)" -#: netbox/dcim/choices.py:1286 +#: netbox/dcim/choices.py:1294 msgid "IEEE Standard" msgstr "IEEE标准" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "24V(2对供电)" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "24V(4对供电)" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "48V(2对供电)" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "48V(4对供电)" -#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 +#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1488 msgid "Copper" msgstr "铜缆" -#: netbox/dcim/choices.py:1393 +#: netbox/dcim/choices.py:1401 msgid "Fiber Optic" msgstr "光纤" -#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 +#: netbox/dcim/choices.py:1434 netbox/dcim/choices.py:1517 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1496 +#: netbox/dcim/choices.py:1504 msgid "Fiber" msgstr "光纤" -#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1529 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "已连接" -#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1548 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "公里" -#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1549 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "米" -#: netbox/dcim/choices.py:1542 +#: netbox/dcim/choices.py:1550 msgid "Centimeters" msgstr "厘米" -#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1551 netbox/wireless/choices.py:499 msgid "Miles" msgstr "英里" -#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1552 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "英尺" -#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/dcim/choices.py:1568 netbox/templates/dcim/device.html:327 #: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "千克" -#: netbox/dcim/choices.py:1561 +#: netbox/dcim/choices.py:1569 msgid "Grams" msgstr "克" -#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/dcim/choices.py:1570 netbox/templates/dcim/device.html:328 #: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "磅" -#: netbox/dcim/choices.py:1563 +#: netbox/dcim/choices.py:1571 msgid "Ounces" msgstr "盎司" -#: netbox/dcim/choices.py:1610 +#: netbox/dcim/choices.py:1618 msgid "Redundant" msgstr "冗余" -#: netbox/dcim/choices.py:1631 +#: netbox/dcim/choices.py:1639 msgid "Single phase" msgstr "单相电" -#: netbox/dcim/choices.py:1632 +#: netbox/dcim/choices.py:1640 msgid "Three-phase" msgstr "三相" @@ -3144,7 +3156,7 @@ msgstr "是否全尺寸" #: netbox/dcim/filtersets.py:1103 netbox/dcim/forms/common.py:18 #: netbox/dcim/forms/filtersets.py:818 netbox/dcim/forms/filtersets.py:1385 -#: netbox/dcim/models/device_components.py:519 +#: netbox/dcim/models/device_components.py:518 #: netbox/virtualization/filtersets.py:230 #: netbox/virtualization/filtersets.py:301 #: netbox/virtualization/forms/filtersets.py:172 @@ -3188,7 +3200,7 @@ msgid "Device model" msgstr "设备型号" #: netbox/dcim/filtersets.py:1267 netbox/ipam/filtersets.py:632 -#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:412 +#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:401 msgid "Interface (ID)" msgstr "接口(ID)" @@ -3202,8 +3214,8 @@ msgstr "模块托架 (ID)" #: netbox/dcim/filtersets.py:1333 netbox/dcim/filtersets.py:1425 #: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851 -#: netbox/ipam/filtersets.py:1089 netbox/virtualization/filtersets.py:161 -#: netbox/vpn/filtersets.py:390 +#: netbox/ipam/filtersets.py:1115 netbox/virtualization/filtersets.py:161 +#: netbox/vpn/filtersets.py:379 msgid "Device (ID)" msgstr "设备(ID)" @@ -3212,8 +3224,8 @@ msgid "Rack (name)" msgstr "机柜(名称)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 -#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 -#: netbox/vpn/filtersets.py:385 +#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1121 +#: netbox/vpn/filtersets.py:374 msgid "Device (name)" msgstr "设备(名称)" @@ -3263,8 +3275,8 @@ msgstr "指定VID" #: netbox/dcim/filtersets.py:1613 netbox/dcim/forms/bulk_edit.py:1489 #: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/filtersets.py:1428 #: netbox/dcim/forms/model_forms.py:1378 -#: netbox/dcim/models/device_components.py:712 -#: netbox/dcim/tables/devices.py:623 netbox/ipam/filtersets.py:316 +#: netbox/dcim/models/device_components.py:711 +#: netbox/dcim/tables/devices.py:626 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:241 netbox/ipam/forms/bulk_edit.py:297 @@ -3300,7 +3312,7 @@ msgid "VRF (RD)" msgstr "VRF (RD)" #: netbox/dcim/filtersets.py:1624 netbox/ipam/filtersets.py:1030 -#: netbox/vpn/filtersets.py:353 +#: netbox/vpn/filtersets.py:342 msgid "L2VPN (ID)" msgstr "L2VPN (ID)" @@ -3356,7 +3368,7 @@ msgstr "虚拟设备上下文(ID)" msgid "Wireless LAN" msgstr "无线局域网" -#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:610 +#: netbox/dcim/filtersets.py:1734 netbox/dcim/tables/devices.py:613 msgid "Wireless link" msgstr "无线连接" @@ -3384,12 +3396,12 @@ msgstr "主设备(ID)" msgid "Master (name)" msgstr "主设备(名称)" -#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:246 +#: netbox/dcim/filtersets.py:1939 netbox/tenancy/filtersets.py:245 msgid "Tenant (ID)" msgstr "租户(ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 -#: netbox/tenancy/filtersets.py:252 +#: netbox/tenancy/filtersets.py:251 msgid "Tenant (slug)" msgstr "租户(缩写)" @@ -3416,7 +3428,7 @@ msgstr "标签" #: netbox/dcim/forms/model_forms.py:488 netbox/dcim/forms/model_forms.py:546 #: netbox/dcim/forms/object_create.py:197 #: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:165 -#: netbox/dcim/tables/devices.py:704 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:707 netbox/dcim/tables/devicetypes.py:246 #: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131 #: netbox/templates/dcim/modulebay.html:38 #: netbox/templates/dcim/virtualchassis.html:66 @@ -3463,8 +3475,8 @@ msgstr "时区" #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 #: netbox/dcim/forms/model_forms.py:1515 #: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:96 -#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:937 -#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:309 +#: netbox/dcim/tables/devices.py:172 netbox/dcim/tables/devices.py:940 +#: netbox/dcim/tables/devicetypes.py:80 netbox/dcim/tables/devicetypes.py:308 #: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 #: netbox/templates/dcim/devicetype.html:14 @@ -3528,7 +3540,7 @@ msgstr "安装深度" #: netbox/dcim/forms/filtersets.py:488 netbox/dcim/forms/filtersets.py:594 #: netbox/dcim/forms/filtersets.py:613 netbox/dcim/forms/filtersets.py:674 #: netbox/dcim/forms/model_forms.py:221 netbox/dcim/forms/model_forms.py:298 -#: netbox/dcim/tables/devicetypes.py:107 netbox/dcim/tables/modules.py:35 +#: netbox/dcim/tables/devicetypes.py:106 netbox/dcim/tables/modules.py:35 #: netbox/dcim/tables/racks.py:74 netbox/dcim/tables/racks.py:172 #: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_edit.py:133 #: netbox/extras/forms/bulk_edit.py:183 netbox/extras/forms/bulk_edit.py:288 @@ -3589,8 +3601,8 @@ msgstr "编号" #: netbox/dcim/forms/model_forms.py:251 netbox/dcim/forms/model_forms.py:1070 #: netbox/dcim/forms/model_forms.py:1510 #: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:169 -#: netbox/dcim/tables/devices.py:806 netbox/dcim/tables/devices.py:934 -#: netbox/dcim/tables/devicetypes.py:305 netbox/dcim/tables/racks.py:129 +#: netbox/dcim/tables/devices.py:809 netbox/dcim/tables/devices.py:937 +#: netbox/dcim/tables/devicetypes.py:304 netbox/dcim/tables/racks.py:129 #: netbox/extras/filtersets.py:552 netbox/ipam/forms/bulk_edit.py:260 #: netbox/ipam/forms/bulk_edit.py:310 netbox/ipam/forms/bulk_edit.py:358 #: netbox/ipam/forms/bulk_edit.py:556 netbox/ipam/forms/bulk_import.py:197 @@ -3698,12 +3710,12 @@ msgstr "部件编码(PN)" msgid "U height" msgstr "U高度" -#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:103 +#: netbox/dcim/forms/bulk_edit.py:521 netbox/dcim/tables/devicetypes.py:102 msgid "Exclude from utilization" msgstr "从利用率中排除" #: netbox/dcim/forms/bulk_edit.py:550 netbox/dcim/forms/model_forms.py:368 -#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88 +#: netbox/dcim/tables/devicetypes.py:77 netbox/templates/dcim/device.html:88 #: netbox/templates/dcim/devicebay.html:52 #: netbox/templates/dcim/module.html:61 msgid "Device Type" @@ -3792,10 +3804,10 @@ msgstr "平台" #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py:285 netbox/dcim/tables/devices.py:371 #: netbox/dcim/tables/devices.py:412 netbox/dcim/tables/devices.py:454 -#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:594 -#: netbox/dcim/tables/devices.py:694 netbox/dcim/tables/devices.py:751 -#: netbox/dcim/tables/devices.py:798 netbox/dcim/tables/devices.py:858 -#: netbox/dcim/tables/devices.py:927 netbox/dcim/tables/devices.py:1054 +#: netbox/dcim/tables/devices.py:505 netbox/dcim/tables/devices.py:597 +#: netbox/dcim/tables/devices.py:697 netbox/dcim/tables/devices.py:754 +#: netbox/dcim/tables/devices.py:801 netbox/dcim/tables/devices.py:861 +#: netbox/dcim/tables/devices.py:930 netbox/dcim/tables/devices.py:1057 #: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:321 #: netbox/ipam/forms/bulk_import.py:304 netbox/ipam/forms/bulk_import.py:481 #: netbox/ipam/forms/filtersets.py:551 netbox/ipam/forms/model_forms.py:319 @@ -3922,8 +3934,8 @@ msgid "Maximum draw" msgstr "最大功率" #: netbox/dcim/forms/bulk_edit.py:1039 -#: netbox/dcim/models/device_component_templates.py:283 -#: netbox/dcim/models/device_components.py:357 +#: netbox/dcim/models/device_component_templates.py:282 +#: netbox/dcim/models/device_components.py:356 msgid "Maximum power draw (watts)" msgstr "最大功率(瓦)" @@ -3932,8 +3944,8 @@ msgid "Allocated draw" msgstr "分配功率" #: netbox/dcim/forms/bulk_edit.py:1045 -#: netbox/dcim/models/device_component_templates.py:290 -#: netbox/dcim/models/device_components.py:364 +#: netbox/dcim/models/device_component_templates.py:289 +#: netbox/dcim/models/device_components.py:363 msgid "Allocated power draw (watts)" msgstr "分配功率(瓦)" @@ -3954,16 +3966,16 @@ msgstr "仅限管理" #: netbox/dcim/forms/bulk_edit.py:1139 netbox/dcim/forms/bulk_edit.py:1446 #: netbox/dcim/forms/bulk_import.py:876 netbox/dcim/forms/filtersets.py:1394 #: netbox/dcim/forms/object_import.py:90 -#: netbox/dcim/models/device_component_templates.py:438 -#: netbox/dcim/models/device_components.py:671 +#: netbox/dcim/models/device_component_templates.py:437 +#: netbox/dcim/models/device_components.py:670 msgid "PoE mode" msgstr "PoE模式" #: netbox/dcim/forms/bulk_edit.py:1145 netbox/dcim/forms/bulk_edit.py:1452 #: netbox/dcim/forms/bulk_import.py:882 netbox/dcim/forms/filtersets.py:1399 #: netbox/dcim/forms/object_import.py:95 -#: netbox/dcim/models/device_component_templates.py:444 -#: netbox/dcim/models/device_components.py:677 +#: netbox/dcim/models/device_component_templates.py:443 +#: netbox/dcim/models/device_components.py:676 msgid "PoE type" msgstr "PoE类型" @@ -3987,7 +3999,7 @@ msgstr "无线角色" msgid "Module" msgstr "模块" -#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:662 +#: netbox/dcim/forms/bulk_edit.py:1420 netbox/dcim/tables/devices.py:665 #: netbox/templates/dcim/interface.html:110 msgid "LAG" msgstr "链路聚合" @@ -3999,7 +4011,7 @@ msgstr "设备虚拟上下文" #: netbox/dcim/forms/bulk_edit.py:1431 netbox/dcim/forms/bulk_import.py:714 #: netbox/dcim/forms/bulk_import.py:740 netbox/dcim/forms/filtersets.py:1252 #: netbox/dcim/forms/filtersets.py:1277 netbox/dcim/forms/filtersets.py:1358 -#: netbox/dcim/tables/devices.py:607 +#: netbox/dcim/tables/devices.py:610 #: netbox/templates/circuits/inc/circuit_termination_fields.html:67 #: netbox/templates/dcim/consoleport.html:40 #: netbox/templates/dcim/consoleserverport.html:40 @@ -4046,7 +4058,7 @@ msgid "Wireless LAN group" msgstr "无线局域网组" #: netbox/dcim/forms/bulk_edit.py:1499 netbox/dcim/forms/model_forms.py:1346 -#: netbox/dcim/tables/devices.py:616 netbox/netbox/navigation/menu.py:146 +#: netbox/dcim/tables/devices.py:619 netbox/netbox/navigation/menu.py:146 #: netbox/templates/dcim/interface.html:280 #: netbox/wireless/tables/wirelesslan.py:24 msgid "Wireless LANs" @@ -4428,7 +4440,7 @@ msgstr "对应后置端口" msgid "Physical medium classification" msgstr "物理端口类型" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:822 msgid "Installed device" msgstr "安装设备" @@ -4517,7 +4529,7 @@ msgid "{side_upper} side termination not found: {device} {name}" msgstr "{side_upper} 端接口类型未发现: {device} {name}" #: netbox/dcim/forms/bulk_import.py:1293 netbox/dcim/forms/model_forms.py:785 -#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1027 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4569,7 +4581,7 @@ msgstr "主 IPv6" msgid "IPv6 address with prefix length, e.g. 2001:db8::1/64" msgstr "带有前缀长度的 IPv6 地址,例如 2001:db8:: 1/64" -#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528 +#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:527 #: netbox/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 #: netbox/virtualization/forms/bulk_edit.py:225 @@ -4726,7 +4738,7 @@ msgid "Mgmt only" msgstr "仅用于管理" #: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 -#: netbox/dcim/models/device_components.py:630 +#: netbox/dcim/models/device_components.py:629 #: netbox/templates/dcim/interface.html:129 msgid "WWN" msgstr "WWN" @@ -4759,7 +4771,7 @@ msgstr "信道功率(dBm)" msgid "Cable" msgstr "电缆" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:949 msgid "Discovered" msgstr "已发现" @@ -4905,7 +4917,7 @@ msgid "Front Port" msgstr "前置接口" #: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 -#: netbox/dcim/tables/devices.py:707 +#: netbox/dcim/tables/devices.py:710 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -5028,7 +5040,7 @@ msgid "" "selected number of rear port positions ({rearport_count})." msgstr "要创建的前置端口数 ({frontport_count}) 必须与所选的后置端口数({rearport_count})匹配。" -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1033 #: 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 @@ -5051,7 +5063,7 @@ msgstr "必须为第一个VC成员指定一个位置。" #: netbox/dcim/models/cables.py:62 #: netbox/dcim/models/device_component_templates.py:55 -#: netbox/dcim/models/device_components.py:63 +#: netbox/dcim/models/device_components.py:62 #: netbox/extras/models/customfields.py:111 msgid "label" msgstr "标记" @@ -5149,7 +5161,7 @@ msgid "" msgstr "当连接到模块类型时,{module} 被认定为模块托架位置的替代。" #: netbox/dcim/models/device_component_templates.py:58 -#: netbox/dcim/models/device_components.py:66 +#: netbox/dcim/models/device_components.py:65 msgid "Physical label" msgstr "物理标签" @@ -5169,607 +5181,607 @@ msgid "" "module type." msgstr "组件模板必须与设备类型或模块类型相关联。" -#: netbox/dcim/models/device_component_templates.py:213 +#: netbox/dcim/models/device_component_templates.py:212 msgid "console port template" msgstr "console端口模板" -#: netbox/dcim/models/device_component_templates.py:214 +#: netbox/dcim/models/device_component_templates.py:213 msgid "console port templates" msgstr "console端口模板" -#: netbox/dcim/models/device_component_templates.py:247 +#: netbox/dcim/models/device_component_templates.py:246 msgid "console server port template" msgstr "console服务器端口模板" -#: netbox/dcim/models/device_component_templates.py:248 +#: netbox/dcim/models/device_component_templates.py:247 msgid "console server port templates" msgstr "console服务器端口模板" -#: netbox/dcim/models/device_component_templates.py:279 -#: netbox/dcim/models/device_components.py:353 +#: netbox/dcim/models/device_component_templates.py:278 +#: netbox/dcim/models/device_components.py:352 msgid "maximum draw" msgstr "最大功率" -#: netbox/dcim/models/device_component_templates.py:286 -#: netbox/dcim/models/device_components.py:360 +#: netbox/dcim/models/device_component_templates.py:285 +#: netbox/dcim/models/device_components.py:359 msgid "allocated draw" msgstr "分配功率" -#: netbox/dcim/models/device_component_templates.py:296 +#: netbox/dcim/models/device_component_templates.py:295 msgid "power port template" msgstr "电源端口模版" -#: netbox/dcim/models/device_component_templates.py:297 +#: netbox/dcim/models/device_component_templates.py:296 msgid "power port templates" msgstr "电源端口模版" -#: netbox/dcim/models/device_component_templates.py:316 -#: netbox/dcim/models/device_components.py:383 +#: netbox/dcim/models/device_component_templates.py:315 +#: netbox/dcim/models/device_components.py:382 #, python-brace-format msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)." msgstr "分配功率不能超过最大功率({maximum_draw}瓦)" -#: netbox/dcim/models/device_component_templates.py:348 -#: netbox/dcim/models/device_components.py:478 +#: netbox/dcim/models/device_component_templates.py:347 +#: netbox/dcim/models/device_components.py:477 msgid "feed leg" msgstr "馈电线路" -#: netbox/dcim/models/device_component_templates.py:352 -#: netbox/dcim/models/device_components.py:482 +#: netbox/dcim/models/device_component_templates.py:351 +#: netbox/dcim/models/device_components.py:481 msgid "Phase (for three-phase feeds)" msgstr "相位(用于三相电)" -#: netbox/dcim/models/device_component_templates.py:358 +#: netbox/dcim/models/device_component_templates.py:357 msgid "power outlet template" msgstr "电源插座模版" -#: netbox/dcim/models/device_component_templates.py:359 +#: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet templates" msgstr "电源插座模版" -#: netbox/dcim/models/device_component_templates.py:368 +#: netbox/dcim/models/device_component_templates.py:367 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "父电源端口 ({power_port}) 必须属于相同的设备类型" -#: netbox/dcim/models/device_component_templates.py:372 +#: netbox/dcim/models/device_component_templates.py:371 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "父电源端口 ({power_port}) 必须属于相同的设备类型" -#: netbox/dcim/models/device_component_templates.py:424 -#: netbox/dcim/models/device_components.py:612 +#: netbox/dcim/models/device_component_templates.py:423 +#: netbox/dcim/models/device_components.py:611 msgid "management only" msgstr "仅限管理" -#: netbox/dcim/models/device_component_templates.py:432 -#: netbox/dcim/models/device_components.py:551 +#: netbox/dcim/models/device_component_templates.py:431 +#: netbox/dcim/models/device_components.py:550 msgid "bridge interface" msgstr "桥接接口" -#: netbox/dcim/models/device_component_templates.py:450 -#: netbox/dcim/models/device_components.py:637 +#: netbox/dcim/models/device_component_templates.py:449 +#: netbox/dcim/models/device_components.py:636 msgid "wireless role" msgstr "无线角色" -#: netbox/dcim/models/device_component_templates.py:456 +#: netbox/dcim/models/device_component_templates.py:455 msgid "interface template" msgstr "接口模版" -#: netbox/dcim/models/device_component_templates.py:457 +#: netbox/dcim/models/device_component_templates.py:456 msgid "interface templates" msgstr "接口模版" -#: netbox/dcim/models/device_component_templates.py:464 -#: netbox/dcim/models/device_components.py:805 +#: netbox/dcim/models/device_component_templates.py:463 +#: netbox/dcim/models/device_components.py:804 #: netbox/virtualization/models/virtualmachines.py:405 msgid "An interface cannot be bridged to itself." msgstr "接口不能桥接到自己" -#: netbox/dcim/models/device_component_templates.py:467 +#: netbox/dcim/models/device_component_templates.py:466 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same device type" msgstr "桥接接口({bridge}) 必须属于相同的设备类型" -#: netbox/dcim/models/device_component_templates.py:471 +#: netbox/dcim/models/device_component_templates.py:470 #, python-brace-format msgid "Bridge interface ({bridge}) must belong to the same module type" msgstr "桥接接口({bridge}) 必须属于相同的模块类型" -#: netbox/dcim/models/device_component_templates.py:527 -#: netbox/dcim/models/device_components.py:985 +#: netbox/dcim/models/device_component_templates.py:526 +#: netbox/dcim/models/device_components.py:984 msgid "rear port position" msgstr "后置接口位置" -#: netbox/dcim/models/device_component_templates.py:552 +#: netbox/dcim/models/device_component_templates.py:551 msgid "front port template" msgstr "前置接口模板" -#: netbox/dcim/models/device_component_templates.py:553 +#: netbox/dcim/models/device_component_templates.py:552 msgid "front port templates" msgstr "前置接口模板" -#: netbox/dcim/models/device_component_templates.py:563 +#: netbox/dcim/models/device_component_templates.py:562 #, python-brace-format msgid "Rear port ({name}) must belong to the same device type" msgstr "后置接口({name})必须属于相同的设备类型" -#: netbox/dcim/models/device_component_templates.py:569 +#: netbox/dcim/models/device_component_templates.py:568 #, python-brace-format msgid "" "Invalid rear port position ({position}); rear port {name} has only {count} " "positions" msgstr "无效的后端口位置 ({position});后端口{name}只有{count}个" -#: netbox/dcim/models/device_component_templates.py:622 -#: netbox/dcim/models/device_components.py:1054 +#: netbox/dcim/models/device_component_templates.py:621 +#: netbox/dcim/models/device_components.py:1053 msgid "positions" msgstr "位置" -#: netbox/dcim/models/device_component_templates.py:633 +#: netbox/dcim/models/device_component_templates.py:632 msgid "rear port template" msgstr "后置端口模版" -#: netbox/dcim/models/device_component_templates.py:634 +#: netbox/dcim/models/device_component_templates.py:633 msgid "rear port templates" msgstr "后置端口模版" -#: netbox/dcim/models/device_component_templates.py:663 -#: netbox/dcim/models/device_components.py:1104 +#: netbox/dcim/models/device_component_templates.py:662 +#: netbox/dcim/models/device_components.py:1103 msgid "position" msgstr "位置" -#: netbox/dcim/models/device_component_templates.py:666 -#: netbox/dcim/models/device_components.py:1107 +#: netbox/dcim/models/device_component_templates.py:665 +#: netbox/dcim/models/device_components.py:1106 msgid "Identifier to reference when renaming installed components" msgstr "重命名已安装组件时要引用的标识符" -#: netbox/dcim/models/device_component_templates.py:672 +#: netbox/dcim/models/device_component_templates.py:671 msgid "module bay template" msgstr "模块托架模版" -#: netbox/dcim/models/device_component_templates.py:673 +#: netbox/dcim/models/device_component_templates.py:672 msgid "module bay templates" msgstr "模块托架模版" -#: netbox/dcim/models/device_component_templates.py:700 +#: netbox/dcim/models/device_component_templates.py:699 msgid "device bay template" msgstr "设备托架模版" -#: netbox/dcim/models/device_component_templates.py:701 +#: netbox/dcim/models/device_component_templates.py:700 msgid "device bay templates" msgstr "设备托架模版" -#: netbox/dcim/models/device_component_templates.py:714 +#: netbox/dcim/models/device_component_templates.py:713 #, python-brace-format msgid "" "Subdevice role of device type ({device_type}) must be set to \"parent\" to " "allow device bays." msgstr "设备类型({device_type})的子设备角色必须设置为“父设备”,才能允许设备托架。" -#: netbox/dcim/models/device_component_templates.py:769 -#: netbox/dcim/models/device_components.py:1263 +#: netbox/dcim/models/device_component_templates.py:768 +#: netbox/dcim/models/device_components.py:1262 msgid "part ID" msgstr "零件ID" -#: netbox/dcim/models/device_component_templates.py:771 -#: netbox/dcim/models/device_components.py:1265 +#: netbox/dcim/models/device_component_templates.py:770 +#: netbox/dcim/models/device_components.py:1264 msgid "Manufacturer-assigned part identifier" msgstr "制造商指定的零件标识符" -#: netbox/dcim/models/device_component_templates.py:788 +#: netbox/dcim/models/device_component_templates.py:787 msgid "inventory item template" msgstr "库存项模版" -#: netbox/dcim/models/device_component_templates.py:789 +#: netbox/dcim/models/device_component_templates.py:788 msgid "inventory item templates" msgstr "库存项模版" -#: netbox/dcim/models/device_components.py:106 +#: netbox/dcim/models/device_components.py:105 msgid "Components cannot be moved to a different device." msgstr "组件模板无法移动到其他设备类型。" -#: netbox/dcim/models/device_components.py:145 +#: netbox/dcim/models/device_components.py:144 msgid "cable end" msgstr "线缆终点" -#: netbox/dcim/models/device_components.py:151 +#: netbox/dcim/models/device_components.py:150 msgid "mark connected" msgstr "标记已连接" -#: netbox/dcim/models/device_components.py:153 +#: netbox/dcim/models/device_components.py:152 msgid "Treat as if a cable is connected" msgstr "视为电缆已连接" -#: netbox/dcim/models/device_components.py:171 +#: netbox/dcim/models/device_components.py:170 msgid "Must specify cable end (A or B) when attaching a cable." msgstr "连接电缆时必须指定电缆末端(A或B)。" -#: netbox/dcim/models/device_components.py:175 +#: netbox/dcim/models/device_components.py:174 msgid "Cable end must not be set without a cable." msgstr "不得在没有线缆的情况下设置线缆末端。" -#: netbox/dcim/models/device_components.py:179 +#: netbox/dcim/models/device_components.py:178 msgid "Cannot mark as connected with a cable attached." msgstr "无法标记为已连接线缆。" -#: netbox/dcim/models/device_components.py:203 +#: netbox/dcim/models/device_components.py:202 #, python-brace-format msgid "{class_name} models must declare a parent_object property" msgstr "{class_name}模块必须声明上架类型" -#: 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 +#: netbox/dcim/models/device_components.py:287 +#: netbox/dcim/models/device_components.py:316 +#: netbox/dcim/models/device_components.py:349 +#: netbox/dcim/models/device_components.py:467 msgid "Physical port type" msgstr "物理端口类型" -#: netbox/dcim/models/device_components.py:291 -#: netbox/dcim/models/device_components.py:320 +#: netbox/dcim/models/device_components.py:290 +#: netbox/dcim/models/device_components.py:319 msgid "speed" msgstr "速率" -#: netbox/dcim/models/device_components.py:295 -#: netbox/dcim/models/device_components.py:324 +#: netbox/dcim/models/device_components.py:294 +#: netbox/dcim/models/device_components.py:323 msgid "Port speed in bits per second" msgstr "端口速度(单位bps)" -#: netbox/dcim/models/device_components.py:301 +#: netbox/dcim/models/device_components.py:300 msgid "console port" msgstr "console端口" -#: netbox/dcim/models/device_components.py:302 +#: netbox/dcim/models/device_components.py:301 msgid "console ports" msgstr "console端口" -#: netbox/dcim/models/device_components.py:330 +#: netbox/dcim/models/device_components.py:329 msgid "console server port" msgstr "console服务器端口" -#: netbox/dcim/models/device_components.py:331 +#: netbox/dcim/models/device_components.py:330 msgid "console server ports" msgstr "console服务器端口" -#: netbox/dcim/models/device_components.py:370 +#: netbox/dcim/models/device_components.py:369 msgid "power port" msgstr "电源接口" -#: netbox/dcim/models/device_components.py:371 +#: netbox/dcim/models/device_components.py:370 msgid "power ports" msgstr "电源接口" -#: netbox/dcim/models/device_components.py:488 +#: netbox/dcim/models/device_components.py:487 msgid "power outlet" msgstr "电源插座" -#: netbox/dcim/models/device_components.py:489 +#: netbox/dcim/models/device_components.py:488 msgid "power outlets" msgstr "电源插座" -#: netbox/dcim/models/device_components.py:500 +#: netbox/dcim/models/device_components.py:499 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "父电源端口({power_port})必须属于同一设备" -#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 +#: netbox/dcim/models/device_components.py:530 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 msgid "mode" msgstr "模式" -#: netbox/dcim/models/device_components.py:535 +#: netbox/dcim/models/device_components.py:534 msgid "IEEE 802.1Q tagging strategy" msgstr "IEEE 802.1Q VLAN 标记策略" -#: netbox/dcim/models/device_components.py:543 +#: netbox/dcim/models/device_components.py:542 msgid "parent interface" msgstr "父接口" -#: netbox/dcim/models/device_components.py:603 +#: netbox/dcim/models/device_components.py:602 msgid "parent LAG" msgstr "父聚合组" -#: netbox/dcim/models/device_components.py:613 +#: netbox/dcim/models/device_components.py:612 msgid "This interface is used only for out-of-band management" msgstr "该接口仅用于带外管理" -#: netbox/dcim/models/device_components.py:618 +#: netbox/dcim/models/device_components.py:617 msgid "speed (Kbps)" msgstr "速率(Kbps)" -#: netbox/dcim/models/device_components.py:621 +#: netbox/dcim/models/device_components.py:620 msgid "duplex" msgstr "双工" -#: netbox/dcim/models/device_components.py:631 +#: netbox/dcim/models/device_components.py:630 msgid "64-bit World Wide Name" msgstr "64位全球唯一标识符" -#: netbox/dcim/models/device_components.py:643 +#: netbox/dcim/models/device_components.py:642 msgid "wireless channel" msgstr "无线信道" -#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:649 msgid "channel frequency (MHz)" msgstr "信道频率(MHz)" -#: netbox/dcim/models/device_components.py:651 -#: netbox/dcim/models/device_components.py:659 +#: netbox/dcim/models/device_components.py:650 +#: netbox/dcim/models/device_components.py:658 msgid "Populated by selected channel (if set)" msgstr "由所选通道填充(如有)" -#: netbox/dcim/models/device_components.py:665 +#: netbox/dcim/models/device_components.py:664 msgid "transmit power (dBm)" msgstr "发射功率(dBm)" -#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:117 +#: netbox/dcim/models/device_components.py:689 netbox/wireless/models.py:117 msgid "wireless LANs" msgstr "无线局域网" -#: netbox/dcim/models/device_components.py:698 +#: netbox/dcim/models/device_components.py:697 #: netbox/virtualization/models/virtualmachines.py:335 msgid "untagged VLAN" msgstr "未标记VLAN" -#: netbox/dcim/models/device_components.py:704 +#: netbox/dcim/models/device_components.py:703 #: netbox/virtualization/models/virtualmachines.py:341 msgid "tagged VLANs" msgstr "已标记 VLANs" -#: netbox/dcim/models/device_components.py:746 +#: netbox/dcim/models/device_components.py:745 #: netbox/virtualization/models/virtualmachines.py:377 msgid "interface" msgstr "接口" -#: netbox/dcim/models/device_components.py:747 +#: netbox/dcim/models/device_components.py:746 #: netbox/virtualization/models/virtualmachines.py:378 msgid "interfaces" msgstr "接口" -#: netbox/dcim/models/device_components.py:758 +#: netbox/dcim/models/device_components.py:757 #, python-brace-format msgid "{display_type} interfaces cannot have a cable attached." msgstr "{display_type}接口不能连接线缆。" -#: netbox/dcim/models/device_components.py:766 +#: netbox/dcim/models/device_components.py:765 #, python-brace-format msgid "{display_type} interfaces cannot be marked as connected." msgstr "{display_type}接口不能标记为已连接。" -#: netbox/dcim/models/device_components.py:775 +#: netbox/dcim/models/device_components.py:774 #: netbox/virtualization/models/virtualmachines.py:390 msgid "An interface cannot be its own parent." msgstr "接口不能是自己的父级。" -#: netbox/dcim/models/device_components.py:779 +#: netbox/dcim/models/device_components.py:778 msgid "Only virtual interfaces may be assigned to a parent interface." msgstr "只能将虚拟接口分配给父接口。" -#: netbox/dcim/models/device_components.py:786 +#: netbox/dcim/models/device_components.py:785 #, python-brace-format msgid "" "The selected parent interface ({interface}) belongs to a different device " "({device})" msgstr "所选父接口({interface}) 属于另一个设备 ({device})" -#: netbox/dcim/models/device_components.py:792 +#: netbox/dcim/models/device_components.py:791 #, 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}的一部分。" -#: netbox/dcim/models/device_components.py:812 +#: netbox/dcim/models/device_components.py:811 #, python-brace-format msgid "" "The selected bridge interface ({bridge}) belongs to a different device " "({device})." msgstr "所选桥接接口 ({bridge})属于另一个设备({device})。" -#: netbox/dcim/models/device_components.py:818 +#: netbox/dcim/models/device_components.py:817 #, 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}的一部分。" -#: netbox/dcim/models/device_components.py:829 +#: netbox/dcim/models/device_components.py:828 msgid "Virtual interfaces cannot have a parent LAG interface." msgstr "虚拟接口不能具有父聚合接口。" -#: netbox/dcim/models/device_components.py:833 +#: netbox/dcim/models/device_components.py:832 msgid "A LAG interface cannot be its own parent." msgstr "聚合接口不能是自己的父级。" -#: netbox/dcim/models/device_components.py:840 +#: netbox/dcim/models/device_components.py:839 #, python-brace-format msgid "" "The selected LAG interface ({lag}) belongs to a different device ({device})." msgstr "选择的LAG接口 ({lag}) 属于不同的设备 ({device})." -#: netbox/dcim/models/device_components.py:846 +#: netbox/dcim/models/device_components.py:845 #, 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}." -#: netbox/dcim/models/device_components.py:857 +#: netbox/dcim/models/device_components.py:856 msgid "Virtual interfaces cannot have a PoE mode." msgstr "虚拟接口不能具有PoE模式。" -#: netbox/dcim/models/device_components.py:861 +#: netbox/dcim/models/device_components.py:860 msgid "Virtual interfaces cannot have a PoE type." msgstr "虚拟接口不能是PoE类型。" -#: netbox/dcim/models/device_components.py:867 +#: netbox/dcim/models/device_components.py:866 msgid "Must specify PoE mode when designating a PoE type." msgstr "指定PoE类型时必须指定PoE模式。" -#: netbox/dcim/models/device_components.py:874 +#: netbox/dcim/models/device_components.py:873 msgid "Wireless role may be set only on wireless interfaces." msgstr "只能在无线接口上设置无线角色。" -#: netbox/dcim/models/device_components.py:876 +#: netbox/dcim/models/device_components.py:875 msgid "Channel may be set only on wireless interfaces." msgstr "只能在无线接口上设置信道。" -#: netbox/dcim/models/device_components.py:882 +#: netbox/dcim/models/device_components.py:881 msgid "Channel frequency may be set only on wireless interfaces." msgstr "信道频率仅在无线接口上设置。" -#: netbox/dcim/models/device_components.py:886 +#: netbox/dcim/models/device_components.py:885 msgid "Cannot specify custom frequency with channel selected." msgstr "无法在选定频道的情况下指定自定义频率。" -#: netbox/dcim/models/device_components.py:892 +#: netbox/dcim/models/device_components.py:891 msgid "Channel width may be set only on wireless interfaces." msgstr "只能在无线接口上设置频宽。" -#: netbox/dcim/models/device_components.py:894 +#: netbox/dcim/models/device_components.py:893 msgid "Cannot specify custom width with channel selected." msgstr "无法在选定通道的情况下指定自定义频宽。" -#: netbox/dcim/models/device_components.py:902 +#: netbox/dcim/models/device_components.py:901 #, 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})必须与接口所属设备/虚拟机属于同一站点,或者是全局VLAN" -#: netbox/dcim/models/device_components.py:991 +#: netbox/dcim/models/device_components.py:990 msgid "Mapped position on corresponding rear port" msgstr "对应后置端口上的映射位置" -#: netbox/dcim/models/device_components.py:1007 +#: netbox/dcim/models/device_components.py:1006 msgid "front port" msgstr "前置端口" -#: netbox/dcim/models/device_components.py:1008 +#: netbox/dcim/models/device_components.py:1007 msgid "front ports" msgstr "前置端口" -#: netbox/dcim/models/device_components.py:1022 +#: netbox/dcim/models/device_components.py:1021 #, python-brace-format msgid "Rear port ({rear_port}) must belong to the same device" msgstr "后置端口({rear_port})必须属于同一设备" -#: netbox/dcim/models/device_components.py:1030 +#: netbox/dcim/models/device_components.py:1029 #, python-brace-format msgid "" "Invalid rear port position ({rear_port_position}): Rear port {name} has only" " {positions} positions." msgstr "无效的后端口位置({rear_port_position});后端口{name}只有 {positions}个" -#: netbox/dcim/models/device_components.py:1060 +#: netbox/dcim/models/device_components.py:1059 msgid "Number of front ports which may be mapped" msgstr "可以映射的前置端口数" -#: netbox/dcim/models/device_components.py:1065 +#: netbox/dcim/models/device_components.py:1064 msgid "rear port" msgstr "后置端口" -#: netbox/dcim/models/device_components.py:1066 +#: netbox/dcim/models/device_components.py:1065 msgid "rear ports" msgstr "后置端口" -#: netbox/dcim/models/device_components.py:1080 +#: netbox/dcim/models/device_components.py:1079 #, python-brace-format msgid "" "The number of positions cannot be less than the number of mapped front ports" " ({frontport_count})" msgstr "位置数不能小于映射的前置端口数({frontport_count})" -#: netbox/dcim/models/device_components.py:1121 +#: netbox/dcim/models/device_components.py:1120 msgid "module bay" msgstr "设备板卡插槽" -#: netbox/dcim/models/device_components.py:1122 +#: netbox/dcim/models/device_components.py:1121 msgid "module bays" msgstr "设备板卡插槽" -#: netbox/dcim/models/device_components.py:1139 -#: netbox/dcim/models/devices.py:1217 +#: netbox/dcim/models/device_components.py:1138 +#: netbox/dcim/models/devices.py:1224 msgid "A module bay cannot belong to a module installed within it." msgstr "模块托架不能属于安装在其中的模块。" -#: netbox/dcim/models/device_components.py:1165 +#: netbox/dcim/models/device_components.py:1164 msgid "device bay" msgstr "设备托架" -#: netbox/dcim/models/device_components.py:1166 +#: netbox/dcim/models/device_components.py:1165 msgid "device bays" msgstr "设备托架" -#: netbox/dcim/models/device_components.py:1176 +#: netbox/dcim/models/device_components.py:1175 #, python-brace-format msgid "This type of device ({device_type}) does not support device bays." msgstr "此类型的设备 ({device_type}) 不支持设备托架。" -#: netbox/dcim/models/device_components.py:1182 +#: netbox/dcim/models/device_components.py:1181 msgid "Cannot install a device into itself." msgstr "无法将设备安装到自身中。" -#: netbox/dcim/models/device_components.py:1190 +#: netbox/dcim/models/device_components.py:1189 #, python-brace-format msgid "" "Cannot install the specified device; device is already installed in {bay}." msgstr "无法安装指定的设备;设备已安装在{bay}中。" -#: netbox/dcim/models/device_components.py:1211 +#: netbox/dcim/models/device_components.py:1210 msgid "inventory item role" msgstr "库存物品分类" -#: netbox/dcim/models/device_components.py:1212 +#: netbox/dcim/models/device_components.py:1211 msgid "inventory item roles" msgstr "库存物品分类" -#: netbox/dcim/models/device_components.py:1269 -#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1174 +#: netbox/dcim/models/device_components.py:1268 +#: netbox/dcim/models/devices.py:607 netbox/dcim/models/devices.py:1181 #: netbox/dcim/models/racks.py:313 #: netbox/virtualization/models/virtualmachines.py:131 msgid "serial number" msgstr "序列号" -#: netbox/dcim/models/device_components.py:1277 -#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1181 +#: netbox/dcim/models/device_components.py:1276 +#: netbox/dcim/models/devices.py:615 netbox/dcim/models/devices.py:1188 #: netbox/dcim/models/racks.py:320 msgid "asset tag" msgstr "资产标签" -#: netbox/dcim/models/device_components.py:1278 +#: netbox/dcim/models/device_components.py:1277 msgid "A unique tag used to identify this item" msgstr "用于识别该项目的唯一标识" -#: netbox/dcim/models/device_components.py:1281 +#: netbox/dcim/models/device_components.py:1280 msgid "discovered" msgstr "已发现" -#: netbox/dcim/models/device_components.py:1283 +#: netbox/dcim/models/device_components.py:1282 msgid "This item was automatically discovered" msgstr "此项目是自动发现的" -#: netbox/dcim/models/device_components.py:1301 +#: netbox/dcim/models/device_components.py:1300 msgid "inventory item" msgstr "库存项" -#: netbox/dcim/models/device_components.py:1302 +#: netbox/dcim/models/device_components.py:1301 msgid "inventory items" msgstr "库存项" -#: netbox/dcim/models/device_components.py:1313 +#: netbox/dcim/models/device_components.py:1312 msgid "Cannot assign self as parent." msgstr "无法将自身分配为父级。" -#: netbox/dcim/models/device_components.py:1321 +#: netbox/dcim/models/device_components.py:1320 msgid "Parent inventory item does not belong to the same device." msgstr "父库存项不能属于同一设备。" -#: netbox/dcim/models/device_components.py:1327 +#: netbox/dcim/models/device_components.py:1326 msgid "Cannot move an inventory item with dependent children" msgstr "无法移动具有子项的库存项目" -#: netbox/dcim/models/device_components.py:1335 +#: netbox/dcim/models/device_components.py:1334 msgid "Cannot assign inventory item to component on another device" msgstr "无法将库存项分配给其他设备上的组件" @@ -5909,7 +5921,7 @@ msgstr "该设备的功能" msgid "Chassis serial number, assigned by the manufacturer" msgstr "制造商分配的机箱序列号" -#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 +#: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1189 msgid "A unique tag used to identify this device" msgstr "用于识别该设备的唯一标签" @@ -5921,12 +5933,12 @@ msgstr "机柜位置(U)" msgid "rack face" msgstr "机柜安装方向" -#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 +#: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1415 #: netbox/virtualization/models/virtualmachines.py:100 msgid "primary IPv4" msgstr "首选 IPv4" -#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1416 +#: netbox/dcim/models/devices.py:678 netbox/dcim/models/devices.py:1423 #: netbox/virtualization/models/virtualmachines.py:108 msgid "primary IPv6" msgstr "首选 IPv6" @@ -6064,70 +6076,77 @@ msgstr "分配的群集属于其他站点({site})" msgid "A device assigned to a virtual chassis must have its position defined." msgstr "分配给集群的设备必须定义其位置。" -#: netbox/dcim/models/devices.py:1189 +#: netbox/dcim/models/devices.py:988 +#, python-brace-format +msgid "" +"Device cannot be removed from virtual chassis {virtual_chassis} because it " +"is currently designated as its master." +msgstr "无法从虚拟机箱中移除设备 {virtual_chassis} 因为它目前被指定为主节点。" + +#: netbox/dcim/models/devices.py:1196 msgid "module" msgstr "模块" -#: netbox/dcim/models/devices.py:1190 +#: netbox/dcim/models/devices.py:1197 msgid "modules" msgstr "模块" -#: netbox/dcim/models/devices.py:1206 +#: netbox/dcim/models/devices.py:1213 #, python-brace-format msgid "" "Module must be installed within a module bay belonging to the assigned " "device ({device})." msgstr "模块必须安装在属于指定设备({device})的模块托架内。" -#: netbox/dcim/models/devices.py:1327 +#: netbox/dcim/models/devices.py:1334 msgid "domain" msgstr "域" -#: netbox/dcim/models/devices.py:1340 netbox/dcim/models/devices.py:1341 +#: netbox/dcim/models/devices.py:1347 netbox/dcim/models/devices.py:1348 msgid "virtual chassis" msgstr "堆叠" -#: netbox/dcim/models/devices.py:1356 +#: netbox/dcim/models/devices.py:1363 #, python-brace-format msgid "" "The selected master ({master}) is not assigned to this virtual chassis." msgstr "所选主设备({master})未分配给此堆叠。" -#: netbox/dcim/models/devices.py:1372 +#: netbox/dcim/models/devices.py:1379 #, python-brace-format msgid "" "Unable to delete virtual chassis {self}. There are member interfaces which " "form a cross-chassis LAG interfaces." msgstr "无法删除堆叠 {self}。有成员接口属于跨机箱聚合。" -#: netbox/dcim/models/devices.py:1397 netbox/vpn/models/l2vpn.py:37 +#: netbox/dcim/models/devices.py:1404 netbox/vpn/models/l2vpn.py:37 msgid "identifier" msgstr "标识符" -#: netbox/dcim/models/devices.py:1398 +#: netbox/dcim/models/devices.py:1405 msgid "Numeric identifier unique to the parent device" msgstr "父设备唯一的标识符" -#: netbox/dcim/models/devices.py:1426 netbox/extras/models/customfields.py:225 +#: netbox/dcim/models/devices.py:1433 netbox/extras/models/customfields.py:225 #: netbox/extras/models/models.py:107 netbox/extras/models/models.py:694 #: netbox/netbox/models/__init__.py:115 msgid "comments" msgstr "评论" -#: netbox/dcim/models/devices.py:1442 +#: netbox/dcim/models/devices.py:1449 msgid "virtual device context" msgstr "设备虚拟实例" -#: netbox/dcim/models/devices.py:1443 +#: netbox/dcim/models/devices.py:1450 msgid "virtual device contexts" msgstr "设备虚拟实例" -#: netbox/dcim/models/devices.py:1475 +#: netbox/dcim/models/devices.py:1482 #, python-brace-format msgid "{ip} is not an IPv{family} address." msgstr "{ip} 不是有效的 IPv{family} 地址" -#: netbox/dcim/models/devices.py:1481 +#: netbox/dcim/models/devices.py:1488 msgid "Primary IP address must belong to an interface on the assigned device." msgstr "首选 IP 地址必须属于指定设备上的接口。" @@ -6543,7 +6562,7 @@ msgstr "配置模版" msgid "Site Group" msgstr "站点组" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1068 #: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/model_forms.py:306 #: netbox/ipam/forms/model_forms.py:315 netbox/ipam/tables/ip.py:356 #: netbox/ipam/tables/ip.py:423 netbox/ipam/tables/ip.py:446 @@ -6552,12 +6571,12 @@ msgstr "站点组" msgid "IP Address" msgstr "IP地址" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1072 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4 地址" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1076 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6 地址" @@ -6595,8 +6614,8 @@ msgstr "电源接口" msgid "Power outlets" msgstr "电源插座" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1078 -#: netbox/dcim/tables/devicetypes.py:129 netbox/dcim/views.py:1042 +#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1081 +#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1042 #: netbox/dcim/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 #: netbox/templates/dcim/device/base.html:37 @@ -6634,8 +6653,8 @@ msgstr "库存项" msgid "Module Bay" msgstr "设备板卡插槽" -#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:48 -#: netbox/dcim/tables/devicetypes.py:144 netbox/dcim/views.py:1117 +#: netbox/dcim/tables/devices.py:318 netbox/dcim/tables/devicetypes.py:47 +#: netbox/dcim/tables/devicetypes.py:143 netbox/dcim/views.py:1117 #: netbox/dcim/views.py:2075 netbox/netbox/navigation/menu.py:103 #: netbox/templates/dcim/device/base.html:52 #: netbox/templates/dcim/device_list.html:71 @@ -6693,75 +6712,75 @@ msgstr "网关冗余协议组" msgid "Tunnel" msgstr "隧道" -#: netbox/dcim/tables/devices.py:601 netbox/dcim/tables/devicetypes.py:228 +#: netbox/dcim/tables/devices.py:604 netbox/dcim/tables/devicetypes.py:227 #: netbox/templates/dcim/interface.html:65 msgid "Management Only" msgstr "仅限管理" -#: netbox/dcim/tables/devices.py:620 +#: netbox/dcim/tables/devices.py:623 msgid "VDCs" msgstr "VDCs" -#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:873 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "已安装的模块" -#: netbox/dcim/tables/devices.py:873 +#: netbox/dcim/tables/devices.py:876 msgid "Module Serial" msgstr "模块状态" -#: netbox/dcim/tables/devices.py:877 +#: netbox/dcim/tables/devices.py:880 msgid "Module Asset Tag" msgstr "模块资产标签" -#: netbox/dcim/tables/devices.py:886 +#: netbox/dcim/tables/devices.py:889 msgid "Module Status" msgstr "模块状态" -#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:944 netbox/dcim/tables/devicetypes.py:312 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "组件" -#: netbox/dcim/tables/devices.py:997 +#: netbox/dcim/tables/devices.py:1000 msgid "Items" msgstr "项目" -#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:84 +#: netbox/dcim/tables/devicetypes.py:37 netbox/netbox/navigation/menu.py:84 #: netbox/netbox/navigation/menu.py:86 msgid "Device Types" msgstr "设备型号" -#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:87 +#: netbox/dcim/tables/devicetypes.py:42 netbox/netbox/navigation/menu.py:87 msgid "Module Types" msgstr "设备配件类型" -#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:371 +#: netbox/dcim/tables/devicetypes.py:52 netbox/extras/forms/filtersets.py:371 #: netbox/extras/forms/model_forms.py:537 netbox/extras/tables/tables.py:540 #: netbox/netbox/navigation/menu.py:78 msgid "Platforms" msgstr "操作系统" -#: netbox/dcim/tables/devicetypes.py:85 +#: netbox/dcim/tables/devicetypes.py:84 #: netbox/templates/dcim/devicetype.html:29 msgid "Default Platform" msgstr "默认系统平台" -#: netbox/dcim/tables/devicetypes.py:89 +#: netbox/dcim/tables/devicetypes.py:88 #: netbox/templates/dcim/devicetype.html:45 msgid "Full Depth" msgstr "全尺寸" -#: netbox/dcim/tables/devicetypes.py:99 +#: netbox/dcim/tables/devicetypes.py:98 msgid "U Height" msgstr "U高度" -#: netbox/dcim/tables/devicetypes.py:114 netbox/dcim/tables/modules.py:26 +#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/tables/modules.py:26 #: netbox/dcim/tables/racks.py:89 msgid "Instances" msgstr "实例" -#: netbox/dcim/tables/devicetypes.py:117 netbox/dcim/views.py:982 +#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:982 #: netbox/dcim/views.py:1221 netbox/dcim/views.py:1913 #: netbox/netbox/navigation/menu.py:97 #: netbox/templates/dcim/device/base.html:25 @@ -6772,7 +6791,7 @@ msgstr "实例" msgid "Console Ports" msgstr "Console口" -#: netbox/dcim/tables/devicetypes.py:120 netbox/dcim/views.py:997 +#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:997 #: netbox/dcim/views.py:1236 netbox/dcim/views.py:1929 #: netbox/netbox/navigation/menu.py:98 #: netbox/templates/dcim/device/base.html:28 @@ -6783,7 +6802,7 @@ msgstr "Console口" msgid "Console Server Ports" msgstr "Console 服务端口" -#: netbox/dcim/tables/devicetypes.py:123 netbox/dcim/views.py:1012 +#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:1012 #: netbox/dcim/views.py:1251 netbox/dcim/views.py:1945 #: netbox/netbox/navigation/menu.py:99 #: netbox/templates/dcim/device/base.html:31 @@ -6794,7 +6813,7 @@ msgstr "Console 服务端口" msgid "Power Ports" msgstr "电源接口" -#: netbox/dcim/tables/devicetypes.py:126 netbox/dcim/views.py:1027 +#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:1027 #: netbox/dcim/views.py:1266 netbox/dcim/views.py:1961 #: netbox/netbox/navigation/menu.py:100 #: netbox/templates/dcim/device/base.html:34 @@ -6805,7 +6824,7 @@ msgstr "电源接口" msgid "Power Outlets" msgstr "PDU" -#: netbox/dcim/tables/devicetypes.py:132 netbox/dcim/views.py:1057 +#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1057 #: netbox/dcim/views.py:1296 netbox/dcim/views.py:1999 #: netbox/netbox/navigation/menu.py:95 #: netbox/templates/dcim/device/base.html:40 @@ -6815,7 +6834,7 @@ msgstr "PDU" msgid "Front Ports" msgstr "前置端口" -#: netbox/dcim/tables/devicetypes.py:135 netbox/dcim/views.py:1072 +#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1072 #: netbox/dcim/views.py:1311 netbox/dcim/views.py:2015 #: netbox/netbox/navigation/menu.py:96 #: netbox/templates/dcim/device/base.html:43 @@ -6826,7 +6845,7 @@ msgstr "前置端口" msgid "Rear Ports" msgstr "后置端口" -#: netbox/dcim/tables/devicetypes.py:138 netbox/dcim/views.py:1102 +#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1102 #: netbox/dcim/views.py:2055 netbox/netbox/navigation/menu.py:102 #: netbox/templates/dcim/device/base.html:49 #: netbox/templates/dcim/device_list.html:57 @@ -6834,7 +6853,7 @@ msgstr "后置端口" msgid "Device Bays" msgstr "机柜托架" -#: netbox/dcim/tables/devicetypes.py:141 netbox/dcim/views.py:1087 +#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1087 #: netbox/dcim/views.py:1326 netbox/dcim/views.py:2035 #: netbox/netbox/navigation/menu.py:101 #: netbox/templates/dcim/device/base.html:46 @@ -7272,81 +7291,81 @@ msgstr "小组件类型" msgid "Unregistered widget class: {name}" msgstr "未注册的小组件类型: {name}" -#: netbox/extras/dashboard/widgets.py:126 +#: netbox/extras/dashboard/widgets.py:125 #, python-brace-format msgid "{class_name} must define a render() method." msgstr "{class_name}必须定义render() 方法。" -#: netbox/extras/dashboard/widgets.py:145 +#: netbox/extras/dashboard/widgets.py:144 msgid "Note" msgstr "公告" -#: netbox/extras/dashboard/widgets.py:146 +#: netbox/extras/dashboard/widgets.py:145 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "显示任意的自定义内容。支持Markdown。" -#: netbox/extras/dashboard/widgets.py:159 +#: netbox/extras/dashboard/widgets.py:158 msgid "Object Counts" msgstr "对象统计" -#: netbox/extras/dashboard/widgets.py:160 +#: netbox/extras/dashboard/widgets.py:159 msgid "" "Display a set of NetBox models and the number of objects created for each " "type." msgstr "显示NetBox模型以及为每种类型创建的对象数。" -#: netbox/extras/dashboard/widgets.py:170 +#: netbox/extras/dashboard/widgets.py:169 msgid "Filters to apply when counting the number of objects" msgstr "统计对象数时要应用的筛选器" -#: netbox/extras/dashboard/widgets.py:178 +#: netbox/extras/dashboard/widgets.py:177 msgid "Invalid format. Object filters must be passed as a dictionary." msgstr "无效的格式。对象筛选器必须作为字典传递。" -#: netbox/extras/dashboard/widgets.py:209 +#: netbox/extras/dashboard/widgets.py:208 msgid "Object List" msgstr "对象列表" -#: netbox/extras/dashboard/widgets.py:210 +#: netbox/extras/dashboard/widgets.py:209 msgid "Display an arbitrary list of objects." msgstr "显示任意的对象列表。" -#: netbox/extras/dashboard/widgets.py:223 +#: netbox/extras/dashboard/widgets.py:222 msgid "The default number of objects to display" msgstr "要显示的默认对象数" -#: netbox/extras/dashboard/widgets.py:235 +#: netbox/extras/dashboard/widgets.py:234 msgid "Invalid format. URL parameters must be passed as a dictionary." msgstr "无效的格式。URL参数必须作为字典传递。" -#: netbox/extras/dashboard/widgets.py:275 +#: netbox/extras/dashboard/widgets.py:274 msgid "RSS Feed" msgstr "RSS订阅" -#: netbox/extras/dashboard/widgets.py:280 +#: netbox/extras/dashboard/widgets.py:279 msgid "Embed an RSS feed from an external website." msgstr "嵌入来自外部网站的 RSS 源。" -#: netbox/extras/dashboard/widgets.py:287 +#: netbox/extras/dashboard/widgets.py:286 msgid "Feed URL" msgstr "订阅链接" -#: netbox/extras/dashboard/widgets.py:292 +#: netbox/extras/dashboard/widgets.py:291 msgid "The maximum number of objects to display" msgstr "要多显示的对象数" -#: netbox/extras/dashboard/widgets.py:297 +#: netbox/extras/dashboard/widgets.py:296 msgid "How long to stored the cached content (in seconds)" msgstr "存储缓存内容的时间(秒)" -#: netbox/extras/dashboard/widgets.py:349 +#: netbox/extras/dashboard/widgets.py:348 #: netbox/templates/account/base.html:10 #: netbox/templates/account/bookmarks.html:7 #: netbox/templates/inc/user_menu.html:48 msgid "Bookmarks" msgstr "书签" -#: netbox/extras/dashboard/widgets.py:353 +#: netbox/extras/dashboard/widgets.py:352 msgid "Show your personal bookmarks" msgstr "显示您的个人书签" @@ -7389,8 +7408,8 @@ msgstr "堆叠类型(缩写)" msgid "Tenant group" msgstr "租户组" -#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 -#: netbox/tenancy/filtersets.py:209 +#: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:188 +#: netbox/tenancy/filtersets.py:208 msgid "Tenant group (slug)" msgstr "租户组(缩写)" @@ -7527,7 +7546,7 @@ msgstr "激活的" #: netbox/extras/forms/model_forms.py:278 #: netbox/extras/forms/model_forms.py:372 #: netbox/extras/forms/model_forms.py:489 -#: netbox/users/forms/model_forms.py:277 +#: netbox/users/forms/model_forms.py:276 msgid "Object types" msgstr "对象类型" @@ -7624,8 +7643,8 @@ msgstr "条目的分类" #: netbox/extras/forms/bulk_import.py:261 #: netbox/extras/forms/model_forms.py:320 netbox/netbox/navigation/menu.py:390 #: netbox/templates/extras/notificationgroup.html:41 -#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:237 -#: netbox/users/forms/model_forms.py:249 netbox/users/forms/model_forms.py:301 +#: netbox/templates/users/group.html:29 netbox/users/forms/model_forms.py:236 +#: netbox/users/forms/model_forms.py:248 netbox/users/forms/model_forms.py:300 #: netbox/users/tables.py:102 msgid "Users" msgstr "用户" @@ -7637,8 +7656,8 @@ msgstr "用户名用逗号分隔,用双引号括起来" #: netbox/extras/forms/bulk_import.py:268 #: netbox/extras/forms/model_forms.py:315 netbox/netbox/navigation/menu.py:410 #: netbox/templates/extras/notificationgroup.html:31 -#: netbox/users/forms/model_forms.py:182 netbox/users/forms/model_forms.py:194 -#: netbox/users/forms/model_forms.py:306 netbox/users/tables.py:35 +#: netbox/users/forms/model_forms.py:181 netbox/users/forms/model_forms.py:193 +#: netbox/users/forms/model_forms.py:305 netbox/users/tables.py:35 #: netbox/users/tables.py:106 msgid "Groups" msgstr "组" @@ -8318,10 +8337,17 @@ msgstr "自定义字段选择集" msgid "custom field choice sets" msgstr "自定义字段选择集" -#: netbox/extras/models/customfields.py:819 +#: netbox/extras/models/customfields.py:825 msgid "Must define base or extra choices." msgstr "必须定义基本选项或额外选项。" +#: netbox/extras/models/customfields.py:849 +#, python-brace-format +msgid "" +"Cannot remove choice {choice} as there are {model} objects which reference " +"it." +msgstr "无法删除选择 {choice} 正如有 {model} 引用它的对象。" + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "布局" @@ -8877,64 +8903,64 @@ msgstr "信息" msgid "Method" msgstr "方法" -#: netbox/extras/validators.py:16 +#: netbox/extras/validators.py:15 #, python-format msgid "Ensure this value is equal to %(limit_value)s." msgstr "请确保值等于 %(limit_value)s." -#: netbox/extras/validators.py:27 +#: netbox/extras/validators.py:26 #, python-format msgid "Ensure this value does not equal %(limit_value)s." msgstr "请确保值不等于 %(limit_value)s." -#: netbox/extras/validators.py:38 +#: netbox/extras/validators.py:37 msgid "This field must be empty." msgstr "此字段必须为空" -#: netbox/extras/validators.py:53 +#: netbox/extras/validators.py:52 msgid "This field must not be empty." msgstr "此字段必须不为空" -#: netbox/extras/validators.py:95 +#: netbox/extras/validators.py:94 msgid "Validation rules must be passed as a dictionary" msgstr "验证规则必须以字典形式传递" -#: netbox/extras/validators.py:120 +#: netbox/extras/validators.py:119 #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "{attribute} 的自定义验证失败:{exception}" -#: netbox/extras/validators.py:134 +#: netbox/extras/validators.py:133 #, python-brace-format msgid "Invalid attribute \"{name}\" for request" msgstr "请求的属性“{name}”无效" -#: netbox/extras/validators.py:151 +#: netbox/extras/validators.py:150 #, python-brace-format msgid "Invalid attribute \"{name}\" for {model}" msgstr "{model}的属性 \"{name}\"无效" -#: netbox/extras/views.py:961 +#: netbox/extras/views.py:960 msgid "Your dashboard has been reset." msgstr "仪表盘已重置。" -#: netbox/extras/views.py:1007 +#: netbox/extras/views.py:1006 msgid "Added widget: " msgstr "添加小组件:" -#: netbox/extras/views.py:1048 +#: netbox/extras/views.py:1047 msgid "Updated widget: " msgstr "更新小组件:" -#: netbox/extras/views.py:1084 +#: netbox/extras/views.py:1083 msgid "Deleted widget: " msgstr "删除小组件:" -#: netbox/extras/views.py:1086 +#: netbox/extras/views.py:1085 msgid "Error deleting widget: " msgstr "删除小组件错误:" -#: netbox/extras/views.py:1173 +#: netbox/extras/views.py:1172 msgid "Unable to run script: RQ worker process not running." msgstr "无法运行脚本:RQ worker 进程未运行。" @@ -9002,19 +9028,19 @@ msgstr "明文" msgid "Invalid IP address format: {address}" msgstr "IP 地址格式无效: {address}" -#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:315 +#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:304 msgid "Import target" msgstr "引入target" -#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:321 +#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:310 msgid "Import target (name)" msgstr "引入target(名称)" -#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:326 +#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:315 msgid "Export target" msgstr "输出target" -#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:332 +#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:321 msgid "Export target (name)" msgstr "输出target(名称)" @@ -9084,11 +9110,11 @@ msgstr "包含此前缀或IP的前缀" msgid "Mask length" msgstr "掩码长度" -#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:438 +#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:427 msgid "VLAN (ID)" msgstr "VLAN (ID)" -#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:433 +#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:422 msgid "VLAN number (1-4094)" msgstr "VLAN 号(1-4094)" @@ -9108,23 +9134,23 @@ msgid "Parent prefix" msgstr "上级前缀" #: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856 -#: netbox/ipam/filtersets.py:1105 netbox/vpn/filtersets.py:396 +#: netbox/ipam/filtersets.py:1131 netbox/vpn/filtersets.py:385 msgid "Virtual machine (name)" msgstr "虚拟机(名称)" #: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861 -#: netbox/ipam/filtersets.py:1099 netbox/virtualization/filtersets.py:282 -#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:401 +#: netbox/ipam/filtersets.py:1125 netbox/virtualization/filtersets.py:282 +#: netbox/virtualization/filtersets.py:321 netbox/vpn/filtersets.py:390 msgid "Virtual machine (ID)" msgstr "虚拟机(ID)" #: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97 -#: netbox/vpn/filtersets.py:407 +#: netbox/vpn/filtersets.py:396 msgid "Interface (name)" msgstr "接口(名称)" #: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108 -#: netbox/vpn/filtersets.py:418 +#: netbox/vpn/filtersets.py:407 msgid "VM interface (name)" msgstr "虚拟接口(名称)" @@ -9152,19 +9178,27 @@ msgstr "服务 (ID)" msgid "NAT inside IP address (ID)" msgstr "NAT 内部 IP 地址 (ID)" -#: netbox/ipam/filtersets.py:1110 +#: netbox/ipam/filtersets.py:1041 netbox/ipam/forms/bulk_import.py:322 +msgid "Assigned interface" +msgstr "分配的接口" + +#: netbox/ipam/filtersets.py:1046 +msgid "Assigned VM interface" +msgstr "分配的虚拟机接口" + +#: netbox/ipam/filtersets.py:1136 msgid "IP address (ID)" msgstr "IP 地址 (ID)" -#: netbox/ipam/filtersets.py:1116 netbox/ipam/models/ip.py:788 +#: netbox/ipam/filtersets.py:1142 netbox/ipam/models/ip.py:788 msgid "IP address" msgstr "IP 地址" -#: netbox/ipam/filtersets.py:1141 +#: netbox/ipam/filtersets.py:1167 msgid "Primary IPv4 (ID)" msgstr "首选 IPv4(ID)" -#: netbox/ipam/filtersets.py:1146 +#: netbox/ipam/filtersets.py:1172 msgid "Primary IPv6 (ID)" msgstr "首选IPv6(ID)" @@ -9378,10 +9412,6 @@ msgstr "虚拟机" msgid "Parent VM of assigned interface (if any)" msgstr "指定接口的父虚拟机(如果有)" -#: netbox/ipam/forms/bulk_import.py:322 -msgid "Assigned interface" -msgstr "分配的接口" - #: netbox/ipam/forms/bulk_import.py:325 msgid "Is primary" msgstr "首选" @@ -10911,9 +10941,9 @@ msgstr "管理员" msgid "API Tokens" msgstr "API Token" -#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:188 -#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:243 -#: netbox/users/forms/model_forms.py:250 +#: netbox/netbox/navigation/menu.py:437 netbox/users/forms/model_forms.py:187 +#: netbox/users/forms/model_forms.py:195 netbox/users/forms/model_forms.py:242 +#: netbox/users/forms/model_forms.py:249 msgid "Permissions" msgstr "权限" @@ -11058,63 +11088,63 @@ msgstr "初始化后无法在注册表中添加存储空间" msgid "Cannot delete stores from registry" msgstr "无法从注册表中删除存储" -#: netbox/netbox/settings.py:762 +#: netbox/netbox/settings.py:760 msgid "Czech" msgstr "捷克语" -#: netbox/netbox/settings.py:763 +#: netbox/netbox/settings.py:761 msgid "Danish" msgstr "丹麦语" -#: netbox/netbox/settings.py:764 +#: netbox/netbox/settings.py:762 msgid "German" msgstr "德语" -#: netbox/netbox/settings.py:765 +#: netbox/netbox/settings.py:763 msgid "English" msgstr "英语" -#: netbox/netbox/settings.py:766 +#: netbox/netbox/settings.py:764 msgid "Spanish" msgstr "西班牙语" -#: netbox/netbox/settings.py:767 +#: netbox/netbox/settings.py:765 msgid "French" msgstr "法语" -#: netbox/netbox/settings.py:768 +#: netbox/netbox/settings.py:766 msgid "Italian" msgstr "意大利语" -#: netbox/netbox/settings.py:769 +#: netbox/netbox/settings.py:767 msgid "Japanese" msgstr "日语" -#: netbox/netbox/settings.py:770 +#: netbox/netbox/settings.py:768 msgid "Dutch" msgstr "荷兰语" -#: netbox/netbox/settings.py:771 +#: netbox/netbox/settings.py:769 msgid "Polish" msgstr "波兰语" -#: netbox/netbox/settings.py:772 +#: netbox/netbox/settings.py:770 msgid "Portuguese" msgstr "葡萄牙语" -#: netbox/netbox/settings.py:773 +#: netbox/netbox/settings.py:771 msgid "Russian" msgstr "俄语" -#: netbox/netbox/settings.py:774 +#: netbox/netbox/settings.py:772 msgid "Turkish" msgstr "土耳其语" -#: netbox/netbox/settings.py:775 +#: netbox/netbox/settings.py:773 msgid "Ukrainian" msgstr "乌克兰语" -#: netbox/netbox/settings.py:776 +#: netbox/netbox/settings.py:774 msgid "Chinese" msgstr "中文" @@ -12777,7 +12807,7 @@ msgstr "新增成员" #: netbox/templates/dcim/virtualchassis_add_member.html:27 #: netbox/templates/generic/object_edit.html:78 #: netbox/templates/users/objectpermission.html:31 -#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:313 +#: netbox/users/forms/filtersets.py:67 netbox/users/forms/model_forms.py:312 msgid "Actions" msgstr "激活" @@ -13789,7 +13819,7 @@ msgstr "文件%(filename)s存在于静态文件根目录中,可 msgid "Click here to attempt loading NetBox again." msgstr "点击 这里重新加载NetBox" -#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148 +#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:147 #: 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 @@ -13818,7 +13848,7 @@ msgid "Add Contact Group" msgstr "增加联系人组" #: netbox/templates/tenancy/contactrole.html:15 -#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61 +#: netbox/tenancy/filtersets.py:152 netbox/tenancy/forms/forms.py:61 #: netbox/tenancy/forms/model_forms.py:87 msgid "Contact Role" msgstr "联系人角色" @@ -13856,7 +13886,7 @@ msgid "View" msgstr "查看" #: netbox/templates/users/objectpermission.html:52 -#: netbox/users/forms/model_forms.py:316 +#: netbox/users/forms/model_forms.py:315 msgid "Constraints" msgstr "限制因素" @@ -13883,11 +13913,6 @@ msgstr "内存" msgid "Disk Space" msgstr "磁盘空间" -#: netbox/templates/virtualization/cluster.html:72 -msgctxt "Abbreviation for gigabyte" -msgid "GB" -msgstr "GB" - #: netbox/templates/virtualization/cluster/base.html:18 msgid "Add Virtual Machine" msgstr "增加虚拟机" @@ -14128,57 +14153,57 @@ msgstr "链接属性" msgid "Distance" msgstr "距离" -#: netbox/tenancy/filtersets.py:29 +#: netbox/tenancy/filtersets.py:28 msgid "Parent contact group (ID)" msgstr "父联系人组 (ID)" -#: netbox/tenancy/filtersets.py:35 +#: netbox/tenancy/filtersets.py:34 msgid "Parent contact group (slug)" msgstr "父联系人组 (缩写)" -#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 -#: netbox/tenancy/filtersets.py:111 +#: netbox/tenancy/filtersets.py:40 netbox/tenancy/filtersets.py:67 +#: netbox/tenancy/filtersets.py:110 msgid "Contact group (ID)" msgstr "联系人组 (ID)" -#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 -#: netbox/tenancy/filtersets.py:118 +#: netbox/tenancy/filtersets.py:47 netbox/tenancy/filtersets.py:74 +#: netbox/tenancy/filtersets.py:117 msgid "Contact group (slug)" msgstr "联系人组(缩写)" -#: netbox/tenancy/filtersets.py:105 +#: netbox/tenancy/filtersets.py:104 msgid "Contact (ID)" msgstr "联系人 (ID)" -#: netbox/tenancy/filtersets.py:122 +#: netbox/tenancy/filtersets.py:121 msgid "Contact role (ID)" msgstr "联系人角色 (ID)" -#: netbox/tenancy/filtersets.py:128 +#: netbox/tenancy/filtersets.py:127 msgid "Contact role (slug)" msgstr "联系人角色(缩写)" -#: netbox/tenancy/filtersets.py:159 +#: netbox/tenancy/filtersets.py:158 msgid "Contact group" msgstr "联系人组" -#: netbox/tenancy/filtersets.py:170 +#: netbox/tenancy/filtersets.py:169 msgid "Parent tenant group (ID)" msgstr "父租户组 (ID)" -#: netbox/tenancy/filtersets.py:176 +#: netbox/tenancy/filtersets.py:175 msgid "Parent tenant group (slug)" msgstr "上级租户组(slug)" -#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 +#: netbox/tenancy/filtersets.py:181 netbox/tenancy/filtersets.py:201 msgid "Tenant group (ID)" msgstr "租户组 (ID)" -#: netbox/tenancy/filtersets.py:235 +#: netbox/tenancy/filtersets.py:234 msgid "Tenant Group (ID)" msgstr "租户组 (ID)" -#: netbox/tenancy/filtersets.py:242 +#: netbox/tenancy/filtersets.py:241 msgid "Tenant Group (slug)" msgstr "租户组(缩写)" @@ -14343,11 +14368,11 @@ msgstr "可更改" msgid "Can Delete" msgstr "可删除" -#: netbox/users/forms/model_forms.py:63 +#: netbox/users/forms/model_forms.py:62 msgid "User Interface" msgstr "用户接口" -#: netbox/users/forms/model_forms.py:115 +#: netbox/users/forms/model_forms.py:114 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 " @@ -14355,7 +14380,7 @@ msgid "" msgstr "" "密钥的长度必须至少为40个字符。在提交此表单之前请务必记下您的密钥因为一旦创建了令牌,就可能无法再访问该密钥。" -#: netbox/users/forms/model_forms.py:127 +#: netbox/users/forms/model_forms.py:126 msgid "" "Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for" " no restrictions. Example: " @@ -14364,42 +14389,42 @@ msgstr "" "允许使用 Token 的 IPv4/IPv6 网络。留空表示无限制。示例: " "10.1.1.0/24,192.168.10.16/32,2001:db8:1::/64" -#: netbox/users/forms/model_forms.py:176 +#: netbox/users/forms/model_forms.py:175 msgid "Confirm password" msgstr "确认密码" -#: netbox/users/forms/model_forms.py:179 +#: netbox/users/forms/model_forms.py:178 msgid "Enter the same password as before, for verification." msgstr "输入与以前相同的密码进行验证。" -#: netbox/users/forms/model_forms.py:228 +#: netbox/users/forms/model_forms.py:227 msgid "Passwords do not match! Please check your input and try again." msgstr "密码错误!请检查您的输入,然后重试。" -#: netbox/users/forms/model_forms.py:295 +#: netbox/users/forms/model_forms.py:294 msgid "Additional actions" msgstr "其他操作" -#: netbox/users/forms/model_forms.py:298 +#: netbox/users/forms/model_forms.py:297 msgid "Actions granted in addition to those listed above" msgstr "除上述操作外,还批准了其他操作" -#: netbox/users/forms/model_forms.py:314 +#: netbox/users/forms/model_forms.py:313 msgid "Objects" msgstr "对象" -#: netbox/users/forms/model_forms.py:326 +#: netbox/users/forms/model_forms.py:325 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以匹配此类型的所有对象。多个对象的列表将执行“或”运算。" -#: netbox/users/forms/model_forms.py:365 +#: netbox/users/forms/model_forms.py:364 msgid "At least one action must be selected." msgstr "必须至少选择一个操作。" -#: netbox/users/forms/model_forms.py:383 +#: netbox/users/forms/model_forms.py:382 #, python-brace-format msgid "Invalid filter for {model}: {error}" msgstr "{model}的筛选器无效: {error}" @@ -14634,7 +14659,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "多项选择字段的值无效:{value}" #: netbox/utilities/forms/fields/csv.py:57 -#: netbox/utilities/forms/fields/csv.py:74 +#: netbox/utilities/forms/fields/csv.py:78 #, python-format msgid "Object not found: %(value)s" msgstr "未找到对象:·%(value)s" @@ -14646,11 +14671,16 @@ msgid "" "found" msgstr "\"{value}\" 不是此字段的唯一值;找到多个对象" -#: netbox/utilities/forms/fields/csv.py:97 +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." +msgstr "“{field_name}“是无效的访问器字段名称。" + +#: netbox/utilities/forms/fields/csv.py:101 msgid "Object type must be specified as \".\"" msgstr "对象类型必须定义为\".\"" -#: netbox/utilities/forms/fields/csv.py:101 +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "无效的对象类型" @@ -15199,19 +15229,19 @@ msgstr "DSA 签名" msgid "Group {n}" msgstr "Group {n}" -#: netbox/vpn/choices.py:241 +#: netbox/vpn/choices.py:243 msgid "Ethernet Private LAN" msgstr "Ethernet Private LAN" -#: netbox/vpn/choices.py:242 +#: netbox/vpn/choices.py:244 msgid "Ethernet Virtual Private LAN" msgstr "Ethernet Virtual Private LAN" -#: netbox/vpn/choices.py:245 +#: netbox/vpn/choices.py:247 msgid "Ethernet Private Tree" msgstr "Ethernet Private Tree" -#: netbox/vpn/choices.py:246 +#: netbox/vpn/choices.py:248 msgid "Ethernet Virtual Private Tree" msgstr "Ethernet Virtual Private Tree" @@ -15243,33 +15273,31 @@ msgstr "隧道(名称)" msgid "Outside IP (ID)" msgstr "外部 IP (ID)" -#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153 -#: netbox/vpn/filtersets.py:274 +#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:263 msgid "IKE policy (ID)" msgstr "IKE 策略 (ID)" -#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159 -#: netbox/vpn/filtersets.py:280 +#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:269 msgid "IKE policy (name)" msgstr "IKE 策略(名称)" -#: netbox/vpn/filtersets.py:211 netbox/vpn/filtersets.py:284 +#: netbox/vpn/filtersets.py:200 netbox/vpn/filtersets.py:273 msgid "IPSec policy (ID)" msgstr "IPsec 策略 (ID)" -#: netbox/vpn/filtersets.py:217 netbox/vpn/filtersets.py:290 +#: netbox/vpn/filtersets.py:206 netbox/vpn/filtersets.py:279 msgid "IPSec policy (name)" msgstr "IPsec 策略(名称)" -#: netbox/vpn/filtersets.py:359 +#: netbox/vpn/filtersets.py:348 msgid "L2VPN (slug)" msgstr "L2VPN(缩写)" -#: netbox/vpn/filtersets.py:423 +#: netbox/vpn/filtersets.py:412 msgid "VM Interface (ID)" msgstr "虚拟接口 (ID)" -#: netbox/vpn/filtersets.py:429 +#: netbox/vpn/filtersets.py:418 msgid "VLAN (name)" msgstr "VLAN(名称)" From 5c5a53bf3f4112e9de905fe19706d89d42f92b7c Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 15 Oct 2024 13:38:51 -0400 Subject: [PATCH 40/41] subscriptions_enabled was removed in strawberry-graphql v0.245.0 --- netbox/netbox/graphql/views.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/netbox/netbox/graphql/views.py b/netbox/netbox/graphql/views.py index b347d71b4..85a01f025 100644 --- a/netbox/netbox/graphql/views.py +++ b/netbox/netbox/graphql/views.py @@ -1,10 +1,6 @@ -import json - from django.conf import settings from django.contrib.auth.views import redirect_to_login from django.http import HttpResponseNotFound, HttpResponseForbidden -from django.http import HttpResponse -from django.template import loader from django.urls import reverse from django.views.decorators.csrf import csrf_exempt from rest_framework.exceptions import AuthenticationFailed @@ -46,9 +42,3 @@ class NetBoxGraphQLView(GraphQLView): return HttpResponseForbidden("No credentials provided.") return super().dispatch(request, *args, **kwargs) - - def render_graphql_ide(self, request): - template = loader.get_template("graphiql.html") - context = {"SUBSCRIPTION_ENABLED": json.dumps(self.subscriptions_enabled)} - - return HttpResponse(template.render(context, request)) From d2cbdfe7d742f0d2db7989ed27cde466c8366dea Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 15 Oct 2024 13:42:25 -0400 Subject: [PATCH 41/41] Release v4.1.4 --- .../ISSUE_TEMPLATE/01-feature_request.yaml | 2 +- .github/ISSUE_TEMPLATE/02-bug_report.yaml | 2 +- contrib/generated_schema.json | 3 + docs/release-notes/version-4.1.md | 4 +- netbox/project-static/dist/netbox.js | Bin 390400 -> 390388 bytes netbox/project-static/dist/netbox.js.map | Bin 527162 -> 527142 bytes netbox/project-static/package.json | 4 +- netbox/project-static/yarn.lock | 112 ++++++++++++++++-- netbox/release.yaml | 4 +- netbox/translations/cs/LC_MESSAGES/django.mo | Bin 228930 -> 229642 bytes netbox/translations/da/LC_MESSAGES/django.mo | Bin 221704 -> 222459 bytes netbox/translations/de/LC_MESSAGES/django.mo | Bin 233388 -> 234158 bytes netbox/translations/es/LC_MESSAGES/django.mo | Bin 235140 -> 235950 bytes netbox/translations/fr/LC_MESSAGES/django.mo | Bin 237168 -> 238002 bytes netbox/translations/it/LC_MESSAGES/django.mo | Bin 233370 -> 234190 bytes netbox/translations/ja/LC_MESSAGES/django.mo | Bin 250593 -> 251462 bytes netbox/translations/nl/LC_MESSAGES/django.mo | Bin 229411 -> 230234 bytes netbox/translations/pl/LC_MESSAGES/django.mo | Bin 231122 -> 231932 bytes netbox/translations/pt/LC_MESSAGES/django.mo | Bin 231781 -> 232592 bytes netbox/translations/ru/LC_MESSAGES/django.mo | Bin 296770 -> 297746 bytes netbox/translations/tr/LC_MESSAGES/django.mo | Bin 225836 -> 226590 bytes netbox/translations/uk/LC_MESSAGES/django.mo | Bin 295893 -> 297605 bytes netbox/translations/zh/LC_MESSAGES/django.mo | Bin 208686 -> 209410 bytes requirements.txt | 10 +- 24 files changed, 120 insertions(+), 21 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/01-feature_request.yaml b/.github/ISSUE_TEMPLATE/01-feature_request.yaml index f07db712d..f0138a22a 100644 --- a/.github/ISSUE_TEMPLATE/01-feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/01-feature_request.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v4.1.3 + placeholder: v4.1.4 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/02-bug_report.yaml b/.github/ISSUE_TEMPLATE/02-bug_report.yaml index 892981402..a8a2cc45b 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yaml @@ -40,7 +40,7 @@ body: attributes: label: NetBox Version description: What version of NetBox are you currently running? - placeholder: v4.1.3 + placeholder: v4.1.4 validations: required: true - type: dropdown diff --git a/contrib/generated_schema.json b/contrib/generated_schema.json index 1152d6974..56ddee50e 100644 --- a/contrib/generated_schema.json +++ b/contrib/generated_schema.json @@ -12,6 +12,9 @@ "left-to-right", "right-to-left", "side-to-rear", + "rear-to-side", + "bottom-to-top", + "top-to-bottom", "passive", "mixed" ] diff --git a/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index 4cc78b199..d48bb899f 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -1,11 +1,12 @@ # NetBox v4.1 -## v4.1.4 (FUTURE) +## v4.1.4 (2024-10-15) ### Enhancements * [#11671](https://github.com/netbox-community/netbox/issues/11671) - Display device's rack position in cable traces * [#15829](https://github.com/netbox-community/netbox/issues/15829) - Rename Microsoft Azure AD SSO backend to Microsoft Entra ID +* [#16009](https://github.com/netbox-community/netbox/issues/16009) - Float form & bulk operation buttons within UI * [#17079](https://github.com/netbox-community/netbox/issues/17079) - Introduce additional choices for device airflow direction * [#17216](https://github.com/netbox-community/netbox/issues/17216) - Add EVPN-VPWS L2VPN type * [#17655](https://github.com/netbox-community/netbox/issues/17655) - Limit the display of tagged VLANs within interface tables @@ -14,6 +15,7 @@ ### Bug Fixes * [#16024](https://github.com/netbox-community/netbox/issues/16024) - Fix AND/OR filtering in GraphQL API for selection fields +* [#17400](https://github.com/netbox-community/netbox/issues/17400) - Fix cable tracing across split paths * [#17562](https://github.com/netbox-community/netbox/issues/17562) - Fix GraphQL API query support for custom field choices * [#17566](https://github.com/netbox-community/netbox/issues/17566) - Fix AttributeError exception resulting from background jobs with no associated object type * [#17614](https://github.com/netbox-community/netbox/issues/17614) - Disallow removal of a master device from its virtual chassis diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index a4365ca6340075d8ca0d94a1286bc48020ed1c38..969d5c73a704424190120ac1a6c96af13085b025 100644 GIT binary patch delta 51 zcmZp8CI025ctZ6(@@T=VvW2^oy<(l>E0pC@{HEg4TG7b+gn4KftY1`Yba~= Fd;sAD5tIM` delta 63 zcmezJQoP}nctZ6(@>_o%;|Qa%<>|7xrqfDIhnS0S;as~Co@x1(|WpLFtc=f QWhgTcvuv*nWv!kM0LFF|QUCw| diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index eb3623216deb349c040313bfd6ba19797cacc5b9..0f4ac63d3d6199f281667fc18788c7e456278a22 100644 GIT binary patch delta 85 zcmdlrO<~zIg@zW!7N!>FEi5svhUrc^?v9TB84$`>#}&u{5w1GEj*h;LAjv?Td?!c8 bd?%o=tEo%-LRS_bW(8ul?F(JmXC4IrW(gXy delta 46 zcmZ2BO<~tGg@zW!7N!>FEi5svjE>XaJF_@4yIQ)o_qwtGF)I+WZSQqupLrAjf3Of% diff --git a/netbox/project-static/package.json b/netbox/project-static/package.json index 8180ddb90..1342c299f 100644 --- a/netbox/project-static/package.json +++ b/netbox/project-static/package.json @@ -29,8 +29,8 @@ "flatpickr": "4.6.13", "gridstack": "10.3.1", "htmx.org": "1.9.12", - "query-string": "9.1.0", - "sass": "1.79.3", + "query-string": "9.1.1", + "sass": "1.79.5", "tom-select": "2.3.1", "typeface-inter": "3.18.1", "typeface-roboto-mono": "1.1.13" diff --git a/netbox/project-static/yarn.lock b/netbox/project-static/yarn.lock index e1a30b229..2077e0534 100644 --- a/netbox/project-static/yarn.lock +++ b/netbox/project-static/yarn.lock @@ -365,6 +365,89 @@ resolved "https://registry.yarnpkg.com/@orchidjs/unicode-variants/-/unicode-variants-1.0.4.tgz#6d2f812e3b19545bba2d81caffff1204de9a6a58" integrity sha512-NvVBRnZNE+dugiXERFsET1JlKZfM5lJDEpSMilKW4bToYJ7pxf0Zne78xyXB2ny2c2aHfJ6WLnz1AaTNHAmQeQ== +"@parcel/watcher-android-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" + integrity sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg== + +"@parcel/watcher-darwin-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz#c817c7a3b4f3a79c1535bfe54a1c2818d9ffdc34" + integrity sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA== + +"@parcel/watcher-darwin-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz#1a3f69d9323eae4f1c61a5f480a59c478d2cb020" + integrity sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg== + +"@parcel/watcher-freebsd-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz#0d67fef1609f90ba6a8a662bc76a55fc93706fc8" + integrity sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w== + +"@parcel/watcher-linux-arm-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz#ce5b340da5829b8e546bd00f752ae5292e1c702d" + integrity sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA== + +"@parcel/watcher-linux-arm64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz#6d7c00dde6d40608f9554e73998db11b2b1ff7c7" + integrity sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA== + +"@parcel/watcher-linux-arm64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz#bd39bc71015f08a4a31a47cd89c236b9d6a7f635" + integrity sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA== + +"@parcel/watcher-linux-x64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz#0ce29966b082fb6cdd3de44f2f74057eef2c9e39" + integrity sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg== + +"@parcel/watcher-linux-x64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz#d2ebbf60e407170bb647cd6e447f4f2bab19ad16" + integrity sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ== + +"@parcel/watcher-win32-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz#eb4deef37e80f0b5e2f215dd6d7a6d40a85f8adc" + integrity sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg== + +"@parcel/watcher-win32-ia32@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz#94fbd4b497be39fd5c8c71ba05436927842c9df7" + integrity sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw== + +"@parcel/watcher-win32-x64@2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz#4bf920912f67cae5f2d264f58df81abfea68dadf" + integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== + +"@parcel/watcher@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.4.1.tgz#a50275151a1bb110879c6123589dba90c19f1bf8" + integrity sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.4.1" + "@parcel/watcher-darwin-arm64" "2.4.1" + "@parcel/watcher-darwin-x64" "2.4.1" + "@parcel/watcher-freebsd-x64" "2.4.1" + "@parcel/watcher-linux-arm-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-musl" "2.4.1" + "@parcel/watcher-linux-x64-glibc" "2.4.1" + "@parcel/watcher-linux-x64-musl" "2.4.1" + "@parcel/watcher-win32-arm64" "2.4.1" + "@parcel/watcher-win32-ia32" "2.4.1" + "@parcel/watcher-win32-x64" "2.4.1" + "@pkgr/core@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" @@ -1196,6 +1279,11 @@ delegate@^3.1.2: resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + detect-node-es@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" @@ -2205,7 +2293,7 @@ meros@^1.1.4: resolved "https://registry.yarnpkg.com/meros/-/meros-1.3.0.tgz#c617d2092739d55286bf618129280f362e6242f2" integrity sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w== -micromatch@^4.0.4: +micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -2247,6 +2335,11 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -2417,10 +2510,10 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -query-string@9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-9.1.0.tgz#5f12a4653a4ba56021e113b5cf58e56581823e7a" - integrity sha512-t6dqMECpCkqfyv2FfwVS1xcB6lgXW/0XZSaKdsCNGYkqMO76AFiJEg4vINzoDKcZa6MS7JX+OHIjwh06K5vczw== +query-string@9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-9.1.1.tgz#dbfebb4196aeb2919915f2b2b81b91b965cf03a0" + integrity sha512-MWkCOVIcJP9QSKU52Ngow6bsAWAPlPK2MludXvcrS2bGZSl+T1qX9MZvRIkqUIkGLJquMJHWfsT6eRqUpp4aWg== dependencies: decode-uri-component "^0.4.1" filter-obj "^5.1.0" @@ -2563,11 +2656,12 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -sass@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.3.tgz#7811b000eb68195fe51dea89177e73e7ef7f546f" - integrity sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA== +sass@1.79.5: + version "1.79.5" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.5.tgz#646c627601cd5f84c64f7b1485b9292a313efae4" + integrity sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g== dependencies: + "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" diff --git a/netbox/release.yaml b/netbox/release.yaml index 3963fd542..a7ebbd352 100644 --- a/netbox/release.yaml +++ b/netbox/release.yaml @@ -1,3 +1,3 @@ -version: "4.1.3" +version: "4.1.4" edition: "Community" -published: "2024-10-02" +published: "2024-10-15" diff --git a/netbox/translations/cs/LC_MESSAGES/django.mo b/netbox/translations/cs/LC_MESSAGES/django.mo index afb8ee4f2fcfd78bf996968b7b222d21d2744a86..df95c667cae851173482ebbe02dc15df2662c12d 100644 GIT binary patch delta 67181 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
g*|$#^Q|FX9+1JGnrn3r;~##~O5V?n4Jq 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 W{xf{t)vw||v8+fxe(K*p#s32}RLtK1 delta 66541 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⁢QpQ#VKX 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%0DQko3xFM)X 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 HFH--1$W|yx delta 67265 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