diff --git a/.github/ISSUE_TEMPLATE/01-feature_request.yaml b/.github/ISSUE_TEMPLATE/01-feature_request.yaml index 82ba01c77..f07db712d 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.1 + placeholder: v4.1.3 validations: required: true - type: dropdown @@ -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 2476bbcfc..892981402 100644 --- a/.github/ISSUE_TEMPLATE/02-bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/02-bug_report.yaml @@ -22,11 +22,25 @@ 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 description: What version of NetBox are you currently running? - placeholder: v4.1.1 + placeholder: v4.1.3 validations: required: true - type: dropdown 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/README.md b/README.md index 34975980b..0c793b8a4 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,11 @@ GitHub stars Languages supported CI status -

+

+ NetBox Community | + NetBox Cloud | + NetBox Enterprise +

NetBox exists to empower network engineers. Since its release in 2016, it has become the go-to solution for modeling and documenting network infrastructure for thousands of organizations worldwide. As a successor to legacy IPAM and DCIM applications, NetBox provides a cohesive, extensive, and accessible data model for all things networked. By providing a single robust user interface and programmable APIs for everything from cable maps to device configurations, NetBox serves as the central source of truth for the modern network. @@ -81,11 +85,6 @@ NetBox automatically logs the creation, modification, and deletion of all manage * The [official documentation](https://docs.netbox.dev) offers a comprehensive introduction. * Check out [our wiki](https://github.com/netbox-community/netbox/wiki/Community-Contributions) for even more projects to get the most out of NetBox! -

- NetBox Cloud
- Looking for a managed solution? Check out NetBox Cloud or NetBox Enterprise! -

- ## Get Involved * Follow [@NetBoxOfficial](https://twitter.com/NetBoxOfficial) on Twitter! diff --git a/contrib/generated_schema.json b/contrib/generated_schema.json index 835a6d829..1152d6974 100644 --- a/contrib/generated_schema.json +++ b/contrib/generated_schema.json @@ -290,6 +290,7 @@ "molex-micro-fit-2x2", "molex-micro-fit-2x4", "dc-terminal", + "eaton-c39", "hdot-cx", "saf-d-grid", "neutrik-powercon-20a", @@ -330,6 +331,7 @@ "5gbase-t", "10gbase-t", "10gbase-cx4", + "100base-x-sfp", "1000base-x-gbic", "1000base-x-sfp", "10gbase-x-sfpp", @@ -381,6 +383,7 @@ "ieee802.11ay", "ieee802.11be", "ieee802.15.1", + "ieee802.15.4", "other-wireless", "gsm", "cdma", 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/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/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/docs/features/synchronized-data.md b/docs/features/synchronized-data.md index 8c95c8779..23c79feed 100644 --- a/docs/features/synchronized-data.md +++ b/docs/features/synchronized-data.md @@ -13,6 +13,9 @@ To enable remote data synchronization, the NetBox administrator first designates !!! info Data backends which connect to external sources typically require the installation of one or more supporting Python libraries. The Git backend requires the [`dulwich`](https://www.dulwich.io/) package, and the S3 backend requires the [`boto3`](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) package. These must be installed within NetBox's environment to enable these backends. +!!! info + If you are configuring Git and have `HTTP_PROXIES` configured to use the SOCKS protocol, you will also need to install the [`python_socks`](https://pypi.org/project/python-socks/) Python library. + Each type of remote source has its own configuration parameters. For instance, a git source will ask the user to specify a branch and authentication credentials. Once the source has been created, a synchronization job is run to automatically replicate remote files in the local database. The following NetBox models can be associated with replicated data files: diff --git a/docs/media/misc/netbox_cloud.png b/docs/media/misc/netbox_cloud.png deleted file mode 100644 index f9deca674..000000000 Binary files a/docs/media/misc/netbox_cloud.png and /dev/null differ diff --git a/docs/media/misc/netbox_logo.png b/docs/media/misc/netbox_logo.png deleted file mode 100644 index c6e0a58e6..000000000 Binary files a/docs/media/misc/netbox_logo.png and /dev/null differ diff --git a/docs/models/ipam/asn.md b/docs/models/ipam/asn.md index 8de3cfd93..17fa5ebe3 100644 --- a/docs/models/ipam/asn.md +++ b/docs/models/ipam/asn.md @@ -1,6 +1,6 @@ # ASNs -An Autonomous System Number (ASN) is a numeric identifier used in the BGP protocol to identify which [autonomous system](https://en.wikipedia.org/wiki/Autonomous_system_%28Internet%29) a particular prefix is originating and transiting through. NetBox support both 32- and 64- ASNs. +An Autonomous System Number (ASN) is a numeric identifier used in the Border Gateway Protocol (BGP) to identify which [autonomous system](https://en.wikipedia.org/wiki/Autonomous_system_%28Internet%29) a particular prefix is originating from or transiting through. NetBox supports both 16- and 32-bit ASNs. ASNs must be globally unique within NetBox, and may be allocated from within a [defined range](./asnrange.md). Each ASN may be assigned to multiple [sites](../dcim/site.md). @@ -8,7 +8,7 @@ ASNs must be globally unique within NetBox, and may be allocated from within a [ ### AS Number -The 32- or 64-bit AS number. +The 16- or 32-bit AS number. ### RIR 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/docs/release-notes/version-4.1.md b/docs/release-notes/version-4.1.md index b6706d647..5b353d54f 100644 --- a/docs/release-notes/version-4.1.md +++ b/docs/release-notes/version-4.1.md @@ -1,11 +1,48 @@ # NetBox v4.1 -## v4.1.2 (FUTURE) +## 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 +* [#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 + +--- + +## v4.1.3 (2024-10-02) + +### Enhancements + +* [#17639](https://github.com/netbox-community/netbox/issues/17639) - Add SOCKS support to proxy settings for Git remote data sources + +### Bug Fixes + +* [#17558](https://github.com/netbox-community/netbox/issues/17558) - Raise validation error when attempting to remove a custom field choice in use + +--- + +## v4.1.2 (2024-09-26) ### Enhancements * [#14201](https://github.com/netbox-community/netbox/issues/14201) - Enable global search for AS numbers using "AS" prefix * [#15408](https://github.com/netbox-community/netbox/issues/15408) - Enable bulk import of primary IPv4 & IPv6 addresses for virtual device contexts (VDCs) +* [#16781](https://github.com/netbox-community/netbox/issues/16781) - Add 100Base-X SFP interface type +* [#17255](https://github.com/netbox-community/netbox/issues/17255) - Include return URL when creating new IP address from prefix IPs list * [#17471](https://github.com/netbox-community/netbox/issues/17471) - Add Eaton C39 power outlet type * [#17482](https://github.com/netbox-community/netbox/issues/17482) - Do not preload Branch & StagedChange models in `nbshell` * [#17550](https://github.com/netbox-community/netbox/issues/17550) - Add IEEE 802.15.4 wireless interface type @@ -15,14 +52,22 @@ * [#16837](https://github.com/netbox-community/netbox/issues/16837) - Fix filtering of cables with no type assigned * [#17083](https://github.com/netbox-community/netbox/issues/17083) - Trim clickable area of form field labels * [#17126](https://github.com/netbox-community/netbox/issues/17126) - Show total device weight in both imperial & metric units +* [#17360](https://github.com/netbox-community/netbox/issues/17360) - Fix AttributeError under child object views when experimental HTMX navigation is enabled * [#17406](https://github.com/netbox-community/netbox/issues/17406) - Fix the cleanup of stale custom field data after removing a plugin +* [#17419](https://github.com/netbox-community/netbox/issues/17419) - Rebuild MPTT for module bays on upgrade to v4.1 * [#17492](https://github.com/netbox-community/netbox/issues/17492) - Fix URL resolution in `NetBoxModelSerializer` for plugin models +* [#17497](https://github.com/netbox-community/netbox/issues/17497) - Fix uncaught FieldError exception when referencing an invalid field on a related object during bulk import +* [#17498](https://github.com/netbox-community/netbox/issues/17498) - Fix MultipleObjectsReturned exception when importing a device type without uniquely specifying a manufacturer * [#17501](https://github.com/netbox-community/netbox/issues/17501) - Fix reporting of last run time & status for custom scripts under UI +* [#17511](https://github.com/netbox-community/netbox/issues/17511) - Restore consistent font support for non-Latin characters * [#17517](https://github.com/netbox-community/netbox/issues/17517) - Fix cable termination selection after switching termination type * [#17521](https://github.com/netbox-community/netbox/issues/17521) - Correct text color in notification pop-ups under dark mode * [#17522](https://github.com/netbox-community/netbox/issues/17522) - Fix language translation of form field labels under user preferences * [#17537](https://github.com/netbox-community/netbox/issues/17537) - Fix global search support for ASN range names * [#17555](https://github.com/netbox-community/netbox/issues/17555) - Fix toggling disconnected interfaces under device view +* [#17601](https://github.com/netbox-community/netbox/issues/17601) - Record change to terminating object when disconnecting a cable +* [#17605](https://github.com/netbox-community/netbox/issues/17605) - Fix calculation of aggregate VM disk space under cluster view +* [#17611](https://github.com/netbox-community/netbox/issues/17611) - Correct custom field minimum value validation error message --- 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/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/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 851f54881..d5cdc00a7 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/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/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/core/data_backends.py b/netbox/core/data_backends.py index 1b64f5f5c..770a3b258 100644 --- a/netbox/core/data_backends.py +++ b/netbox/core/data_backends.py @@ -8,10 +8,13 @@ from urllib.parse import urlparse from django import forms from django.conf import settings +from django.core.exceptions import ImproperlyConfigured from django.utils.translation import gettext as _ from netbox.data_backends import DataBackend from netbox.utils import register_data_backend +from utilities.constants import HTTP_PROXY_SUPPORTED_SCHEMAS, HTTP_PROXY_SUPPORTED_SOCK_SCHEMAS +from utilities.socks import ProxyPoolManager from .exceptions import SyncError __all__ = ( @@ -31,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 @@ -67,11 +70,18 @@ class GitBackend(DataBackend): # Initialize backend config config = ConfigDict() + self.use_socks = False # Apply HTTP proxy (if configured) - if settings.HTTP_PROXIES and self.url_scheme in ('http', 'https'): - if proxy := settings.HTTP_PROXIES.get(self.url_scheme): - config.set("http", "proxy", proxy) + if settings.HTTP_PROXIES: + if proxy := settings.HTTP_PROXIES.get(self.url_scheme, None): + if urlparse(proxy).scheme not in HTTP_PROXY_SUPPORTED_SCHEMAS: + raise ImproperlyConfigured(f"Unsupported Git DataSource proxy scheme: {urlparse(proxy).scheme}") + + if self.url_scheme in ('http', 'https'): + config.set("http", "proxy", proxy) + if urlparse(proxy).scheme in HTTP_PROXY_SUPPORTED_SOCK_SCHEMAS: + self.use_socks = True return config @@ -87,6 +97,10 @@ class GitBackend(DataBackend): "errstream": porcelain.NoneStream(), } + # check if using socks for proxy - if so need to use custom pool_manager + if self.use_socks: + clone_args['pool_manager'] = ProxyPoolManager(settings.HTTP_PROXIES.get(self.url_scheme)) + if self.url_scheme in ('http', 'https'): if self.params.get('username'): clone_args.update( 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 a40b58bc7..39ee8fa57 100644 --- a/netbox/core/models/data.py +++ b/netbox/core/models/data.py @@ -122,7 +122,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): @@ -198,7 +198,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 diff --git a/netbox/core/models/jobs.py b/netbox/core/models/jobs.py index 4a327a1d8..e1b5715dd 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 @@ -118,10 +116,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('extras:report_result', kwargs={'job_pk': self.pk}) + elif self.object_type.model == 'scriptmodule': + return reverse('extras:script_result', kwargs={'job_pk': self.pk}) return reverse('core:job', args=[self.pk]) def get_status_color(self): @@ -154,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)) 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/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/choices.py b/netbox/dcim/choices.py index 8a16c3460..fee587e6b 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')), ) @@ -863,6 +869,7 @@ class InterfaceTypeChoices(ChoiceSet): TYPE_100ME_LFX = '100base-lfx' TYPE_100ME_FIXED = '100base-tx' TYPE_100ME_T1 = '100base-t1' + TYPE_100ME_SFP = '100base-x-sfp' TYPE_1GE_FIXED = '1000base-t' TYPE_1GE_TX_FIXED = '1000base-tx' TYPE_1GE_GBIC = '1000base-x-gbic' @@ -1036,6 +1043,7 @@ class InterfaceTypeChoices(ChoiceSet): ( _('Ethernet (modular)'), ( + (TYPE_100ME_SFP, 'SFP (100ME)'), (TYPE_1GE_GBIC, 'GBIC (1GE)'), (TYPE_1GE_SFP, 'SFP (1GE)'), (TYPE_10GE_SFP_PLUS, 'SFP+ (10GE)'), diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index d49e937cd..04ac3a3d2 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/dcim/forms/bulk_import.py b/netbox/dcim/forms/bulk_import.py index c6204fffe..e34db0016 100644 --- a/netbox/dcim/forms/bulk_import.py +++ b/netbox/dcim/forms/bulk_import.py @@ -368,13 +368,13 @@ class ManufacturerImportForm(NetBoxModelImportForm): class DeviceTypeImportForm(NetBoxModelImportForm): - manufacturer = forms.ModelChoiceField( + manufacturer = CSVModelChoiceField( label=_('Manufacturer'), queryset=Manufacturer.objects.all(), to_field_name='name', help_text=_('The manufacturer which produces this device type') ) - default_platform = forms.ModelChoiceField( + default_platform = CSVModelChoiceField( label=_('Default platform'), queryset=Platform.objects.all(), to_field_name='name', 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/forms/model_forms.py b/netbox/dcim/forms/model_forms.py index c22aeeea3..095882d13 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( 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 589af50c8..2e5ab7ea7 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', @@ -11,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")]] @@ -30,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/migrations/0191_module_bay_rebuild.py b/netbox/dcim/migrations/0191_module_bay_rebuild.py new file mode 100644 index 000000000..260063213 --- /dev/null +++ b/netbox/dcim/migrations/0191_module_bay_rebuild.py @@ -0,0 +1,26 @@ +from django.db import migrations +import mptt +import mptt.managers + + +def rebuild_mptt(apps, schema_editor): + manager = mptt.managers.TreeManager() + ModuleBay = apps.get_model('dcim', 'ModuleBay') + manager.model = ModuleBay + mptt.register(ModuleBay) + manager.contribute_to_class(ModuleBay, 'objects') + manager.rebuild() + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0190_nested_modules'), + ] + + operations = [ + migrations.RunPython( + code=rebuild_mptt, + reverse_code=migrations.RunPython.noop + ), + ] 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/models/device_components.py b/netbox/dcim/models/device_components.py index d25ed261c..f948f5d83 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/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 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}' diff --git a/netbox/dcim/tables/devices.py b/netbox/dcim/tables/devices.py index 380702b05..b39a2b87f 100644 --- a/netbox/dcim/tables/devices.py +++ b/netbox/dcim/tables/devices.py @@ -589,6 +589,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/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/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 %} 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 cbc31e8d4..ae738b57f 100644 --- a/netbox/dcim/tests/test_filtersets.py +++ b/netbox/dcim/tests/test_filtersets.py @@ -4842,13 +4842,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 f183eccb3..c11badbdd 100644 --- a/netbox/dcim/tests/test_models.py +++ b/netbox/dcim/tests/test_models.py @@ -663,10 +663,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 @@ -682,8 +680,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() @@ -709,7 +705,7 @@ class ModuleBayTestCase(TestCase): location=location, rack=rack ) - cp = device.consoleports.first() + device.consoleports.first() def test_nested_module_token(self): pass @@ -734,39 +730,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 0f89efb65..ca0db5588 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/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/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/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/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/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/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/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 889594902..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) @@ -661,7 +661,7 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel): raise ValidationError(_("Value must be an integer.")) if self.validation_minimum is not None and value < self.validation_minimum: raise ValidationError( - _("Value must be at least {minimum}").format(minimum=self.validation_maximum) + _("Value must be at least {minimum}").format(minimum=self.validation_minimum) ) if self.validation_maximum is not None and value > self.validation_maximum: raise ValidationError( @@ -785,6 +785,12 @@ class CustomFieldChoiceSet(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel def __str__(self): return self.name + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + # Cache the initial set of choices for comparison under clean() + self._original_extra_choices = self.__dict__.get('extra_choices') + def get_absolute_url(self): return reverse('extras:customfieldchoiceset', args=[self.pk]) @@ -818,6 +824,32 @@ class CustomFieldChoiceSet(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel if not self.base_choices and not self.extra_choices: raise ValidationError(_("Must define base or extra choices.")) + # Check whether any choices have been removed. If so, check whether any of the removed + # choices are still set in custom field data for any object. + original_choices = set([ + c[0] for c in self._original_extra_choices + ]) if self._original_extra_choices else set() + current_choices = set([ + c[0] for c in self.extra_choices + ]) if self.extra_choices else set() + if removed_choices := original_choices - current_choices: + for custom_field in self.choices_for.all(): + for object_type in custom_field.object_types.all(): + model = object_type.model_class() + for choice in removed_choices: + # Form the query based on the type of custom field + if custom_field.type == CustomFieldTypeChoices.TYPE_MULTISELECT: + query_args = {f"custom_field_data__{custom_field.name}__contains": choice} + else: + query_args = {f"custom_field_data__{custom_field.name}": choice} + # Raise a ValidationError if there are any objects which still reference the removed choice + if model.objects.filter(models.Q(**query_args)).exists(): + raise ValidationError( + _( + "Cannot remove choice {choice} as there are {model} objects which reference it." + ).format(choice=choice, model=object_type) + ) + def save(self, *args, **kwargs): # Sort choices if alphabetical ordering is enforced 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_api.py b/netbox/extras/tests/test_api.py index 5defbd0bd..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 @@ -244,9 +243,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) @@ -784,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/tests/test_customfields.py b/netbox/extras/tests/test_customfields.py index 697b756ec..2bc9b5acc 100644 --- a/netbox/extras/tests/test_customfields.py +++ b/netbox/extras/tests/test_customfields.py @@ -343,6 +343,74 @@ class CustomFieldTest(TestCase): instance.refresh_from_db() self.assertIsNone(instance.custom_field_data.get(cf.name)) + def test_remove_selected_choice(self): + """ + Removing a ChoiceSet choice that is referenced by an object should raise + a ValidationError exception. + """ + CHOICES = ( + ('a', 'Option A'), + ('b', 'Option B'), + ('c', 'Option C'), + ('d', 'Option D'), + ) + + # Create a set of custom field choices + choice_set = CustomFieldChoiceSet.objects.create( + name='Custom Field Choice Set 1', + extra_choices=CHOICES + ) + + # Create a select custom field + cf = CustomField.objects.create( + name='select_field', + type=CustomFieldTypeChoices.TYPE_SELECT, + required=False, + choice_set=choice_set + ) + cf.object_types.set([self.object_type]) + + # Create a multi-select custom field + cf_multiselect = CustomField.objects.create( + name='multiselect_field', + type=CustomFieldTypeChoices.TYPE_MULTISELECT, + required=False, + choice_set=choice_set + ) + cf_multiselect.object_types.set([self.object_type]) + + # Assign a choice for both custom fields on an object + instance = Site.objects.first() + instance.custom_field_data[cf.name] = 'a' + instance.custom_field_data[cf_multiselect.name] = ['b', 'c'] + instance.save() + + # Attempting to delete a selected choice should fail + with self.assertRaises(ValidationError): + choice_set.extra_choices = ( + ('b', 'Option B'), + ('c', 'Option C'), + ('d', 'Option D'), + ) + choice_set.full_clean() + + # Attempting to delete either of the multi-select choices should fail + with self.assertRaises(ValidationError): + choice_set.extra_choices = ( + ('a', 'Option A'), + ('b', 'Option B'), + ('d', 'Option D'), + ) + choice_set.full_clean() + + # Removing a non-selected choice should succeed + choice_set.extra_choices = ( + ('a', 'Option A'), + ('b', 'Option B'), + ('c', 'Option C'), + ) + choice_set.full_clean() + def test_object_field(self): value = VLAN.objects.create(name='VLAN 1', vid=1).pk 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/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/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/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/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/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/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/graphql/mixins.py b/netbox/ipam/graphql/mixins.py index 73cc60ec4..692741871 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', @@ -11,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/tables/ip.py b/netbox/ipam/tables/ip.py index 4152efefb..8ec7a5967 100644 --- a/netbox/ipam/tables/ip.py +++ b/netbox/ipam/tables/ip.py @@ -51,7 +51,7 @@ IPADDRESS_LINK = """ {% if record.pk %} {{ record.address }} {% elif perms.ipam.add_ipaddress %} - {% if record.0 <= 65536 %}{{ record.0 }}{% else %}Many{% endif %} IP{{ record.0|pluralize }} available + {% if record.0 <= 65536 %}{{ record.0 }}{% else %}Many{% endif %} IP{{ record.0|pluralize }} available {% else %} {% if record.0 <= 65536 %}{{ record.0 }}{% else %}Many{% endif %} IP{{ record.0|pluralize }} available {% endif %} 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_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() 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/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/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'), 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/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/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/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/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 206a58cff..2b057b9ab 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 @@ -199,7 +197,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" ) @@ -251,7 +249,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/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 f6cf6a5c5..82f250fc1 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): @@ -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_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) 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/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index 357264522..0686e52b7 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -146,10 +146,12 @@ class ObjectChildrenView(ObjectView, ActionsMixin, TableMixin): return render(request, 'htmx/table.html', { 'object': instance, 'table': table, + 'model': self.child_model, }) return render(request, self.get_template_name(), { 'object': instance, + 'model': self.child_model, 'child_model': self.child_model, 'base_template': f'{instance._meta.app_label}/{instance._meta.model_name}.html', 'table': table, diff --git a/netbox/project-static/dist/Inter-Black-7VL4YR6G.woff b/netbox/project-static/dist/Inter-Black-7VL4YR6G.woff new file mode 100644 index 000000000..2f5cb41be Binary files /dev/null and b/netbox/project-static/dist/Inter-Black-7VL4YR6G.woff differ diff --git a/netbox/project-static/dist/Inter-Black-NU3KAVPI.woff2 b/netbox/project-static/dist/Inter-Black-NU3KAVPI.woff2 new file mode 100644 index 000000000..53c0aa239 Binary files /dev/null and b/netbox/project-static/dist/Inter-Black-NU3KAVPI.woff2 differ diff --git a/netbox/project-static/dist/Inter-BlackItalic-4BVAVUVI.woff2 b/netbox/project-static/dist/Inter-BlackItalic-4BVAVUVI.woff2 new file mode 100644 index 000000000..63ec88686 Binary files /dev/null and b/netbox/project-static/dist/Inter-BlackItalic-4BVAVUVI.woff2 differ diff --git a/netbox/project-static/dist/Inter-BlackItalic-HJLUEYVW.woff b/netbox/project-static/dist/Inter-BlackItalic-HJLUEYVW.woff new file mode 100644 index 000000000..a168e5820 Binary files /dev/null and b/netbox/project-static/dist/Inter-BlackItalic-HJLUEYVW.woff differ diff --git a/netbox/project-static/dist/Inter-Bold-6AVOS7AV.woff2 b/netbox/project-static/dist/Inter-Bold-6AVOS7AV.woff2 new file mode 100644 index 000000000..6989c9922 Binary files /dev/null and b/netbox/project-static/dist/Inter-Bold-6AVOS7AV.woff2 differ diff --git a/netbox/project-static/dist/Inter-Bold-RTIBL5DO.woff b/netbox/project-static/dist/Inter-Bold-RTIBL5DO.woff new file mode 100644 index 000000000..2ec7ac3d2 Binary files /dev/null and b/netbox/project-static/dist/Inter-Bold-RTIBL5DO.woff differ diff --git a/netbox/project-static/dist/Inter-BoldItalic-AID2XGS3.woff2 b/netbox/project-static/dist/Inter-BoldItalic-AID2XGS3.woff2 new file mode 100644 index 000000000..18b4c1ce5 Binary files /dev/null and b/netbox/project-static/dist/Inter-BoldItalic-AID2XGS3.woff2 differ diff --git a/netbox/project-static/dist/Inter-BoldItalic-UU7SOVRI.woff b/netbox/project-static/dist/Inter-BoldItalic-UU7SOVRI.woff new file mode 100644 index 000000000..aa35b7974 Binary files /dev/null and b/netbox/project-static/dist/Inter-BoldItalic-UU7SOVRI.woff differ diff --git a/netbox/project-static/dist/Inter-ExtraBold-B5RSZK6R.woff b/netbox/project-static/dist/Inter-ExtraBold-B5RSZK6R.woff new file mode 100644 index 000000000..d79d3d242 Binary files /dev/null and b/netbox/project-static/dist/Inter-ExtraBold-B5RSZK6R.woff differ diff --git a/netbox/project-static/dist/Inter-ExtraBold-VAPCTO5F.woff2 b/netbox/project-static/dist/Inter-ExtraBold-VAPCTO5F.woff2 new file mode 100644 index 000000000..3e74973f2 Binary files /dev/null and b/netbox/project-static/dist/Inter-ExtraBold-VAPCTO5F.woff2 differ diff --git a/netbox/project-static/dist/Inter-ExtraBoldItalic-R7DLWYIK.woff b/netbox/project-static/dist/Inter-ExtraBoldItalic-R7DLWYIK.woff new file mode 100644 index 000000000..06aad19b0 Binary files /dev/null and b/netbox/project-static/dist/Inter-ExtraBoldItalic-R7DLWYIK.woff differ diff --git a/netbox/project-static/dist/Inter-ExtraBoldItalic-W26CJYY7.woff2 b/netbox/project-static/dist/Inter-ExtraBoldItalic-W26CJYY7.woff2 new file mode 100644 index 000000000..77391ea7f Binary files /dev/null and b/netbox/project-static/dist/Inter-ExtraBoldItalic-W26CJYY7.woff2 differ diff --git a/netbox/project-static/dist/Inter-ExtraLight-A7NHN7KT.woff b/netbox/project-static/dist/Inter-ExtraLight-A7NHN7KT.woff new file mode 100644 index 000000000..fee5fca02 Binary files /dev/null and b/netbox/project-static/dist/Inter-ExtraLight-A7NHN7KT.woff differ diff --git a/netbox/project-static/dist/Inter-ExtraLight-DVW3SATI.woff2 b/netbox/project-static/dist/Inter-ExtraLight-DVW3SATI.woff2 new file mode 100644 index 000000000..607250b9a Binary files /dev/null and b/netbox/project-static/dist/Inter-ExtraLight-DVW3SATI.woff2 differ diff --git a/netbox/project-static/dist/Inter-ExtraLightItalic-KXZYPKOE.woff2 b/netbox/project-static/dist/Inter-ExtraLightItalic-KXZYPKOE.woff2 new file mode 100644 index 000000000..858d38a50 Binary files /dev/null and b/netbox/project-static/dist/Inter-ExtraLightItalic-KXZYPKOE.woff2 differ diff --git a/netbox/project-static/dist/Inter-ExtraLightItalic-SKGXKLLA.woff b/netbox/project-static/dist/Inter-ExtraLightItalic-SKGXKLLA.woff new file mode 100644 index 000000000..94e6582b5 Binary files /dev/null and b/netbox/project-static/dist/Inter-ExtraLightItalic-SKGXKLLA.woff differ diff --git a/netbox/project-static/dist/Inter-Italic-GHDVOOKA.woff b/netbox/project-static/dist/Inter-Italic-GHDVOOKA.woff new file mode 100644 index 000000000..4b765bd59 Binary files /dev/null and b/netbox/project-static/dist/Inter-Italic-GHDVOOKA.woff differ diff --git a/netbox/project-static/dist/Inter-Italic-RW2ZALTO.woff2 b/netbox/project-static/dist/Inter-Italic-RW2ZALTO.woff2 new file mode 100644 index 000000000..bd5f255a9 Binary files /dev/null and b/netbox/project-static/dist/Inter-Italic-RW2ZALTO.woff2 differ diff --git a/netbox/project-static/dist/Inter-Light-ARG5Y6MT.woff b/netbox/project-static/dist/Inter-Light-ARG5Y6MT.woff new file mode 100644 index 000000000..7590ff890 Binary files /dev/null and b/netbox/project-static/dist/Inter-Light-ARG5Y6MT.woff differ diff --git a/netbox/project-static/dist/Inter-Light-XBRUIIRZ.woff2 b/netbox/project-static/dist/Inter-Light-XBRUIIRZ.woff2 new file mode 100644 index 000000000..551410ac3 Binary files /dev/null and b/netbox/project-static/dist/Inter-Light-XBRUIIRZ.woff2 differ diff --git a/netbox/project-static/dist/Inter-LightItalic-4OWY6V5R.woff2 b/netbox/project-static/dist/Inter-LightItalic-4OWY6V5R.woff2 new file mode 100644 index 000000000..976d52564 Binary files /dev/null and b/netbox/project-static/dist/Inter-LightItalic-4OWY6V5R.woff2 differ diff --git a/netbox/project-static/dist/Inter-LightItalic-WFS25IQZ.woff b/netbox/project-static/dist/Inter-LightItalic-WFS25IQZ.woff new file mode 100644 index 000000000..8f2a4ca46 Binary files /dev/null and b/netbox/project-static/dist/Inter-LightItalic-WFS25IQZ.woff differ diff --git a/netbox/project-static/dist/Inter-Medium-JV63DMR7.woff2 b/netbox/project-static/dist/Inter-Medium-JV63DMR7.woff2 new file mode 100644 index 000000000..a916b47fc Binary files /dev/null and b/netbox/project-static/dist/Inter-Medium-JV63DMR7.woff2 differ diff --git a/netbox/project-static/dist/Inter-Medium-KH2CGZVE.woff b/netbox/project-static/dist/Inter-Medium-KH2CGZVE.woff new file mode 100644 index 000000000..7d55f34cc Binary files /dev/null and b/netbox/project-static/dist/Inter-Medium-KH2CGZVE.woff differ diff --git a/netbox/project-static/dist/Inter-MediumItalic-P7H6BBYU.woff2 b/netbox/project-static/dist/Inter-MediumItalic-P7H6BBYU.woff2 new file mode 100644 index 000000000..f623924ae Binary files /dev/null and b/netbox/project-static/dist/Inter-MediumItalic-P7H6BBYU.woff2 differ diff --git a/netbox/project-static/dist/Inter-MediumItalic-PO2E4FIG.woff b/netbox/project-static/dist/Inter-MediumItalic-PO2E4FIG.woff new file mode 100644 index 000000000..422ab0576 Binary files /dev/null and b/netbox/project-static/dist/Inter-MediumItalic-PO2E4FIG.woff differ diff --git a/netbox/project-static/dist/Inter-Regular-373XMOLM.woff2 b/netbox/project-static/dist/Inter-Regular-373XMOLM.woff2 new file mode 100644 index 000000000..554aed661 Binary files /dev/null and b/netbox/project-static/dist/Inter-Regular-373XMOLM.woff2 differ diff --git a/netbox/project-static/dist/Inter-Regular-DR3VC6YG.woff b/netbox/project-static/dist/Inter-Regular-DR3VC6YG.woff new file mode 100644 index 000000000..7ff51b7d8 Binary files /dev/null and b/netbox/project-static/dist/Inter-Regular-DR3VC6YG.woff differ diff --git a/netbox/project-static/dist/Inter-SemiBold-TJ6HPMMH.woff b/netbox/project-static/dist/Inter-SemiBold-TJ6HPMMH.woff new file mode 100644 index 000000000..76e507a51 Binary files /dev/null and b/netbox/project-static/dist/Inter-SemiBold-TJ6HPMMH.woff differ diff --git a/netbox/project-static/dist/Inter-SemiBold-UMRILHOG.woff2 b/netbox/project-static/dist/Inter-SemiBold-UMRILHOG.woff2 new file mode 100644 index 000000000..930799899 Binary files /dev/null and b/netbox/project-static/dist/Inter-SemiBold-UMRILHOG.woff2 differ diff --git a/netbox/project-static/dist/Inter-SemiBoldItalic-ABO2DCC7.woff2 b/netbox/project-static/dist/Inter-SemiBoldItalic-ABO2DCC7.woff2 new file mode 100644 index 000000000..f19f5505e Binary files /dev/null and b/netbox/project-static/dist/Inter-SemiBoldItalic-ABO2DCC7.woff2 differ diff --git a/netbox/project-static/dist/Inter-SemiBoldItalic-DM4JJSFU.woff b/netbox/project-static/dist/Inter-SemiBoldItalic-DM4JJSFU.woff new file mode 100644 index 000000000..382181212 Binary files /dev/null and b/netbox/project-static/dist/Inter-SemiBoldItalic-DM4JJSFU.woff differ diff --git a/netbox/project-static/dist/Inter-Thin-MEKOZMGA.woff b/netbox/project-static/dist/Inter-Thin-MEKOZMGA.woff new file mode 100644 index 000000000..6074d22b9 Binary files /dev/null and b/netbox/project-static/dist/Inter-Thin-MEKOZMGA.woff differ diff --git a/netbox/project-static/dist/Inter-Thin-TCINWRKS.woff2 b/netbox/project-static/dist/Inter-Thin-TCINWRKS.woff2 new file mode 100644 index 000000000..07d4fd6f2 Binary files /dev/null and b/netbox/project-static/dist/Inter-Thin-TCINWRKS.woff2 differ diff --git a/netbox/project-static/dist/Inter-ThinItalic-WRULPH3M.woff2 b/netbox/project-static/dist/Inter-ThinItalic-WRULPH3M.woff2 new file mode 100644 index 000000000..a824b2c98 Binary files /dev/null and b/netbox/project-static/dist/Inter-ThinItalic-WRULPH3M.woff2 differ diff --git a/netbox/project-static/dist/Inter-ThinItalic-ZFOL6JFL.woff b/netbox/project-static/dist/Inter-ThinItalic-ZFOL6JFL.woff new file mode 100644 index 000000000..e612ae45e Binary files /dev/null and b/netbox/project-static/dist/Inter-ThinItalic-ZFOL6JFL.woff differ diff --git a/netbox/project-static/dist/Inter-italic.var-7LS4VCXC.woff2 b/netbox/project-static/dist/Inter-italic.var-7LS4VCXC.woff2 new file mode 100644 index 000000000..03875311a Binary files /dev/null and b/netbox/project-static/dist/Inter-italic.var-7LS4VCXC.woff2 differ diff --git a/netbox/project-static/dist/Inter-roman.var-EDENVCUS.woff2 b/netbox/project-static/dist/Inter-roman.var-EDENVCUS.woff2 new file mode 100644 index 000000000..a6efdc486 Binary files /dev/null and b/netbox/project-static/dist/Inter-roman.var-EDENVCUS.woff2 differ diff --git a/netbox/project-static/dist/Inter.var-FTIQFLGO.woff2 b/netbox/project-static/dist/Inter.var-FTIQFLGO.woff2 new file mode 100644 index 000000000..b40083cbb Binary files /dev/null and b/netbox/project-static/dist/Inter.var-FTIQFLGO.woff2 differ diff --git a/netbox/project-static/dist/netbox-external.css b/netbox/project-static/dist/netbox-external.css index 7952f0e1e..72d40bc92 100644 Binary files a/netbox/project-static/dist/netbox-external.css and b/netbox/project-static/dist/netbox-external.css differ diff --git a/netbox/project-static/dist/netbox.css b/netbox/project-static/dist/netbox.css index 6f4f8ac36..93361c63a 100644 Binary files a/netbox/project-static/dist/netbox.css and b/netbox/project-static/dist/netbox.css differ diff --git a/netbox/project-static/dist/plus-jakarta-sans-cyrillic-ext-wght-normal-3FNWYSHQ.woff2 b/netbox/project-static/dist/plus-jakarta-sans-cyrillic-ext-wght-normal-3FNWYSHQ.woff2 deleted file mode 100644 index c456409f0..000000000 Binary files a/netbox/project-static/dist/plus-jakarta-sans-cyrillic-ext-wght-normal-3FNWYSHQ.woff2 and /dev/null differ diff --git a/netbox/project-static/dist/plus-jakarta-sans-latin-ext-wght-normal-WWG75Y4U.woff2 b/netbox/project-static/dist/plus-jakarta-sans-latin-ext-wght-normal-WWG75Y4U.woff2 deleted file mode 100644 index bdb7edfd4..000000000 Binary files a/netbox/project-static/dist/plus-jakarta-sans-latin-ext-wght-normal-WWG75Y4U.woff2 and /dev/null differ diff --git a/netbox/project-static/dist/plus-jakarta-sans-latin-wght-normal-S6EFCQOU.woff2 b/netbox/project-static/dist/plus-jakarta-sans-latin-wght-normal-S6EFCQOU.woff2 deleted file mode 100644 index 8c4a84afe..000000000 Binary files a/netbox/project-static/dist/plus-jakarta-sans-latin-wght-normal-S6EFCQOU.woff2 and /dev/null differ diff --git a/netbox/project-static/dist/plus-jakarta-sans-vietnamese-wght-normal-NNXUV3SN.woff2 b/netbox/project-static/dist/plus-jakarta-sans-vietnamese-wght-normal-NNXUV3SN.woff2 deleted file mode 100644 index 57866b15f..000000000 Binary files a/netbox/project-static/dist/plus-jakarta-sans-vietnamese-wght-normal-NNXUV3SN.woff2 and /dev/null differ diff --git a/netbox/project-static/package.json b/netbox/project-static/package.json index 5c16bee60..8180ddb90 100644 --- a/netbox/project-static/package.json +++ b/netbox/project-static/package.json @@ -22,7 +22,6 @@ "validate:formatting:scripts": "prettier -c src/**/*.ts" }, "dependencies": { - "@fontsource-variable/plus-jakarta-sans": "^5.1.0", "@mdi/font": "7.4.47", "@tabler/core": "1.0.0-beta21", "bootstrap": "5.3.3", @@ -31,8 +30,9 @@ "gridstack": "10.3.1", "htmx.org": "1.9.12", "query-string": "9.1.0", - "sass": "1.78.0", + "sass": "1.79.3", "tom-select": "2.3.1", + "typeface-inter": "3.18.1", "typeface-roboto-mono": "1.1.13" }, "devDependencies": { diff --git a/netbox/project-static/styles/_variables.scss b/netbox/project-static/styles/_variables.scss index 749f0ba57..33b144532 100644 --- a/netbox/project-static/styles/_variables.scss +++ b/netbox/project-static/styles/_variables.scss @@ -1,10 +1,9 @@ // Global variables // Set base fonts -$font-family-sans-serif: 'Plus Jakarta Sans Variable', system-ui, sans-serif; +$font-family-sans-serif: 'Inter', system-ui, sans-serif; // See https://github.com/tabler/tabler/issues/1812 $font-family-monospace: 'Roboto Mono'; -$font-weight-base: 500; // Set the navigation sidebar width $sidebar-width: 18rem; diff --git a/netbox/project-static/styles/external.scss b/netbox/project-static/styles/external.scss index 1e09d1803..b3c83aa87 100644 --- a/netbox/project-static/styles/external.scss +++ b/netbox/project-static/styles/external.scss @@ -4,5 +4,5 @@ @import 'gridstack/dist/gridstack.min.css'; // Fonts +@import url("../node_modules/typeface-inter/inter.css"); @import url("../node_modules/typeface-roboto-mono/index.css"); -@import url("../node_modules/@fontsource-variable/plus-jakarta-sans/index.css"); diff --git a/netbox/project-static/yarn.lock b/netbox/project-static/yarn.lock index ca9f5ff96..e1a30b229 100644 --- a/netbox/project-static/yarn.lock +++ b/netbox/project-static/yarn.lock @@ -200,11 +200,6 @@ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== -"@fontsource-variable/plus-jakarta-sans@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@fontsource-variable/plus-jakarta-sans/-/plus-jakarta-sans-5.1.0.tgz#9dd5aa72277c43d408f6e34cd658d823fbef1fe1" - integrity sha512-K7o2GO7/quVFFyfjTqYZu0ng4KJGf60KSAGbvUWwKuH+/Giyl6Qe/EqnGLcjrl9AmXZzTvtRB1xpkASn8FNFoQ== - "@graphiql/plugin-explorer@3.2.2": version "3.2.2" resolved "https://registry.yarnpkg.com/@graphiql/plugin-explorer/-/plugin-explorer-3.2.2.tgz#973d6015b6db15041902e95c3e4b746473313eb6" @@ -1043,6 +1038,13 @@ chalk@^4.0.0: optionalDependencies: fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" + integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== + dependencies: + readdirp "^4.0.1" + client-only@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" @@ -2472,6 +2474,11 @@ react@18.3.1: dependencies: loose-envify "^1.1.0" +readdirp@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.1.tgz#b2fe35f8dca63183cd3b86883ecc8f720ea96ae6" + integrity sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw== + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -2556,12 +2563,12 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -sass@1.78.0: - version "1.78.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.78.0.tgz#cef369b2f9dc21ea1d2cf22c979f52365da60841" - integrity sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ== +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== dependencies: - chokidar ">=3.0.0 <4.0.0" + chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" @@ -2852,6 +2859,11 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" +typeface-inter@3.18.1: + version "3.18.1" + resolved "https://registry.yarnpkg.com/typeface-inter/-/typeface-inter-3.18.1.tgz#24cccdf29923f318589783997be20a662cd3ab9c" + integrity sha512-c+TBanYFCvmg3j5vPk+zxK4ocMZbPxMEmjnwG7rPQoV87xvQ6b07VbAOC0Va0XBbbZCGw6cWNeFuLeg1YQru3Q== + typeface-roboto-mono@1.1.13: version "1.1.13" resolved "https://registry.yarnpkg.com/typeface-roboto-mono/-/typeface-roboto-mono-1.1.13.tgz#2af8662db8f9119c00efd55d6ed8877d2a69ec94" diff --git a/netbox/release.yaml b/netbox/release.yaml index dd0cb6c71..3963fd542 100644 --- a/netbox/release.yaml +++ b/netbox/release.yaml @@ -1,3 +1,3 @@ -version: "4.1.1" +version: "4.1.3" edition: "Community" -published: "2024-09-12" +published: "2024-10-02" diff --git a/netbox/templates/generic/_base.html b/netbox/templates/generic/_base.html index 6c279b102..3bf6a53bb 100644 --- a/netbox/templates/generic/_base.html +++ b/netbox/templates/generic/_base.html @@ -10,7 +10,7 @@ {# Title #}
-

{% block title %}{% endblock title %}

+

{% block title %}{% endblock title %}

{% block subtitle %}{% endblock %}
diff --git a/netbox/templates/virtualization/cluster.html b/netbox/templates/virtualization/cluster.html index ec5598b60..d79d8075c 100644 --- a/netbox/templates/virtualization/cluster.html +++ b/netbox/templates/virtualization/cluster.html @@ -69,7 +69,7 @@ {% trans "Disk Space" %} {% if disk_sum %} - {{ disk_sum }} {% trans "GB" context "Abbreviation for gigabyte" %} + {{ disk_sum|humanize_megabytes }} {% else %} {{ ''|placeholder }} {% endif %} 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/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..9cdba100e 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', @@ -12,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/translations/cs/LC_MESSAGES/django.mo b/netbox/translations/cs/LC_MESSAGES/django.mo index f7fa75819..afb8ee4f2 100644 Binary files a/netbox/translations/cs/LC_MESSAGES/django.mo and b/netbox/translations/cs/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/cs/LC_MESSAGES/django.po b/netbox/translations/cs/LC_MESSAGES/django.po index f47711368..f9b66f770 100644 --- a/netbox/translations/cs/LC_MESSAGES/django.po +++ b/netbox/translations/cs/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Czech (https://app.transifex.com/netbox-community/teams/178115/cs/)\n" @@ -87,8 +87,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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -101,7 +101,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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 +112,8 @@ msgid "Active" msgstr "Aktivní" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Vypnuto" @@ -126,7 +126,7 @@ msgstr "Zrušení přidělování" msgid "Decommissioned" msgstr "Vyřazeno z provozu" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primární" @@ -332,7 +332,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -570,8 +570,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -608,7 +608,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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -665,8 +665,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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -815,7 +815,7 @@ msgstr "Parametry služby" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -1397,11 +1397,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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1539,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1618,7 +1618,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Neuspěl" @@ -1943,7 +1943,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Výšky stojanů" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -2516,7 +2516,7 @@ msgid "Staging" msgstr "Inscenace" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Vyřazení z provozu" @@ -2580,7 +2580,7 @@ msgstr "Zastaralé" msgid "Millimeters" msgstr "Milimetry" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "palce" @@ -2602,9 +2602,9 @@ msgstr "Zezadu dopředu" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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 @@ -2634,15 +2634,15 @@ msgstr "Rodič" msgid "Child" msgstr "Dítě" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Fronta" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2670,7 +2670,7 @@ msgid "Side to rear" msgstr "Ze strany dozadu" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "pasivní" @@ -2678,15 +2678,15 @@ msgstr "pasivní" msgid "Mixed" msgstr "Smíšené" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (bez blokování)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (zamykání)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Kalifornský styl" @@ -2694,42 +2694,42 @@ msgstr "Kalifornský styl" msgid "International/ITA" msgstr "Mezinárodní/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Proprietární" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Ostatní" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/Mezinárodní" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Fyzické" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Virtuální" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Bezdrátové" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Virtuální rozhraní" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2739,27 +2739,27 @@ msgstr "Virtuální rozhraní" msgid "Bridge" msgstr "Most" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Agregační skupina (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (pevný)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modulární)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (propojovací deska)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Buněčný" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2767,130 @@ msgstr "Buněčný" msgid "Serial" msgstr "Sériový" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Koaxiální" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Stohování" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Poloviční" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Plný" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Přístup" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Označeno (Vše)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "Norma IEEE" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "Pasivní 24V (2 páry)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "Pasivní 24V (4 páry)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "Pasivní 48V (2 páry)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "Pasivní 48V (4 páry)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "měď" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Optická vlákna" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Vlákno" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Připojeno" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometry" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Metry" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Centimetry" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Míle" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Stopy" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogramy" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Gramy" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "libry" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Unce" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Redundantní" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Jednofázový" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Třífázový" @@ -3259,7 +3260,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3338,7 +3339,7 @@ msgid "LAG interface (ID)" msgstr "Rozhraní LAG (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Kontext virtuálního zařízení" @@ -3413,7 +3414,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3460,9 +3461,9 @@ msgstr "Časové pásmo" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3586,9 +3587,9 @@ msgstr "Číslování" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3678,7 +3679,7 @@ msgstr "Stojan" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Hardware" @@ -3786,15 +3787,15 @@ msgstr "Nástupiště" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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,7 +3939,7 @@ msgstr "Přidělený příkon (W)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Napájecí port" @@ -4026,14 +4027,14 @@ msgstr "Režim" msgid "VLAN group" msgstr "Skupina VLAN" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "Neznačené VLAN" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4052,7 +4053,7 @@ msgid "Wireless LANs" msgstr "Bezdrátové LAN sítě" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4061,24 +4062,24 @@ msgid "Addressing" msgstr "Adresování" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operace" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Související rozhraní" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4417,7 +4418,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} není přiřazen k zařízení {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Zadní port" @@ -4431,7 +4432,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Nainstalované zařízení" @@ -4520,7 +4521,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4550,6 +4551,28 @@ msgstr "Typ napájení (AC/DC)" msgid "Single or three-phase" msgstr "Jednofázové nebo třífázové" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "Primární IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "IPv4 adresa s maskou, např. 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "Primární IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4712,7 +4735,7 @@ msgstr "Druh" msgid "Mgmt only" msgstr "Pouze správa" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4746,7 +4769,7 @@ msgstr "Vysílací výkon (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "objeveno" @@ -4843,8 +4866,8 @@ msgstr "Šablona napájecího portu" msgid "Rear port template" msgstr "Šablona zadního portu" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4868,7 +4891,7 @@ msgstr "Šablona zadního portu" msgid "Interface" msgstr "Rozhraní" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4876,14 +4899,14 @@ msgstr "Rozhraní" msgid "Console Port" msgstr "Port konzoly" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Port konzolového serveru" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4894,8 +4917,8 @@ msgstr "Port konzolového serveru" msgid "Front Port" msgstr "Přední port" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4907,24 +4930,24 @@ msgstr "Přední port" msgid "Rear Port" msgstr "Zadní port" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Napájecí port" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Napájecí zásuvka" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Přiřazení komponent" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "InventoryItem lze přiřadit pouze k jedné komponentě." @@ -4932,11 +4955,15 @@ msgstr "InventoryItem lze přiřadit pouze k jedné komponentě." msgid "LAG interface" msgstr "Rozhraní LAG" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Filtrujte sítě VLAN dostupné pro přiřazení podle skupiny." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Podřazené zařízení" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4944,44 +4971,32 @@ msgstr "" "Podřízená zařízení musí být nejprve vytvořena a přiřazena k staveništi a " "stojanu nadřazeného zařízení." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Port konzoly" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Port konzolového serveru" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Přední port" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Napájecí zásuvka" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Položka inventáře" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Role položky inventáře" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "Primární IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "Primární IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5039,7 +5054,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:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -6615,7 +6630,7 @@ msgstr "Konfigurační šablona" msgid "Site Group" msgstr "Skupina stránek" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6624,12 +6639,12 @@ msgstr "Skupina stránek" msgid "IP Address" msgstr "IP adresa" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4 Adresa" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Adresa IPv6" @@ -6667,7 +6682,7 @@ msgstr "Napájecí porty" msgid "Power outlets" msgstr "Elektrické zásuvky" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6774,28 +6789,28 @@ msgstr "Pouze správa" msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Instalovaný modul" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Sériový modul" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Štítek aktiv modulu" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Stav modulu" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Komponenta" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Položky" @@ -10362,7 +10377,7 @@ msgstr "Rozsahy musí být specifikovány ve formuláři (dolní, horní)." msgid "Range boundaries must be defined as integers." msgstr "Hranice rozsahu musí být definovány jako celá čísla." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} musí implementovat get_view_name ()" @@ -10712,32 +10727,32 @@ msgstr "Vlastní pole '{name}Musí mít jedinečnou hodnotu." msgid "Missing required custom field '{name}'." msgstr "Chybí povinné vlastní pole '{name}„." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Vzdálený zdroj dat" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "datová cesta" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Cesta ke vzdálenému souboru (vzhledem k kořenovému zdroji dat)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "automatická synchronizace povolena" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Povolit automatickou synchronizaci dat při aktualizaci datového souboru" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "datum synchronizováno" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} musí implementovat metodu sync_data ()." @@ -12472,7 +12487,7 @@ msgid "Parent Bay" msgstr "Mateřská zátoka" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Regenerujte slimáka" @@ -12817,17 +12832,17 @@ msgstr "Maximální hmotnost" msgid "Total Weight" msgstr "Celková hmotnost" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Obrázky a štítky" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Pouze obrázky" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Pouze štítky" @@ -15099,15 +15114,15 @@ msgstr "Odhlásit" msgid "Subscribe" msgstr "Přihlásit" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Kopírovat do schránky" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Toto pole je povinné" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Nastavit Null" diff --git a/netbox/translations/da/LC_MESSAGES/django.mo b/netbox/translations/da/LC_MESSAGES/django.mo index 3164f50af..18e2f6863 100644 Binary files a/netbox/translations/da/LC_MESSAGES/django.mo and b/netbox/translations/da/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/da/LC_MESSAGES/django.po b/netbox/translations/da/LC_MESSAGES/django.po index 12bd7ff98..a3eb24b39 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-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 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" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -103,7 +103,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primær" @@ -334,7 +334,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -572,8 +572,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -817,7 +817,7 @@ msgstr "Serviceparametre" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -900,7 +900,7 @@ msgstr "Tildelt leverandørkonto" #: netbox/circuits/forms/bulk_import.py:91 msgid "Type of circuit" -msgstr "Type kredsløb" +msgstr "Kredsløbstype" #: netbox/circuits/forms/bulk_import.py:96 netbox/dcim/forms/bulk_import.py:90 #: netbox/dcim/forms/bulk_import.py:149 netbox/dcim/forms/bulk_import.py:250 @@ -1340,7 +1340,7 @@ msgstr "" #: netbox/vpn/models/crypto.py:221 netbox/vpn/models/l2vpn.py:22 #: netbox/vpn/models/tunnels.py:35 netbox/wireless/models.py:51 msgid "name" -msgstr "navngive" +msgstr "navn" #: netbox/circuits/models/providers.py:25 msgid "Full name of the provider" @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1542,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1580,7 +1580,7 @@ msgstr "Konti" #: netbox/circuits/tables/providers.py:29 msgid "Account Count" -msgstr "Kontotælling" +msgstr "Kontoantal" #: netbox/circuits/tables/providers.py:39 netbox/dcim/tables/sites.py:100 msgid "ASN Count" @@ -1621,7 +1621,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Mislykkedes" @@ -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:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -2432,7 +2432,7 @@ msgstr "Ingen opgaver fundet" #: netbox/core/tables/tasks.py:118 netbox/templates/core/rq_worker.html:47 msgid "State" -msgstr "Stat" +msgstr "Tilstand" #: netbox/core/tables/tasks.py:121 netbox/templates/core/rq_worker.html:51 msgid "Birth" @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Nedlæggelse" @@ -2531,7 +2531,7 @@ msgstr "Pensioneret" #: netbox/dcim/choices.py:65 msgid "2-post frame" -msgstr "2-post ramme" +msgstr "2-stolpe ramme" #: netbox/dcim/choices.py:66 msgid "4-post frame" @@ -2584,7 +2584,7 @@ msgstr "Forældet" msgid "Millimeters" msgstr "Millimeter" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Tommer" @@ -2606,9 +2606,9 @@ msgstr "Bagsiden til forsiden" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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 @@ -2638,15 +2638,15 @@ msgstr "Forælder" msgid "Child" msgstr "Barn" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Front" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2659,7 +2659,7 @@ msgstr "Iscenesat" #: netbox/dcim/choices.py:188 msgid "Inventory" -msgstr "Opgørelse" +msgstr "Inventar" #: netbox/dcim/choices.py:206 netbox/dcim/choices.py:250 msgid "Left to right" @@ -2674,7 +2674,7 @@ msgid "Side to rear" msgstr "Side til bagside" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Passiv" @@ -2682,15 +2682,15 @@ msgstr "Passiv" msgid "Mixed" msgstr "Blandet" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (Ikke-låsende)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (Låsning)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Californiens stil" @@ -2698,42 +2698,42 @@ msgstr "Californiens stil" msgid "International/ITA" msgstr "International/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Proprietær" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Andet" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/International" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Fysisk" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Virtuel" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Trådløs" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Virtuelle grænseflader" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2743,27 +2743,27 @@ msgstr "Virtuelle grænseflader" msgid "Bridge" msgstr "Bro" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Link Aggregation Group (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (fast)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modulopbygget)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (bagplan)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Cellulær" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,131 +2771,132 @@ msgstr "Cellulær" msgid "Serial" msgstr "Seriel" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Koaksial" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Stabling" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Halvdelen" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Fuld" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Adgang" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Tagget (Alle)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "IEEE-standard" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "Passiv 24V (2-par)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "Passiv 24V (4-par)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "Passiv 48V (2-par)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "Passiv 48V (4-par)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Kobber" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Fiberoptisk" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" -msgstr "Fibre" +msgstr "Fiber" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Tilsluttet" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometer" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Meter" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Centimeter" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" -msgstr "Miles" +msgstr "Mil" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" -msgstr "Fødder" +msgstr "Fod" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogram" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Gram" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "pund" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Ounce" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Redundant" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Enkeltfase" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" -msgstr "trefaset" +msgstr "Trefaset" #: netbox/dcim/fields.py:45 #, python-brace-format @@ -2934,7 +2935,7 @@ msgstr "Gruppe (slug)" #: netbox/dcim/filtersets.py:176 netbox/dcim/filtersets.py:181 msgid "AS (ID)" -msgstr "SOM (ID)" +msgstr "AS (ID)" #: netbox/dcim/filtersets.py:246 msgid "Parent location (ID)" @@ -2974,7 +2975,7 @@ msgstr "Producent (slug)" #: netbox/dcim/filtersets.py:393 msgid "Rack type (slug)" -msgstr "Stativtype (snegle)" +msgstr "Racktype (slug)" #: netbox/dcim/filtersets.py:397 msgid "Rack type (ID)" @@ -3263,7 +3264,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3342,7 +3343,7 @@ msgid "LAG interface (ID)" msgstr "LAG-grænseflade (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Virtuel enhedskontekst" @@ -3417,7 +3418,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3464,9 +3465,9 @@ msgstr "Tidszone" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3590,9 +3591,9 @@ msgstr "Nummerering" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3676,13 +3677,13 @@ msgstr "Luftstrøm" #: netbox/templates/dcim/rackreservation.html:36 #: netbox/virtualization/forms/model_forms.py:113 msgid "Rack" -msgstr "Stativ" +msgstr "Rack" #: netbox/dcim/forms/bulk_edit.py:444 netbox/dcim/forms/bulk_edit.py:730 #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Hardware" @@ -3790,15 +3791,15 @@ msgstr "Platformen" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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,7 +3943,7 @@ msgstr "Allokeret forbrug (watt)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Strømstik" @@ -4030,14 +4031,14 @@ msgstr "Tilstand" msgid "VLAN group" msgstr "VLAN-gruppe" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "Umærket VLAN" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4056,7 +4057,7 @@ msgid "Wireless LANs" msgstr "Trådløse LAN" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4065,24 +4066,24 @@ msgid "Addressing" msgstr "Adressering" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Betjening" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Relaterede grænseflader" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4140,7 +4141,7 @@ msgstr "Producenten af denne racktype" #: netbox/dcim/forms/bulk_import.py:196 msgid "The lowest-numbered position in the rack" -msgstr "Den laveste nummererede position i stativet" +msgstr "Den laveste nummererede position i racket" #: netbox/dcim/forms/bulk_import.py:201 netbox/dcim/forms/bulk_import.py:268 msgid "Rail-to-rail width (in inches)" @@ -4152,7 +4153,7 @@ msgstr "Enhed til udvendige mål" #: netbox/dcim/forms/bulk_import.py:213 netbox/dcim/forms/bulk_import.py:286 msgid "Unit for rack weights" -msgstr "Enhed til stativvægte" +msgstr "Enhed til rackvægte" #: netbox/dcim/forms/bulk_import.py:245 msgid "Name of assigned tenant" @@ -4173,7 +4174,7 @@ msgstr "Overordnet område" #: netbox/dcim/forms/bulk_import.py:319 netbox/dcim/forms/bulk_import.py:1355 msgid "Rack's location (if any)" -msgstr "Stativets placering (hvis nogen)" +msgstr "Rackets placering (hvis nogen)" #: netbox/dcim/forms/bulk_import.py:328 netbox/dcim/forms/model_forms.py:311 #: netbox/dcim/tables/racks.py:222 @@ -4269,7 +4270,7 @@ msgstr "Tildelt placering (hvis nogen)" #: netbox/dcim/forms/bulk_import.py:557 msgid "Assigned rack (if any)" -msgstr "Tildelt stativ (hvis et sådant findes)" +msgstr "Tildelt rack (hvis et sådant findes)" #: netbox/dcim/forms/bulk_import.py:560 msgid "Face" @@ -4277,7 +4278,7 @@ msgstr "Ansigt" #: netbox/dcim/forms/bulk_import.py:563 msgid "Mounted rack face" -msgstr "Monteret stativflade" +msgstr "Monteret rackflade" #: netbox/dcim/forms/bulk_import.py:570 msgid "Parent device (for child devices)" @@ -4421,7 +4422,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} er ikke tildelt enheden {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Bageste port" @@ -4435,7 +4436,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Installeret enhed" @@ -4525,7 +4526,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4555,6 +4556,28 @@ msgstr "Forsyningstype (AC/DC)" msgid "Single or three-phase" msgstr "Enkelt- eller trefaset" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "Primær IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "IP-adresse med maske, fx 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "Primær IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4640,7 +4663,7 @@ msgstr "Faciliteterne" #: netbox/dcim/forms/filtersets.py:380 msgid "Rack type" -msgstr "Stativtype" +msgstr "Racktype" #: netbox/dcim/forms/filtersets.py:397 msgid "Function" @@ -4717,7 +4740,7 @@ msgstr "Venlig" msgid "Mgmt only" msgstr "Kun Mgmt" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4751,7 +4774,7 @@ msgstr "Sendeeffekt (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Opdaget" @@ -4849,8 +4872,8 @@ msgstr "Strømstikskabelon" msgid "Rear port template" msgstr "Bagport skabelon" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4874,7 +4897,7 @@ msgstr "Bagport skabelon" msgid "Interface" msgstr "Grænseflade" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4882,14 +4905,14 @@ msgstr "Grænseflade" msgid "Console Port" msgstr "Konsolport" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Konsolserverport" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4900,8 +4923,8 @@ msgstr "Konsolserverport" msgid "Front Port" msgstr "Frontport" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4913,24 +4936,24 @@ msgstr "Frontport" msgid "Rear Port" msgstr "Bageste port" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Strømstik" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Strømudtag" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Komponenttildeling" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "En InventoryItem kan kun tildeles til en enkelt komponent." @@ -4938,11 +4961,15 @@ msgstr "En InventoryItem kan kun tildeles til en enkelt komponent." msgid "LAG interface" msgstr "LAG-grænseflade" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Filtrer VLAN'er, der er tilgængelige til tildeling efter gruppe." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Børneenhed" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4950,44 +4977,32 @@ msgstr "" "Underordnede enheder skal først oprettes og tildeles til den overordnede " "enheds område og rack." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Konsolport" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Konsolserverport" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Frontport" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Strømudtag" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Lagergenstand" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Lagervarrolle" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "Primær IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "Primær IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5044,7 +5059,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:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -5907,7 +5922,7 @@ msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" " a height of {height}U" msgstr "" -"Enhed {device} i stativ {rack} har ikke tilstrækkelig plads til at rumme en " +"Enhed {device} i rack {rack} har ikke tilstrækkelig plads til at rumme en " "højde på {height}U" #: netbox/dcim/models/devices.py:322 @@ -5918,7 +5933,7 @@ msgid "" msgstr "" "Kan ikke indstille 0U højde: Fundet {racked_instance_count} tilfælde allerede monteret i " -"stativer." +"racker." #: netbox/dcim/models/devices.py:331 msgid "" @@ -5982,7 +5997,7 @@ msgstr "position (U)" #: netbox/dcim/models/devices.py:650 msgid "rack face" -msgstr "stativflade" +msgstr "rackflade" #: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 #: netbox/virtualization/models/virtualmachines.py:100 @@ -6042,7 +6057,7 @@ msgstr "enheder" #: netbox/dcim/models/devices.py:835 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." -msgstr "Stativ {rack} hører ikke til område {site}." +msgstr "Rack {rack} hører ikke til område {site}." #: netbox/dcim/models/devices.py:840 #, python-brace-format @@ -6052,7 +6067,7 @@ msgstr "Lokation {location} hører ikke til området {site}." #: netbox/dcim/models/devices.py:846 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." -msgstr "Stativ {rack} hører ikke til placering {location}." +msgstr "Rack {rack} hører ikke til placering {location}." #: netbox/dcim/models/devices.py:853 msgid "Cannot select a rack face without assigning a rack." @@ -6277,8 +6292,8 @@ msgid "" "Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) " "are in different sites." msgstr "" -"Stativ {rack} ({rack_site}) og strømpanel {powerpanel} ({powerpanel_site}) " -"er på forskellige områder." +"Rack {rack} ({rack_site}) og strømpanel {powerpanel} ({powerpanel_site}) er " +"på forskellige områder." #: netbox/dcim/models/power.py:190 msgid "Voltage cannot be negative for AC supply" @@ -6302,7 +6317,7 @@ msgstr "startenhed" #: netbox/dcim/models/racks.py:62 msgid "Starting unit for rack" -msgstr "Startenhed til stativ" +msgstr "Startenhed til rack" #: netbox/dcim/models/racks.py:66 msgid "descending units" @@ -6318,7 +6333,7 @@ msgstr "ydre bredde" #: netbox/dcim/models/racks.py:75 msgid "Outer dimension of rack (width)" -msgstr "Udvendig dimension af reol (bredde)" +msgstr "Udvendig dimension af rack (bredde)" #: netbox/dcim/models/racks.py:78 msgid "outer depth" @@ -6326,7 +6341,7 @@ msgstr "ydre dybde" #: netbox/dcim/models/racks.py:81 msgid "Outer dimension of rack (depth)" -msgstr "Udvendig dimension af reol (dybde)" +msgstr "Udvendig dimension af rack (dybde)" #: netbox/dcim/models/racks.py:84 msgid "outer unit" @@ -6358,11 +6373,11 @@ msgstr "formfaktor" #: netbox/dcim/models/racks.py:162 msgid "rack type" -msgstr "stativtype" +msgstr "racktype" #: netbox/dcim/models/racks.py:163 msgid "rack types" -msgstr "stativtyper" +msgstr "racktyper" #: netbox/dcim/models/racks.py:180 netbox/dcim/models/racks.py:379 msgid "Must specify a unit when setting an outer width/depth" @@ -6374,11 +6389,11 @@ msgstr "Skal angive en enhed, når der indstilles en maksimal vægt" #: netbox/dcim/models/racks.py:230 msgid "rack role" -msgstr "stativrolle" +msgstr "rackrolle" #: netbox/dcim/models/racks.py:231 msgid "rack roles" -msgstr "stativroller" +msgstr "rackroller" #: netbox/dcim/models/racks.py:274 msgid "facility ID" @@ -6401,7 +6416,7 @@ msgstr "Et unikt tag, der bruges til at identificere dette rack" #: netbox/dcim/models/racks.py:359 msgid "rack" -msgstr "stativ" +msgstr "rack" #: netbox/dcim/models/racks.py:360 msgid "racks" @@ -6575,11 +6590,11 @@ msgstr "Sted B" #: netbox/dcim/tables/cables.py:90 msgid "Rack A" -msgstr "Stativ A" +msgstr "Rack A" #: netbox/dcim/tables/cables.py:96 msgid "Rack B" -msgstr "Stativ B" +msgstr "Rack B" #: netbox/dcim/tables/cables.py:102 msgid "Site A" @@ -6630,7 +6645,7 @@ msgstr "Konfigurationsskabelon" msgid "Site Group" msgstr "Områdegruppe" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 +6654,12 @@ msgstr "Områdegruppe" msgid "IP Address" msgstr "IP adresse" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4-adresse" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6-adresse" @@ -6682,7 +6697,7 @@ msgstr "Strømstik" msgid "Power outlets" msgstr "Strømudtag" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6789,28 +6804,28 @@ msgstr "Kun ledelse" msgid "VDCs" msgstr "VDC'er" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Installeret modul" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Seriel modul" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Modulaktivmærke" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Modulstatus" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Komponent" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Varer" @@ -6949,7 +6964,7 @@ msgstr "Tilgængelig effekt (VA)" #: netbox/netbox/navigation/menu.py:43 netbox/netbox/navigation/menu.py:47 #: netbox/netbox/navigation/menu.py:49 msgid "Racks" -msgstr "Stativer" +msgstr "Racker" #: netbox/dcim/tables/racks.py:63 netbox/dcim/tables/racks.py:142 #: netbox/templates/dcim/device.html:318 @@ -10389,7 +10404,7 @@ msgstr "Intervaller skal specificeres i formularen (nedre, øvre)." msgid "Range boundaries must be defined as integers." msgstr "Områdegrænser skal defineres som heltal." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} skal implementere get_view_name ()" @@ -10742,31 +10757,31 @@ msgstr "Brugerdefineret felt '{name}“ skal have en unik værdi." msgid "Missing required custom field '{name}'." msgstr "Mangler påkrævet brugerdefineret felt '{name}„." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Fjerndatakilde" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "datastie" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Sti til fjernfil (i forhold til datakildens rod)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "automatisk synkronisering aktiveret" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "Aktivér automatisk synkronisering af data, når datafilen opdateres" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "dato synkroniseret" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} skal implementere en sync_data () metode." @@ -11523,7 +11538,7 @@ msgstr "Annuller" #: netbox/utilities/templates/helpers/applied_filters.html:16 #: netbox/utilities/templates/helpers/table_config_form.html:40 msgid "Save" -msgstr "Gemme" +msgstr "Gem" #: netbox/templates/account/preferences.html:34 msgid "Table Configurations" @@ -12507,7 +12522,7 @@ msgid "Parent Bay" msgstr "Forældrebugten" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Regenerer slug" @@ -12842,7 +12857,7 @@ msgstr "Rumudnyttelse" #: netbox/templates/dcim/rack.html:84 netbox/templates/dcim/racktype.html:44 msgid "Rack Weight" -msgstr "Stativvægt" +msgstr "Rackvægt" #: netbox/templates/dcim/rack.html:94 netbox/templates/dcim/racktype.html:54 msgid "Maximum Weight" @@ -12852,17 +12867,17 @@ msgstr "Maksimal vægt" msgid "Total Weight" msgstr "Samlet vægt" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Billeder og etiketter" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Kun billeder" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Kun etiketter" @@ -12885,7 +12900,7 @@ msgstr "Sorter efter" #: netbox/templates/dcim/rack_elevation_list.html:74 msgid "No Racks Found" -msgstr "Ingen stativer fundet" +msgstr "Ingen racker fundet" #: netbox/templates/dcim/rack_list.html:8 msgid "View Elevations" @@ -15141,15 +15156,15 @@ msgstr "Afmeld" msgid "Subscribe" msgstr "Abonner" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Kopier til udklipsholder" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Dette felt er påkrævet" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Indstil Null" diff --git a/netbox/translations/de/LC_MESSAGES/django.mo b/netbox/translations/de/LC_MESSAGES/django.mo index 1d183326e..cd38fed98 100644 Binary files a/netbox/translations/de/LC_MESSAGES/django.mo and b/netbox/translations/de/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/de/LC_MESSAGES/django.po b/netbox/translations/de/LC_MESSAGES/django.po index 967459e73..c8c7e2a55 100644 --- a/netbox/translations/de/LC_MESSAGES/django.po +++ b/netbox/translations/de/LC_MESSAGES/django.po @@ -8,19 +8,19 @@ # Niklas, 2024 # fepilins, 2024 # Steffen, 2024 -# Robin Reinhardt, 2024 # Uli Haage, 2024 -# chbally, 2024 # Jeremy Stretch, 2024 +# Robin Reinhardt, 2024 +# chbally, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: chbally, 2024\n" "Language-Team: German (https://app.transifex.com/netbox-community/teams/178115/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -108,7 +108,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primär" @@ -339,7 +339,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -577,8 +577,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -822,7 +822,7 @@ msgstr "Service Parameter" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1548,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1628,7 +1628,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Fehlgeschlagen" @@ -1955,7 +1955,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Rackübersichten" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -2368,7 +2368,7 @@ msgstr "Zuletzt aktualisiert" #: netbox/core/tables/plugins.py:23 msgid "Minimum NetBox Version" -msgstr "Minimale Netboxversion" +msgstr "Minimale Netbox-Version" #: netbox/core/tables/plugins.py:27 msgid "Maximum NetBox Version" @@ -2400,7 +2400,7 @@ msgstr "Installierte Version" #: netbox/core/tables/plugins.py:70 msgid "Latest Version" -msgstr "Letzte Version" +msgstr "Neuste Version" #: netbox/core/tables/tasks.py:18 msgid "Oldest Task" @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Außerbetriebnahme" @@ -2600,7 +2600,7 @@ msgstr "Veraltet" msgid "Millimeters" msgstr "Millimeter" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Zoll" @@ -2622,9 +2622,9 @@ msgstr "Rück- zu Frontseite" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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,15 +2654,15 @@ msgstr "Übergeordnet" msgid "Child" msgstr "Untergeordnet" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Frontseite" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2690,7 +2690,7 @@ msgid "Side to rear" msgstr "Seite nach hinten" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Passiv" @@ -2698,15 +2698,15 @@ msgstr "Passiv" msgid "Mixed" msgstr "Gemischt" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (nicht verriegelnd)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (verriegelnd)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Kalifornischer Stil" @@ -2714,42 +2714,42 @@ msgstr "Kalifornischer Stil" msgid "International/ITA" msgstr "International/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Propritär" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Andere" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/International" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Physikalisch" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Virtuell" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Funknetze" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Virtuelle Schnittstellen" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2759,27 +2759,27 @@ msgstr "Virtuelle Schnittstellen" msgid "Bridge" msgstr "Bridge" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Link Aggregation Group (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (fest)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modular)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (Backplane)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Mobilfunk" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2787,130 @@ msgstr "Mobilfunk" msgid "Serial" msgstr "Seriell" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Koaxial" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Stapelnd" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Halb" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Voll" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Automatisch" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Untagged" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Tagged (Alle)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "IEEE-Standard" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "Passiv 24 V (2 Paare)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "Passiv 24 V (4 Paare)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "Passiv 48 V (2 Paare)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "Passiv 48 V (4 Paare)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Kupfer" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Glasfaser" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Faser" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Verbunden" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometer" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Meter" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Zentimeter" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Meilen" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Fuß" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogramm" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Gramm" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Pfund" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Unzen" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Redundant" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Einphasig" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Dreiphasig" @@ -3279,7 +3280,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3358,7 +3359,7 @@ msgid "LAG interface (ID)" msgstr "LAG-Schnittstelle (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Virtual Device Context" @@ -3433,7 +3434,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3480,9 +3481,9 @@ msgstr "Zeitzone" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3606,9 +3607,9 @@ msgstr "Nummerierung" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3698,7 +3699,7 @@ msgstr "Rack" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Hardware" @@ -3806,15 +3807,15 @@ msgstr "Betriebssystem" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3958,7 +3959,7 @@ msgstr "Zugewiesene Leistungsaufnahme (Watt)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Stromanschluss" @@ -4046,14 +4047,14 @@ msgstr "Modus" msgid "VLAN group" msgstr "VLAN-Gruppe" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "Untagged VLAN" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4072,7 +4073,7 @@ msgid "Wireless LANs" msgstr "WLANs" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4081,24 +4082,24 @@ msgid "Addressing" msgstr "Adressierung" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Dienst / Port" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Verwandte Schnittstellen" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4441,7 +4442,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} ist dem Gerät {device} nicht zugewiesen" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Rückseitenanschluss" @@ -4455,7 +4456,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Installiertes Gerät" @@ -4545,7 +4546,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4575,6 +4576,28 @@ msgstr "Versorgungsart (AC/DC)" msgid "Single or three-phase" msgstr "Ein- oder Dreiphasig" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "Primäre IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "IPv4-Adresse mit Maske, z. B. 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "Primäre IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4739,7 +4762,7 @@ msgstr "Art" msgid "Mgmt only" msgstr "Nur Verwaltung" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4773,7 +4796,7 @@ msgstr "Sendeleistung (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Erfasst" @@ -4874,8 +4897,8 @@ msgstr "Vorlage für Stromverteiler" msgid "Rear port template" msgstr "Vorlage für den hinteren Anschluss" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4899,7 +4922,7 @@ msgstr "Vorlage für den hinteren Anschluss" msgid "Interface" msgstr "Schnittstelle" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4907,14 +4930,14 @@ msgstr "Schnittstelle" msgid "Console Port" msgstr "Konsolenanschluss" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Konsolenserveranschluss" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4925,8 +4948,8 @@ msgstr "Konsolenserveranschluss" msgid "Front Port" msgstr "Frontanschluss" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4938,24 +4961,24 @@ msgstr "Frontanschluss" msgid "Rear Port" msgstr "Rückanschluss" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Stromanschluss" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Stromabgang" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Komponentenzuweisung" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "" "Ein InventoryItem kann nur einer einzelnen Komponente zugewiesen werden." @@ -4964,11 +4987,15 @@ msgstr "" msgid "LAG interface" msgstr "LAG-Schnittstelle" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Filtern Sie VLANs, die für die Zuweisung nach Gruppen verfügbar sind." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "untergeordnetes Gerät" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4976,44 +5003,32 @@ msgstr "" "Untergeordnete Geräte müssen zuerst erstellt und dem Standort und dem Rack " "des übergeordneten Geräts zugewiesen werden." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Konsolenanschluss" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Konsolenserveranschluss" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Frontanschluss" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Stromabgang" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Inventar-Artikel" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Rolle des Inventarartikels" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "Primäre IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "Primäre IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5074,7 +5089,7 @@ msgstr "" "der ausgewählten Anzahl der hinteren Anschlusspositionen übereinstimmen " "({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -5139,7 +5154,7 @@ msgstr "" #: netbox/dcim/models/cables.py:183 #, python-brace-format msgid "Incompatible termination types: {type_a} and {type_b}" -msgstr "Inkompatible Kündigungsarten: {type_a} und {type_b}" +msgstr "Inkompatible Verbindungssarten: {type_a} und {type_b}" #: netbox/dcim/models/cables.py:193 msgid "A and B terminations cannot connect to the same object." @@ -5469,8 +5484,7 @@ msgstr "Das Kabelende darf nicht ohne Kabel verlegt werden." #: netbox/dcim/models/device_components.py:179 msgid "Cannot mark as connected with a cable attached." -msgstr "" -"Mit angeschlossenem Kabel kann nicht als angeschlossen markiert werden." +msgstr "Mit angeschlossenem Kabel kann nicht als verbunden markiert werden." #: netbox/dcim/models/device_components.py:203 #, python-brace-format @@ -5945,7 +5959,7 @@ msgstr "" #: netbox/dcim/models/devices.py:123 msgid "parent/child status" -msgstr "Eltern-/Kind-Status" +msgstr "Über-/Untergeordnetenstatus" #: netbox/dcim/models/devices.py:124 msgid "" @@ -6731,7 +6745,7 @@ msgstr "Konfigvorlage" msgid "Site Group" msgstr "Standortgruppe" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6740,12 +6754,12 @@ msgstr "Standortgruppe" msgid "IP Address" msgstr "IP-Adresse" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4-Adresse" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6-Adresse" @@ -6783,7 +6797,7 @@ msgstr "Stromanschlüsse" msgid "Power outlets" msgstr "Stromabgänge" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6890,28 +6904,28 @@ msgstr "Nur zur Verwaltung" msgid "VDCs" msgstr "VDCs" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Installiertes Modul" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Seriennummer des Moduls" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Modul-Asset-Tag" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Status des Moduls" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Komponente" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Artikel" @@ -8535,12 +8549,12 @@ msgstr "Der Wert muss wahr oder falsch sein." #: netbox/extras/models/customfields.py:696 msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)." -msgstr "Datumswerte müssen im ISO 8601-Format (JJJJ-MM-DD) vorliegen." +msgstr "Datumswerte müssen im ISO 8601-Format (YYYY-MM-DD) vorliegen." #: netbox/extras/models/customfields.py:705 msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)." msgstr "" -"Datums- und Uhrzeitwerte müssen im ISO 8601-Format (JJJJ-MM-DD HH:MM:SS) " +"Datums- und Uhrzeitwerte müssen im ISO 8601-Format (YYYY-MM-DD HH:MM:SS) " "vorliegen." #: netbox/extras/models/customfields.py:712 @@ -10563,7 +10577,7 @@ msgstr "Bereiche müssen in der Form (unten, oben) angegeben werden." msgid "Range boundaries must be defined as integers." msgstr "Bereichsgrenzen müssen als ganze Zahlen (Integer) definiert werden." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} muss get_view_name () implementieren" @@ -10917,33 +10931,33 @@ msgstr "Benutzerdefiniertes Feld '{name}'muss einen eindeutigen Wert haben." msgid "Missing required custom field '{name}'." msgstr "Erforderliches benutzerdefiniertes Feld fehlt '{name}'." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Entfernte Datenquelle" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "Datenpfad" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Pfad zur Remote-Datei (relativ zum Stammverzeichnis)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "Auto-Sync aktiviert" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Automatische Synchronisation von Daten aktivieren, wenn die Datendatei " "aktualisiert wird" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "Datum der Synchronisierung " -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} muss eine sync_data () -Methode implementieren." @@ -11132,7 +11146,7 @@ msgstr "Clustergruppen" #: netbox/netbox/navigation/menu.py:273 msgid "Circuit Types" -msgstr "Transportnetz Typen" +msgstr "Transportnetztypen" #: netbox/netbox/navigation/menu.py:274 msgid "Circuit Groups" @@ -11484,7 +11498,7 @@ msgstr "Ukrainisch" #: netbox/netbox/settings.py:776 msgid "Chinese" -msgstr "chinesisch" +msgstr "Chinesisch" #: netbox/netbox/tables/columns.py:176 msgid "Select all" @@ -12695,7 +12709,7 @@ msgid "Parent Bay" msgstr "Übergeordneter Einsatz" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "URL-Slug regenerieren" @@ -12772,7 +12786,7 @@ msgstr "Von der Auslastung ausschließen" #: netbox/templates/dcim/devicetype.html:59 msgid "Parent/Child" -msgstr "Eltern/Kind" +msgstr "Übergeordnet/Untergeordnet" #: netbox/templates/dcim/devicetype.html:71 msgid "Front Image" @@ -13040,17 +13054,17 @@ msgstr "Maximales Gewicht" msgid "Total Weight" msgstr "Gesamtgewicht" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Bilder und Beschriftungen" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Nur Bilder" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Nur Beschriftungen" @@ -13705,7 +13719,7 @@ msgstr "Wert importieren" #: netbox/templates/generic/bulk_import.html:181 msgid "Format: YYYY-MM-DD" -msgstr "Format: JJJJ-MM-DD" +msgstr "Format: YYYY-MM-DD" #: netbox/templates/generic/bulk_import.html:183 msgid "Specify true or false" @@ -15354,15 +15368,15 @@ msgstr "Nicht abonnieren" msgid "Subscribe" msgstr "Abonnieren" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "In die Zwischenablage kopieren" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Dieses Feld ist erforderlich" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Auf Null setzen" diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po index 02e78c374..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-09-25 05:02+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" @@ -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: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" @@ -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: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 @@ -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: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 "" @@ -121,7 +121,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 "" @@ -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 @@ -327,13 +327,13 @@ 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 #: 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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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" @@ -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 @@ -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 @@ -1285,9 +1285,9 @@ 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/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 @@ -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: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 "" @@ -1653,42 +1653,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 "" -#: 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 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 "" -#: netbox/core/data_backends.py:119 +#: netbox/core/data_backends.py:133 msgid "AWS access key ID" msgstr "" -#: netbox/core/data_backends.py:123 +#: netbox/core/data_backends.py:137 msgid "AWS secret access key" msgstr "" @@ -1911,7 +1911,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 @@ -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 @@ -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" @@ -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:1523 +#: 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: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 "" @@ -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: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 "" -#: 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: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 "" -#: 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 @@ -2685,13 +2697,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 @@ -2699,27 +2711,27 @@ msgstr "" msgid "Bridge" msgstr "" -#: netbox/dcim/choices.py:1018 +#: netbox/dcim/choices.py:1025 msgid "Link Aggregation Group (LAG)" msgstr "" -#: 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 @@ -2727,130 +2739,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 "" -#: netbox/dcim/choices.py:1297 +#: netbox/dcim/choices.py:1305 msgid "Passive 24V (2-pair)" msgstr "" -#: netbox/dcim/choices.py:1298 +#: netbox/dcim/choices.py:1306 msgid "Passive 24V (4-pair)" msgstr "" -#: netbox/dcim/choices.py:1299 +#: netbox/dcim/choices.py:1307 msgid "Passive 48V (2-pair)" msgstr "" -#: netbox/dcim/choices.py:1300 +#: netbox/dcim/choices.py:1308 msgid "Passive 48V (4-pair)" msgstr "" -#: 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 "" -#: 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 "" @@ -3102,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 @@ -3160,7 +3172,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 +3182,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 "" @@ -3221,8 +3233,8 @@ 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/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 @@ -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 "" @@ -3341,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 "" @@ -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 @@ -3871,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 "" @@ -3881,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 "" @@ -3903,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 "" @@ -3911,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 "" @@ -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" @@ -4515,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 @@ -4671,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 "" @@ -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 @@ -4993,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 "" @@ -5091,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 "" @@ -5128,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 "" @@ -5146,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 "" @@ -5180,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 "" @@ -5203,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 "" @@ -5219,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 "" @@ -5244,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 "" @@ -5257,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 "" @@ -5290,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 "" @@ -5307,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 "" @@ -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 "" @@ -7210,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 "" @@ -7326,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 "" @@ -8233,10 +8245,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 "" + #: netbox/extras/models/dashboard.py:18 msgid "layout" msgstr "" @@ -8781,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 "" @@ -9012,12 +9031,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 "" @@ -9056,19 +9075,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 "" @@ -9279,10 +9306,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 "" @@ -10952,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 "" @@ -13657,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 @@ -13684,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 "" @@ -13749,11 +13772,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 "" @@ -13993,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 "" @@ -14493,7 +14511,7 @@ msgid "Invalid value for a multiple choice field: {value}" msgstr "" #: 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 "" @@ -14504,11 +14522,16 @@ msgid "" "\"{value}\" is not a unique value for this field; multiple objects were found" msgstr "" -#: netbox/utilities/forms/fields/csv.py:97 -msgid "Object type must be specified as \".\"" +#: netbox/utilities/forms/fields/csv.py:69 +#, python-brace-format +msgid "\"{field_name}\" is an invalid accessor field name." msgstr "" #: netbox/utilities/forms/fields/csv.py:101 +msgid "Object type must be specified as \".\"" +msgstr "" + +#: netbox/utilities/forms/fields/csv.py:105 msgid "Invalid object type" msgstr "" @@ -15054,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 "" diff --git a/netbox/translations/es/LC_MESSAGES/django.mo b/netbox/translations/es/LC_MESSAGES/django.mo index 67ba55dde..78be56eb3 100644 Binary files a/netbox/translations/es/LC_MESSAGES/django.mo and b/netbox/translations/es/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/es/LC_MESSAGES/django.po b/netbox/translations/es/LC_MESSAGES/django.po index 000ea9d09..92b1d83c5 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-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 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" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -102,7 +102,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primaria" @@ -333,7 +333,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -571,8 +571,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -816,7 +816,7 @@ msgstr "Parámetros de servicio" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1541,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1620,7 +1620,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Falló" @@ -1946,7 +1946,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Elevaciones de estanterías" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Desmantelamiento" @@ -2590,7 +2590,7 @@ msgstr "Obsoleto" msgid "Millimeters" msgstr "Milímetros" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Pulgadas" @@ -2612,9 +2612,9 @@ msgstr "De atrás hacia adelante" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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 @@ -2644,15 +2644,15 @@ msgstr "Padre" msgid "Child" msgstr "Niño" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Delantera" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2680,7 +2680,7 @@ msgid "Side to rear" msgstr "De lado a atrás" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Pasivo" @@ -2688,15 +2688,15 @@ msgstr "Pasivo" msgid "Mixed" msgstr "Mezclado" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (sin bloqueo)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (Bloqueo)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Estilo californiano" @@ -2704,42 +2704,42 @@ msgstr "Estilo californiano" msgid "International/ITA" msgstr "Internacional/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Proprietario" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Otros" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/Internacional" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Físico" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Virtual" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "inalámbrico" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Interfaces virtuales" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2749,27 +2749,27 @@ msgstr "Interfaces virtuales" msgid "Bridge" msgstr "puente" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Grupo de agregación de enlaces (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (fijo)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modular)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (placa base)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Celular" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2777,130 @@ msgstr "Celular" msgid "Serial" msgstr "serie" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Coaxial" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Apilamiento" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Mitad" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Lleno" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Acceso" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Etiquetado (Todos)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "Estándar IEEE" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "Pasivo 24 V (2 pares)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "Pasivo de 24 V (4 pares)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "Pasivo 48 V (2 pares)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "Pasivo de 48 V (4 pares)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Cobre" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Fibra óptica" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Fibra" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Conectado" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilómetros" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Medidores" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Centímetros" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Millas" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Pies" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogramos" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Gramos" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Libras" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Onzas" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Redundante" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Monofásico" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Trifásico" @@ -3269,7 +3270,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3348,7 +3349,7 @@ msgid "LAG interface (ID)" msgstr "Interfaz LAG (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Contexto de dispositivo virtual" @@ -3423,7 +3424,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3470,9 +3471,9 @@ msgstr "Zona horaria" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3596,9 +3597,9 @@ msgstr "Numeración" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3688,7 +3689,7 @@ msgstr "Estante" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Hardware" @@ -3796,15 +3797,15 @@ msgstr "Plataforma" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3948,7 +3949,7 @@ msgstr "Consumo de energía asignado (vatios)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Puerto de alimentación" @@ -4036,14 +4037,14 @@ msgstr "Modo" msgid "VLAN group" msgstr "Grupo de VLAN" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN sin etiquetar" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4062,7 +4063,7 @@ msgid "Wireless LANs" msgstr "LAN inalámbricas" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4071,24 +4072,24 @@ msgid "Addressing" msgstr "Dirigiéndose" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operación" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Interfaces relacionadas" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4430,7 +4431,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} no está asignado al dispositivo {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Puerto trasero" @@ -4444,7 +4445,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Dispositivo instalado" @@ -4533,7 +4534,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4563,6 +4564,28 @@ msgstr "Tipo de alimentación (AC/DC)" msgid "Single or three-phase" msgstr "Monofásico o trifásico" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "IPv4 principal" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "Dirección IPv4 con máscara, p. ej. 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "IPv6 principal" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4726,7 +4749,7 @@ msgstr "Amable" msgid "Mgmt only" msgstr "Solo administración" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4760,7 +4783,7 @@ msgstr "Potencia de transmisión (dBm)" msgid "Cable" msgstr "Cable" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Descubierto" @@ -4860,8 +4883,8 @@ msgstr "Plantilla de puerto de alimentación" msgid "Rear port template" msgstr "Plantilla de puerto trasero" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4885,7 +4908,7 @@ msgstr "Plantilla de puerto trasero" msgid "Interface" msgstr "Interfaz" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4893,14 +4916,14 @@ msgstr "Interfaz" msgid "Console Port" msgstr "Puerto de consola" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Puerto de servidor de consola" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4911,8 +4934,8 @@ msgstr "Puerto de servidor de consola" msgid "Front Port" msgstr "Puerto frontal" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4924,24 +4947,24 @@ msgstr "Puerto frontal" msgid "Rear Port" msgstr "Puerto trasero" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Puerto de alimentación" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Toma de corriente" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Asignación de componentes" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "Un InventoryItem solo se puede asignar a un único componente." @@ -4949,11 +4972,15 @@ msgstr "Un InventoryItem solo se puede asignar a un único componente." msgid "LAG interface" msgstr "Interfaz LAG" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Filtre las VLAN disponibles para la asignación por grupo." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Dispositivo infantil" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4961,44 +4988,32 @@ msgstr "" "Los dispositivos secundarios primero deben crearse y asignarse al sitio y al" " rack del dispositivo principal." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Puerto de consola" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Puerto de servidor de consola" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Puerto frontal" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "toma de corriente" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Artículo de inventario" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Función del artículo de inventario" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "IPv4 principal" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "IPv6 principal" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5059,7 +5074,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:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -6692,7 +6707,7 @@ msgstr "Plantilla de configuración" msgid "Site Group" msgstr "Grupo de sitios" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6701,12 +6716,12 @@ msgstr "Grupo de sitios" msgid "IP Address" msgstr "Dirección IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Dirección IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Dirección IPv6" @@ -6744,7 +6759,7 @@ msgstr "Puertos de alimentación" msgid "Power outlets" msgstr "tomas de corriente" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6851,28 +6866,28 @@ msgstr "Solo administración" msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Módulo instalado" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Serie del módulo" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Etiqueta de activo del módulo" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Estado del módulo" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Componente" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Artículos" @@ -10498,7 +10513,7 @@ msgstr "" msgid "Range boundaries must be defined as integers." msgstr "Los límites del rango se deben definir como números enteros." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} debe implementar get_view_name ()" @@ -10856,33 +10871,33 @@ msgstr "Campo personalizado '{name}'debe tener un valor único." msgid "Missing required custom field '{name}'." msgstr "Falta el campo personalizado obligatorio '{name}'." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Fuente de datos remota" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "ruta de datos" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Ruta al archivo remoto (relativa a la raíz de la fuente de datos)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "sincronización automática habilitada" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Habilitar la sincronización automática de datos cuando se actualiza el " "archivo de datos" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "fecha sincronizada" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} debe implementar un método sync_data ()." @@ -12630,7 +12645,7 @@ msgid "Parent Bay" msgstr "Bahía para padres" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Regenera a Slug" @@ -12975,17 +12990,17 @@ msgstr "Peso máximo" msgid "Total Weight" msgstr "Peso total" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Imágenes y etiquetas" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Solo imágenes" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Solo etiquetas" @@ -15285,15 +15300,15 @@ msgstr "Cancelar suscripción" msgid "Subscribe" msgstr "Suscríbase" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Copiar al portapapeles" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Este campo es obligatorio" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Establecer nulo" diff --git a/netbox/translations/fr/LC_MESSAGES/django.mo b/netbox/translations/fr/LC_MESSAGES/django.mo index 9e38972f9..0e5ba6615 100644 Binary files a/netbox/translations/fr/LC_MESSAGES/django.mo and b/netbox/translations/fr/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/fr/LC_MESSAGES/django.po b/netbox/translations/fr/LC_MESSAGES/django.po index d2f01fbce..6f155f4a2 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-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 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" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -109,7 +109,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primaire" @@ -340,7 +340,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -578,8 +578,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -823,7 +823,7 @@ msgstr "Paramètres du service" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1548,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1628,7 +1628,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Échoué" @@ -1956,7 +1956,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Élévations des baies" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Démantèlement" @@ -2603,7 +2603,7 @@ msgstr "Obsolète" msgid "Millimeters" msgstr "Millimètres" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Pouces" @@ -2625,9 +2625,9 @@ msgstr "De l'arrière vers l'avant" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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 @@ -2657,15 +2657,15 @@ msgstr "Parent" msgid "Child" msgstr "Enfant" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Avant" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2693,7 +2693,7 @@ 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:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Passif" @@ -2701,15 +2701,15 @@ msgstr "Passif" msgid "Mixed" msgstr "Mixte" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (non verrouillable)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (verrouillage)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Style californien" @@ -2717,42 +2717,42 @@ msgstr "Style californien" msgid "International/ITA" msgstr "International/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Propriétaire" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Autres" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/International" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Physique" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Virtuel" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Sans fil" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Interfaces virtuelles" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2762,27 +2762,27 @@ msgstr "Interfaces virtuelles" msgid "Bridge" msgstr "Passerelle" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Groupe d'agrégation de liens (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (fixe)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modulaire)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (panneau arrière)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Cellulaire" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2790,130 @@ msgstr "Cellulaire" msgid "Serial" msgstr "Série" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Coaxiale" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Empilage" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "La moitié" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Complet" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Automatique" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Accès" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Tagué (Tous)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "Norme IEEE" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "24 V passif (2 paires)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "24 V passif (4 paires)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "48 V passif (2 paires)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "48 V passif (4 paires)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Cuivre" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "fibre optique" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Fibre" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Connecté" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilomètres" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Compteurs" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Centimètres" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Miles" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Pieds" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogrammes" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Grammes" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Livres" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Onces" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Redondant" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Monophasé" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Triphasé" @@ -3282,7 +3283,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3361,7 +3362,7 @@ msgid "LAG interface (ID)" msgstr "Interface LAG (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Contexte du périphérique virtuel" @@ -3436,7 +3437,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3483,9 +3484,9 @@ msgstr "Fuseau horaire" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3609,9 +3610,9 @@ msgstr "Numérotation" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3701,7 +3702,7 @@ msgstr "Baie" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Matériel" @@ -3809,15 +3810,15 @@ msgstr "Plateforme" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3961,7 +3962,7 @@ msgstr "Consommation électrique allouée (watts)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "port d'alimentation" @@ -4049,14 +4050,14 @@ msgstr "Mode" msgid "VLAN group" msgstr "groupe VLAN" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN non balisé" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4075,7 +4076,7 @@ msgid "Wireless LANs" msgstr "Réseaux locaux sans fil" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4084,24 +4085,24 @@ msgid "Addressing" msgstr "Adressage" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Fonctionnement" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Interfaces associées" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4442,7 +4443,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} n'est pas attribué à l'appareil {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Port arrière" @@ -4456,7 +4457,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Appareil installé" @@ -4545,7 +4546,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4575,6 +4576,28 @@ msgstr "Type d'alimentation (AC/DC)" msgid "Single or three-phase" msgstr "Monophasé ou triphasé" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "IPv4 principal" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "Adresse IPv4 avec masque, par exemple 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "IPv6 principal" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4739,7 +4762,7 @@ msgstr "Type" msgid "Mgmt only" msgstr "Gestion uniquement" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4773,7 +4796,7 @@ msgstr "Puissance de transmission (dBm)" msgid "Cable" msgstr "câble" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Découvert" @@ -4872,8 +4895,8 @@ msgstr "Modèle de port d'alimentation" msgid "Rear port template" msgstr "Modèle de port arrière" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4897,7 +4920,7 @@ msgstr "Modèle de port arrière" msgid "Interface" msgstr "Interface" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4905,14 +4928,14 @@ msgstr "Interface" msgid "Console Port" msgstr "Port de console" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Port du serveur de consoles" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4923,8 +4946,8 @@ msgstr "Port du serveur de consoles" msgid "Front Port" msgstr "Port avant" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4936,24 +4959,24 @@ msgstr "Port avant" msgid "Rear Port" msgstr "Port arrière" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Port d'alimentation" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Prise de courant" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Affectation des composants" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "Un item d'inventaire ne peut être attribué qu'à un seul composant." @@ -4961,11 +4984,15 @@ msgstr "Un item d'inventaire ne peut être attribué qu'à un seul composant." msgid "LAG interface" msgstr "Interface LAG" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Filtrez les VLAN disponibles pour une attribution par groupe." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Appareil pour enfants" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4973,44 +5000,32 @@ msgstr "" "Les appareils enfants doivent d'abord être créés et affectés au site et à la" " baie de l'appareil parent." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Port de console" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Port du serveur de console" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Port avant" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "prise de courant" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Article d'inventaire" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Rôle de l'article d'inventaire" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "IPv4 principal" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "IPv6 principal" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5068,7 +5083,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:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -6700,7 +6715,7 @@ msgstr "Modèle de configuration" msgid "Site Group" msgstr "Groupe de sites" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6709,12 +6724,12 @@ msgstr "Groupe de sites" msgid "IP Address" msgstr "Adresse IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Adresse IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Adresse IPv6" @@ -6752,7 +6767,7 @@ msgstr "Ports d'alimentation" msgid "Power outlets" msgstr "Prises de courant" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6859,28 +6874,28 @@ msgstr "Gestion uniquement" msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Module installé" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Série du module" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Étiquette d'actif du module" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "État du module" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Composant" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Objets" @@ -10539,7 +10554,7 @@ msgid "Range boundaries must be defined as integers." msgstr "" "Les limites des plages doivent être définies sous forme de nombres entiers." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} doit implémenter get_view_name ()" @@ -10897,35 +10912,35 @@ msgstr "Champ personnalisé '{name}'doit avoir une valeur unique." msgid "Missing required custom field '{name}'." msgstr "Champ personnalisé obligatoire manquant '{name}'." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Source de données distante" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "chemin de données" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "" "Chemin vers le fichier distant (par rapport à la racine de la source de " "données)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "synchronisation automatique activée" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Activer la synchronisation automatique des données lors de la mise à jour du" " fichier de données" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "date de synchronisation" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} doit implémenter une méthode sync_data ()." @@ -12676,7 +12691,7 @@ msgid "Parent Bay" msgstr "Baie Parent" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Régénérez le slug" @@ -13021,17 +13036,17 @@ msgstr "Poids maximum" msgid "Total Weight" msgstr "Poids total" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Images et étiquettes" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Images uniquement" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Étiquettes uniquement" @@ -15329,15 +15344,15 @@ msgstr "Désabonnement" msgid "Subscribe" msgstr "Souscrire" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Copier dans le presse-papiers" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Ce champ est obligatoire" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Définir à Null" diff --git a/netbox/translations/it/LC_MESSAGES/django.mo b/netbox/translations/it/LC_MESSAGES/django.mo index 76aa1a604..24e79bb4d 100644 Binary files a/netbox/translations/it/LC_MESSAGES/django.mo and b/netbox/translations/it/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/it/LC_MESSAGES/django.po b/netbox/translations/it/LC_MESSAGES/django.po index 020f1d855..ecc49467c 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-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 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" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -105,7 +105,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primaria" @@ -336,7 +336,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -574,8 +574,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -819,7 +819,7 @@ msgstr "Parametri del servizio" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1544,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1625,7 +1625,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Fallito" @@ -1950,7 +1950,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Elevazioni dei rack" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Smantellamento" @@ -2596,7 +2596,7 @@ msgstr "Obsoleto" msgid "Millimeters" msgstr "Millimetri" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Pollici" @@ -2618,9 +2618,9 @@ msgstr "Posteriore/anteriore" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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,15 +2650,15 @@ msgstr "Genitore" msgid "Child" msgstr "Bambino" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Anteriore" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2686,7 +2686,7 @@ msgid "Side to rear" msgstr "Da lato a retro" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Passivo" @@ -2694,15 +2694,15 @@ msgstr "Passivo" msgid "Mixed" msgstr "Misto" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (non bloccante)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (bloccaggio)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Stile californiano" @@ -2710,42 +2710,42 @@ msgstr "Stile californiano" msgid "International/ITA" msgstr "Internazionale/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Proprietario" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Altro" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/Internazionale" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Fisico" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Virtuale" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Wireless" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Interfacce virtuali" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2755,27 +2755,27 @@ msgstr "Interfacce virtuali" msgid "Bridge" msgstr "ponte" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Link Aggregation Group (GAL)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (fisso)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modulare)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (backplane)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Cellulare" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2783,130 @@ msgstr "Cellulare" msgid "Serial" msgstr "Seriale" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Coassiale" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "impilamento" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Metà" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Completo" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Accesso" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Contrassegnati (tutti)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "Norma IEEE" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "24V passivo (2 coppie)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "24V passivo (4 coppie)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "48V passivo (2 coppie)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "48V passivo (4 coppie)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Rame" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Fibra ottica" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Fibra" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Connesso" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Chilometri" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Metri" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Centimetri" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Miglia" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Piedi" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Chilogrammi" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Grammi" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Sterline" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Once" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Ridondante" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Monofase" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Trifase" @@ -3275,7 +3276,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3354,7 +3355,7 @@ msgid "LAG interface (ID)" msgstr "Interfaccia LAG (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Contesto del dispositivo virtuale" @@ -3429,7 +3430,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3476,9 +3477,9 @@ msgstr "Fuso orario" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3602,9 +3603,9 @@ msgstr "Numerazione" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3694,7 +3695,7 @@ msgstr "cremagliera" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Hardware" @@ -3802,15 +3803,15 @@ msgstr "piattaforma" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3954,7 +3955,7 @@ msgstr "Potenza assorbita allocata (watt)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Porta di alimentazione" @@ -4042,14 +4043,14 @@ msgstr "modalità" msgid "VLAN group" msgstr "Gruppo VLAN" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN senza tag" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4068,7 +4069,7 @@ msgid "Wireless LANs" msgstr "LAN wireless" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4077,24 +4078,24 @@ msgid "Addressing" msgstr "Indirizzamento" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operazione" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Interfacce correlate" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4436,7 +4437,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} non è assegnato al dispositivo {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Porta posteriore" @@ -4450,7 +4451,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Dispositivo installato" @@ -4540,7 +4541,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4570,6 +4571,28 @@ msgstr "Tipo di alimentazione (AC/DC)" msgid "Single or three-phase" msgstr "Monofase o trifase" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "IPv4 primario" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "Indirizzo IPv4 con maschera, ad esempio 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "IPv6 primario" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4733,7 +4756,7 @@ msgstr "Gentile" msgid "Mgmt only" msgstr "Solo gestione" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4767,7 +4790,7 @@ msgstr "Potenza di trasmissione (dBm)" msgid "Cable" msgstr "Cavo" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Scoperto" @@ -4869,8 +4892,8 @@ msgstr "Modello di porta di alimentazione" msgid "Rear port template" msgstr "Modello di porta posteriore" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4894,7 +4917,7 @@ msgstr "Modello di porta posteriore" msgid "Interface" msgstr "Interfaccia" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4902,14 +4925,14 @@ msgstr "Interfaccia" msgid "Console Port" msgstr "Porta console" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Porta Console Server" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4920,8 +4943,8 @@ msgstr "Porta Console Server" msgid "Front Port" msgstr "Porta anteriore" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4933,24 +4956,24 @@ msgstr "Porta anteriore" msgid "Rear Port" msgstr "Porta posteriore" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Porta di alimentazione" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Presa di corrente" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Assegnazione dei componenti" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "Un InventoryItem può essere assegnato solo a un singolo componente." @@ -4958,11 +4981,15 @@ msgstr "Un InventoryItem può essere assegnato solo a un singolo componente." msgid "LAG interface" msgstr "Interfaccia LAG" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Filtra le VLAN disponibili per l'assegnazione per gruppo." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Dispositivo per bambini" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4970,44 +4997,32 @@ msgstr "" "I dispositivi secondari devono prima essere creati e assegnati al sito e al " "rack del dispositivo principale." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Porta console" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Porta console server" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Porta anteriore" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Presa di corrente" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Articolo di inventario" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Ruolo dell'articolo di inventario" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "IPv4 primario" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "IPv6 primario" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5068,7 +5083,7 @@ msgstr "" " al numero selezionato di posizioni delle porte posteriori " "({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -6717,7 +6732,7 @@ msgstr "Modello di configurazione" msgid "Site Group" msgstr "Gruppo del sito" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6726,12 +6741,12 @@ msgstr "Gruppo del sito" msgid "IP Address" msgstr "Indirizzo IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Indirizzo IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Indirizzo IPv6" @@ -6769,7 +6784,7 @@ msgstr "Porte di alimentazione" msgid "Power outlets" msgstr "Prese di corrente" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6876,28 +6891,28 @@ msgstr "Solo gestione" msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Modulo installato" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Modulo seriale" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Tag delle risorse del modulo" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Stato del modulo" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Componente" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Oggetti" @@ -10532,7 +10547,7 @@ msgstr "" msgid "Range boundaries must be defined as integers." msgstr "I limiti dell'intervallo devono essere definiti come numeri interi." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} deve implementare get_view_name ()" @@ -10889,33 +10904,33 @@ msgstr "Campo personalizzato '{name}'deve avere un valore univoco." msgid "Missing required custom field '{name}'." msgstr "Campo personalizzato obbligatorio mancante '{name}»." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Fonte dati remota" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "percorso dati" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Percorso del file remoto (relativo alla radice dell'origine dati)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "sincronizzazione automatica abilitata" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Abilita la sincronizzazione automatica dei dati quando il file di dati viene" " aggiornato" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "data sincronizzata" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} deve implementare un metodo sync_data ()." @@ -12662,7 +12677,7 @@ msgid "Parent Bay" msgstr "Baia dei genitori" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Rigenera la lumaca" @@ -13007,17 +13022,17 @@ msgstr "Peso massimo" msgid "Total Weight" msgstr "Peso totale" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Immagini ed etichette" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Solo immagini" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Solo etichette" @@ -15312,15 +15327,15 @@ msgstr "Annulla l'iscrizione" msgid "Subscribe" msgstr "Abbonati" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Copia negli appunti" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Questo campo è obbligatorio" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Imposta Null" diff --git a/netbox/translations/ja/LC_MESSAGES/django.mo b/netbox/translations/ja/LC_MESSAGES/django.mo index 210a0699f..c0900e5b4 100644 Binary files a/netbox/translations/ja/LC_MESSAGES/django.mo and b/netbox/translations/ja/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/ja/LC_MESSAGES/django.po b/netbox/translations/ja/LC_MESSAGES/django.po index d6e811e73..0e31a6288 100644 --- a/netbox/translations/ja/LC_MESSAGES/django.po +++ b/netbox/translations/ja/LC_MESSAGES/django.po @@ -4,18 +4,18 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Jeremy Stretch, 2024 # Tatsuya Ueda , 2024 # teapot, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: teapot, 2024\n" +"Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Japanese (https://app.transifex.com/netbox-community/teams/178115/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -102,7 +102,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "プライマリ" @@ -333,7 +333,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -571,8 +571,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -816,7 +816,7 @@ msgstr "サービス情報" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1537,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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1616,7 +1616,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "失敗" @@ -1940,7 +1940,7 @@ msgstr "同期するファイルをアップロードするか、データファ msgid "Rack Elevations" msgstr "ラック図" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "廃止" @@ -2574,7 +2574,7 @@ msgstr "廃止済" msgid "Millimeters" msgstr "ミリメートル" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "インチ" @@ -2596,9 +2596,9 @@ msgstr "背面から前面" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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 @@ -2628,15 +2628,15 @@ msgstr "親" msgid "Child" msgstr "子" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "前面" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2664,7 +2664,7 @@ msgid "Side to rear" msgstr "側面から背面" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "パッシブ" @@ -2672,15 +2672,15 @@ msgstr "パッシブ" msgid "Mixed" msgstr "混合" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (ロック無)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (ロック有)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "California Style" @@ -2688,42 +2688,42 @@ msgstr "California Style" msgid "International/ITA" msgstr "International/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "独自規格" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "その他" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/International" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "物理" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "仮想" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "無線" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "仮想インタフェース" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2733,27 +2733,27 @@ msgstr "仮想インタフェース" msgid "Bridge" msgstr "ブリッジ" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "リンクアグリゲーション (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "イーサネット (固定)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "イーサネット (モジュール)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "イーサネット (バックプレーン)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "セルラー" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2761,130 @@ msgstr "セルラー" msgid "Serial" msgstr "シリアル" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "同軸" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "スタック" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "半二重" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "全二重" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "自動" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "アクセス" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "タグ付き (全て)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "IEEE スタンダード" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "パッシブ 24V (2 ペア)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "パッシブ 24V (4ペア)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "パッシブ 48V (2 ペア)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "パッシブ 48V (4ペア)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "カッパー" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "光ファイバー" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "ファイバー" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "接続済" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "キロメートル" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "メートル" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "センチメートル" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "マイル" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "フィート" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "キログラム" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "グラム" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "ポンド" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "オンス" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "冗長" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "単相" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "三相" @@ -3253,7 +3254,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3332,7 +3333,7 @@ msgid "LAG interface (ID)" msgstr "LAG インタフェース (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "仮想デバイスコンテキスト" @@ -3407,7 +3408,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3452,9 +3453,9 @@ msgstr "タイムゾーン" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3578,9 +3579,9 @@ msgstr "ナンバリング" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3670,7 +3671,7 @@ msgstr "ラック" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "ハードウェア" @@ -3778,15 +3779,15 @@ msgstr "プラットフォーム" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3930,7 +3931,7 @@ msgstr "割当消費電力 (ワット)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "電源ポート" @@ -4018,14 +4019,14 @@ msgstr "モード" msgid "VLAN group" msgstr "VLAN グループ" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "タグなし VLAN" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4044,7 +4045,7 @@ msgid "Wireless LANs" msgstr "無線 LAN" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4053,24 +4054,24 @@ msgid "Addressing" msgstr "アドレス" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "オペレーション" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "関連インタフェース" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4405,7 +4406,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} デバイスには割り当てられていません {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "背面ポート" @@ -4419,7 +4420,7 @@ msgstr "対応する背面ポート" msgid "Physical medium classification" msgstr "物理媒体の分類" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "取付済みデバイス" @@ -4508,7 +4509,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4538,6 +4539,28 @@ msgstr "電源タイプ (AC/DC)" msgid "Single or three-phase" msgstr "単相または三相" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "プライマリ IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "マスク付きの IPv4 アドレス (例:1.2.3.4/24)" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "プライマリ IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4696,7 +4719,7 @@ msgstr "種類" msgid "Mgmt only" msgstr "管理のみ" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4730,7 +4753,7 @@ msgstr "送信出力 (dBm)" msgid "Cable" msgstr "ケーブル" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "自動検出" @@ -4824,8 +4847,8 @@ msgstr "電源ポートテンプレート" msgid "Rear port template" msgstr "背面ポートテンプレート" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4849,7 +4872,7 @@ msgstr "背面ポートテンプレート" msgid "Interface" msgstr "インタフェース" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4857,14 +4880,14 @@ msgstr "インタフェース" msgid "Console Port" msgstr "コンソールポート" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "コンソールサーバポート" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4875,8 +4898,8 @@ msgstr "コンソールサーバポート" msgid "Front Port" msgstr "前面ポート" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4888,24 +4911,24 @@ msgstr "前面ポート" msgid "Rear Port" msgstr "背面ポート" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "電源ポート" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "電源コンセント" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "構成要素割り当て" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "在庫品目は1つの構成要素にのみ割り当てることができます。" @@ -4913,54 +4936,46 @@ msgstr "在庫品目は1つの構成要素にのみ割り当てることがで msgid "LAG interface" msgstr "LAG インタフェース" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "割り当て可能な VLAN をグループ別にフィルタリングします。" + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "子デバイス" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." msgstr "まず子デバイスを作成し、親デバイスのサイトとラックに割り当てる必要があります。" -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "コンソールポート" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "コンソールサーバポート" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "前面ポート" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "電源コンセント" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "在庫品目" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "在庫品目ロール" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "プライマリ IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "プライマリ IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5010,7 +5025,7 @@ msgid "" msgstr "" "前面ポートの数 ({frontport_count}) は選択した背面ポートの数 ({rearport_count}) と一致する必要があります。" -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -6540,7 +6555,7 @@ msgstr "設定テンプレート" msgid "Site Group" msgstr "サイトグループ" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6549,12 +6564,12 @@ msgstr "サイトグループ" msgid "IP Address" msgstr "IP アドレス" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4 アドレス" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6 アドレス" @@ -6592,7 +6607,7 @@ msgstr "電源ポート" msgid "Power outlets" msgstr "電源コンセント" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6699,28 +6714,28 @@ msgstr "管理のみ" msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "取付済みモジュール" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "モジュールシリアル番号" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "モジュール資産タグ" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "モジュールステータス" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "構成要素" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "アイテム" @@ -10225,7 +10240,7 @@ msgstr "範囲は (下限、上部) の形式で指定する必要がありま msgid "Range boundaries must be defined as integers." msgstr "範囲の境界は整数として定義する必要があります。" -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} get_view_name () を実装する必要があります" @@ -10572,31 +10587,31 @@ msgstr "カスタムフィールド '{name}'には一意の値が必要です。 msgid "Missing required custom field '{name}'." msgstr "必須カスタムフィールド'{name}'が見つかりません。" -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "リモートデータソース" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "データパス" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "リモートファイルへのパス (データソースルートからの相対パス)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "自動同期が有効" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "データファイルの更新時にデータの自動同期を有効にする" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "同期日付" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} はsync_data () メソッドを実装する必要があります。" @@ -12325,7 +12340,7 @@ msgid "Parent Bay" msgstr "ペアレントベイ" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "リジェネレートslug" @@ -12670,17 +12685,17 @@ msgstr "最大重量" msgid "Total Weight" msgstr "合計重量" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "画像とラベル" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "画像のみ" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "ラベルのみ" @@ -14892,15 +14907,15 @@ msgstr "購読解除" msgid "Subscribe" msgstr "購読" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "クリップボードにコピー" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "このフィールドは必須です" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "NULL を設定" diff --git a/netbox/translations/nl/LC_MESSAGES/django.mo b/netbox/translations/nl/LC_MESSAGES/django.mo index e86add12e..29d8a6af5 100644 Binary files a/netbox/translations/nl/LC_MESSAGES/django.mo and b/netbox/translations/nl/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/nl/LC_MESSAGES/django.po b/netbox/translations/nl/LC_MESSAGES/django.po index 82e54a67b..72644b3eb 100644 --- a/netbox/translations/nl/LC_MESSAGES/django.po +++ b/netbox/translations/nl/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-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" "Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Dutch (https://app.transifex.com/netbox-community/teams/178115/nl/)\n" @@ -91,8 +91,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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -105,7 +105,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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 "Actief" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Offline" @@ -130,7 +130,7 @@ msgstr "Deprovisioning" msgid "Decommissioned" msgstr "Buiten gebruik" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primair" @@ -336,7 +336,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -574,8 +574,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -612,7 +612,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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -669,8 +669,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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -819,7 +819,7 @@ msgstr "Serviceparameters" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -1402,11 +1402,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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1544,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1625,7 +1625,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Mislukt" @@ -1952,7 +1952,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Rackverhogingen" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -2532,7 +2532,7 @@ msgid "Staging" msgstr "Klaarzetten" #: netbox/dcim/choices.py:23 netbox/dcim/choices.py:189 -#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Ontmanteling" @@ -2596,7 +2596,7 @@ msgstr "Verouderd" msgid "Millimeters" msgstr "Millimeters" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Inches" @@ -2618,9 +2618,9 @@ msgstr "Van achter naar voren" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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,15 +2650,15 @@ msgstr "Ouder" msgid "Child" msgstr "Kind" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Voorkant" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2686,7 +2686,7 @@ msgid "Side to rear" msgstr "Van links naar achteren" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Passief" @@ -2694,15 +2694,15 @@ msgstr "Passief" msgid "Mixed" msgstr "Gemengd" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (niet-vergrendelend)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (vergrendeling)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Californische stijl" @@ -2710,42 +2710,42 @@ msgstr "Californische stijl" msgid "International/ITA" msgstr "Internationaal/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Gepatenteerd" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Andere" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/internationaal" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Fysiek" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Virtueel" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Draadloos" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Virtuele interfaces" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2755,27 +2755,27 @@ msgstr "Virtuele interfaces" msgid "Bridge" msgstr "Bridge" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Linkaggregatiegroep (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (vast)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modulair)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (backplane)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Mobiel" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2783,130 @@ msgstr "Mobiel" msgid "Serial" msgstr "Serienummer" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Coaxiaal" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Stapelen" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Half" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Volledig" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Auto" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Toegang" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Getagd (Alles)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "IEEE-standaard" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "Passief 24V (2 paren)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "Passief 24V (4 paren)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "Passief 48V (2 paren)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "Passief 48V (4 paren)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Koper" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Glasvezel" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Vezel" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Verbonden" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometers" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Meters" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Centimeters" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Mijlen" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Feet" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogrammen" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Gram" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Ponden" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Ons" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Redundant" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Een fase" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Drie fase" @@ -3275,7 +3276,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3354,7 +3355,7 @@ msgid "LAG interface (ID)" msgstr "LAG-interface (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Context van het virtuele apparaat" @@ -3429,7 +3430,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3476,9 +3477,9 @@ msgstr "Tijdzone" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3602,9 +3603,9 @@ msgstr "Nummering" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3694,7 +3695,7 @@ msgstr "Rek" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Hardware" @@ -3802,15 +3803,15 @@ msgstr "Platform" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3954,7 +3955,7 @@ msgstr "Toegewezen stroomverbruik (watt)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Voedingspoort" @@ -4042,14 +4043,14 @@ msgstr "Modus" msgid "VLAN group" msgstr "VLAN-groep" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN zonder label" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4068,7 +4069,7 @@ msgid "Wireless LANs" msgstr "Draadloze LAN's" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4077,24 +4078,24 @@ msgid "Addressing" msgstr "Addressing" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operatie" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Gerelateerde interfaces" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4436,7 +4437,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} is niet toegewezen aan het apparaat {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Poort aan de achterkant" @@ -4450,7 +4451,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Geïnstalleerd apparaat" @@ -4539,7 +4540,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4569,6 +4570,28 @@ msgstr "Soort voeding (AC/DC)" msgid "Single or three-phase" msgstr "Enkel- of driefasig" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "Primaire IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "IPv4-adres met masker, bijvoorbeeld 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "Primaire IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4732,7 +4755,7 @@ msgstr "Vriendelijk" msgid "Mgmt only" msgstr "Alleen voor beheer" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4766,7 +4789,7 @@ msgstr "Zendvermogen (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Ontdekt" @@ -4868,8 +4891,8 @@ msgstr "Sjabloon voor voedingspoort" msgid "Rear port template" msgstr "Sjabloon voor achterpoort" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4893,7 +4916,7 @@ msgstr "Sjabloon voor achterpoort" msgid "Interface" msgstr "Interface" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4901,14 +4924,14 @@ msgstr "Interface" msgid "Console Port" msgstr "Consolepoort" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Console Server-poort" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4919,8 +4942,8 @@ msgstr "Console Server-poort" msgid "Front Port" msgstr "Poort Voor" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4932,24 +4955,24 @@ msgstr "Poort Voor" msgid "Rear Port" msgstr "Poort achter" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Voedingspoort" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Stopcontact" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Toewijzing van componenten" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "Een InventoryItem kan slechts aan één component worden toegewezen." @@ -4957,11 +4980,15 @@ msgstr "Een InventoryItem kan slechts aan één component worden toegewezen." msgid "LAG interface" msgstr "LAG-interface" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Filter-VLAN's die beschikbaar zijn voor toewijzing per groep." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Apparaat voor kinderen" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4969,44 +4996,32 @@ msgstr "" "Kindapparaten moeten eerst worden aangemaakt en toegewezen aan de site en " "het rack van het ouderapparaat." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Consolepoort" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Console-serverpoort" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Poort voor" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Stopcontact" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Inventarisitem" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Rol van het inventarisitem" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "Primaire IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "Primaire IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5067,7 +5082,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:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -6694,7 +6709,7 @@ msgstr "Configuratiesjabloon" msgid "Site Group" msgstr "Sitegroep" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6703,12 +6718,12 @@ msgstr "Sitegroep" msgid "IP Address" msgstr "IP-adres" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4-adres" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6-adres" @@ -6746,7 +6761,7 @@ msgstr "Voedingspoorten" msgid "Power outlets" msgstr "Stopcontacten" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6853,28 +6868,28 @@ msgstr "Alleen beheer" msgid "VDCs" msgstr "VDC's" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Geïnstalleerde module" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Seriële module" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Tag voor module-bedrijfsmiddelen" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Status van de module" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Onderdeel" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Artikelen" @@ -10512,7 +10527,7 @@ msgstr "" msgid "Range boundaries must be defined as integers." msgstr "Bereikgrenzen moeten worden gedefinieerd als gehele getallen." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} moet get_view_name () implementeren" @@ -10865,34 +10880,34 @@ msgstr "Aangepast veld '{name}'moet een unieke waarde hebben." msgid "Missing required custom field '{name}'." msgstr "Ontbreekt het vereiste aangepaste veld '{name}'." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Externe gegevensbron" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "datapad" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "" "Pad naar extern bestand (ten opzichte van de root van de gegevensbron)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "automatische synchronisatie ingeschakeld" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Automatische synchronisatie van gegevens inschakelen wanneer het " "gegevensbestand wordt bijgewerkt" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "datum gesynchroniseerd" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} moet een sync_data () -methode implementeren." @@ -12640,7 +12655,7 @@ msgid "Parent Bay" msgstr "Parent Bay" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Regenereer naaktslak" @@ -12985,17 +13000,17 @@ msgstr "Maximaal gewicht" msgid "Total Weight" msgstr "Totaal gewicht" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Afbeeldingen en labels" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Alleen afbeeldingen" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Alleen labels" @@ -15291,15 +15306,15 @@ msgstr "Afmelden" msgid "Subscribe" msgstr "Abonneer" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Naar klembord kopiëren" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Dit veld is verplicht" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Null instellen" diff --git a/netbox/translations/pl/LC_MESSAGES/django.mo b/netbox/translations/pl/LC_MESSAGES/django.mo index f5f82a07d..bcc505e4c 100644 Binary files a/netbox/translations/pl/LC_MESSAGES/django.mo and b/netbox/translations/pl/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/pl/LC_MESSAGES/django.po b/netbox/translations/pl/LC_MESSAGES/django.po index fbd5a0ea8..eb970b95e 100644 --- a/netbox/translations/pl/LC_MESSAGES/django.po +++ b/netbox/translations/pl/LC_MESSAGES/django.po @@ -6,6 +6,7 @@ # Translators: # Jeff Gehlbach, 2024 # Simplicity sp. z o.o., 2024 +# Grzegorz Szymaszek, 2024 # Jeremy Stretch, 2024 # #, fuzzy @@ -13,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 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" @@ -90,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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -104,7 +105,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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 +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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Nieaktywne" @@ -129,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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Podstawowy" @@ -169,7 +170,7 @@ msgstr "Region (ID)" #: netbox/ipam/filtersets.py:966 netbox/virtualization/filtersets.py:52 #: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:364 msgid "Region (slug)" -msgstr "Region (slug)" +msgstr "Region (identyfikator)" #: netbox/circuits/filtersets.py:44 netbox/circuits/filtersets.py:211 #: netbox/dcim/filtersets.py:128 netbox/dcim/filtersets.py:225 @@ -192,7 +193,7 @@ msgstr "Grupa witryn (ID)" #: netbox/virtualization/filtersets.py:65 #: netbox/virtualization/filtersets.py:193 msgid "Site group (slug)" -msgstr "Grupa witryn (slug)" +msgstr "Grupa terenów (identyfikator)" #: netbox/circuits/filtersets.py:56 netbox/circuits/forms/bulk_edit.py:188 #: netbox/circuits/forms/bulk_edit.py:216 @@ -264,7 +265,7 @@ msgstr "Teren" #: netbox/virtualization/filtersets.py:75 #: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:374 msgid "Site (slug)" -msgstr "Teren (slug)" +msgstr "Teren (identyfikator)" #: netbox/circuits/filtersets.py:67 msgid "ASN (ID)" @@ -287,7 +288,7 @@ msgstr "Dostawca (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 "Dostawca (slug)" +msgstr "Dostawca (identyfikator)" #: netbox/circuits/filtersets.py:167 msgid "Provider account (ID)" @@ -307,7 +308,7 @@ msgstr "Typ obwodu (ID)" #: netbox/circuits/filtersets.py:188 msgid "Circuit type (slug)" -msgstr "Typ obwodu (slug)" +msgstr "Typ obwodu (identyfikator)" #: netbox/circuits/filtersets.py:223 netbox/circuits/filtersets.py:268 #: netbox/dcim/filtersets.py:236 netbox/dcim/filtersets.py:357 @@ -335,7 +336,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -385,7 +386,7 @@ msgstr "Grupa obwodów (ID)" #: netbox/circuits/filtersets.py:351 msgid "Circuit group (slug)" -msgstr "Grupa obwodów (ślimak)" +msgstr "Grupa obwodów (identyfikator)" #: netbox/circuits/forms/bulk_edit.py:30 #: netbox/circuits/forms/filtersets.py:56 @@ -573,8 +574,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -611,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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -668,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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -818,7 +819,7 @@ msgstr "Parametry serwisowe" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -1353,7 +1354,7 @@ msgstr "Pełna nazwa dostawcy" #: netbox/tenancy/models/tenants.py:49 netbox/vpn/models/l2vpn.py:27 #: netbox/wireless/models.py:56 msgid "slug" -msgstr "slug" +msgstr "identyfikator" #: netbox/circuits/models/providers.py:42 msgid "provider" @@ -1399,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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1542,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1620,7 +1621,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Nie powiodło się" @@ -1942,9 +1943,9 @@ msgstr "Musisz przesłać plik lub wybrać plik danych do synchronizacji" #: netbox/core/forms/model_forms.py:153 #: netbox/templates/dcim/rack_elevation_list.html:6 msgid "Rack Elevations" -msgstr "Elewacje szafy rack" +msgstr "Elewacje szaf" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -2521,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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Wycofanie z eksploatacji" @@ -2585,7 +2586,7 @@ msgstr "Przestarzałe" msgid "Millimeters" msgstr "Milimetrów" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Cale" @@ -2607,9 +2608,9 @@ msgstr "Tył do przodu" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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,15 +2640,15 @@ msgstr "Rodzic" msgid "Child" msgstr "Dziecko" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Przód" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2675,7 +2676,7 @@ msgid "Side to rear" msgstr "Z boku do tyłu" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Pasywny" @@ -2683,15 +2684,15 @@ msgstr "Pasywny" msgid "Mixed" msgstr "Mieszane" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (bez blokowania)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (Blokowanie)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Styl kalifornijski" @@ -2699,42 +2700,42 @@ msgstr "Styl kalifornijski" msgid "International/ITA" msgstr "Międzynarodowy/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Zastrzeżone" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Pozostałe" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/Międzynarodowy" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Fizyczne" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Wirtualny" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Bezprzewodowy" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Interfejsy wirtualne" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2744,27 +2745,27 @@ msgstr "Interfejsy wirtualne" msgid "Bridge" msgstr "Most" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Grupa agregacji linków (LGD)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (stały)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modułowy)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (płaszczyzna tylna)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Komórkowy" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2773,130 @@ msgstr "Komórkowy" msgid "Serial" msgstr "Seryjny" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "koncentryczny" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Układanie" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Połowa" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Pełny" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Automatyczny" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Dostęp" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Oznaczone (Wszystkie)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "Standard IEEE" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "Pasywny 24V (2 pary)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "Pasywny 24V (4-parowy)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "Pasywny 48V (2 pary)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "Pasywny 48V (4 pary)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Miedź" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Światłowód" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Włókno" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Połączony" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometry" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Mierniki" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Centymetry" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Mile" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Stopy" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogramy" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Gramy" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "funty" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Uncja" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Nadmiarowy" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Jednofazowy" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Trójfazowy" @@ -2914,7 +2916,7 @@ msgstr "Region macierzysty (ID)" #: netbox/dcim/filtersets.py:92 msgid "Parent region (slug)" -msgstr "Region macierzysty (ślimak)" +msgstr "Region macierzysty (identyfikator)" #: netbox/dcim/filtersets.py:116 msgid "Parent site group (ID)" @@ -2922,7 +2924,7 @@ msgstr "Nadrzędna grupa witryn (ID)" #: netbox/dcim/filtersets.py:122 msgid "Parent site group (slug)" -msgstr "Nadrzędna grupa witryn (ślimak)" +msgstr "Nadrzędna grupa terenów (identyfikator)" #: netbox/dcim/filtersets.py:164 netbox/extras/filtersets.py:364 #: netbox/ipam/filtersets.py:841 netbox/ipam/filtersets.py:993 @@ -2931,7 +2933,7 @@ msgstr "Grupa (ID)" #: netbox/dcim/filtersets.py:170 msgid "Group (slug)" -msgstr "Grupa (ślimak)" +msgstr "Grupa (identyfikator)" #: netbox/dcim/filtersets.py:176 netbox/dcim/filtersets.py:181 msgid "AS (ID)" @@ -2943,7 +2945,7 @@ msgstr "Lokalizacja nadrzędna (ID)" #: netbox/dcim/filtersets.py:252 msgid "Parent location (slug)" -msgstr "Lokalizacja nadrzędna (ślimak)" +msgstr "Lokalizacja nadrzędna (identyfikator)" #: netbox/dcim/filtersets.py:258 netbox/dcim/filtersets.py:369 #: netbox/dcim/filtersets.py:490 netbox/dcim/filtersets.py:1057 @@ -2955,7 +2957,7 @@ msgstr "Lokalizacja (ID)" #: netbox/dcim/filtersets.py:497 netbox/dcim/filtersets.py:1410 #: netbox/extras/filtersets.py:542 msgid "Location (slug)" -msgstr "Lokalizacja (ślimak)" +msgstr "Lokalizacja (identyfikator)" #: netbox/dcim/filtersets.py:296 netbox/dcim/filtersets.py:381 #: netbox/dcim/filtersets.py:539 netbox/dcim/filtersets.py:678 @@ -2971,15 +2973,15 @@ msgstr "Producent (ID)" #: netbox/dcim/filtersets.py:979 netbox/dcim/filtersets.py:1312 #: netbox/dcim/filtersets.py:1846 msgid "Manufacturer (slug)" -msgstr "Producent (ślimak)" +msgstr "Producent (identyfikator)" #: netbox/dcim/filtersets.py:393 msgid "Rack type (slug)" -msgstr "Rodzaj stelaża (ślimak)" +msgstr "Typ szafy (identyfikator)" #: netbox/dcim/filtersets.py:397 msgid "Rack type (ID)" -msgstr "Typ stelaża (ID)" +msgstr "Typ szafy (numer identyfikacyjny)" #: netbox/dcim/filtersets.py:411 netbox/dcim/filtersets.py:892 #: netbox/dcim/filtersets.py:994 netbox/dcim/filtersets.py:1850 @@ -2994,12 +2996,12 @@ msgstr "Rola (ID)" #: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:1009 #: netbox/virtualization/filtersets.py:216 msgid "Role (slug)" -msgstr "Rola (ślimak)" +msgstr "Rola (identyfikator)" #: netbox/dcim/filtersets.py:447 netbox/dcim/filtersets.py:1062 #: netbox/dcim/filtersets.py:1415 netbox/dcim/filtersets.py:2244 msgid "Rack (ID)" -msgstr "Stojak (ID)" +msgstr "Szafa (numer identyfikacyjny)" #: netbox/dcim/filtersets.py:507 netbox/extras/filtersets.py:293 #: netbox/extras/filtersets.py:337 netbox/extras/filtersets.py:359 @@ -3014,7 +3016,7 @@ msgstr "Domyślna platforma (ID)" #: netbox/dcim/filtersets.py:555 msgid "Default platform (slug)" -msgstr "Domyślna platforma (slug)" +msgstr "Domyślna platforma (identyfikator)" #: netbox/dcim/filtersets.py:558 netbox/dcim/forms/filtersets.py:517 msgid "Has a front image" @@ -3098,7 +3100,7 @@ msgstr "Szablon konfiguracji (ID)" #: netbox/dcim/filtersets.py:985 msgid "Device type (slug)" -msgstr "Typ urządzenia (ślimak)" +msgstr "Typ urządzenia (identyfikator)" #: netbox/dcim/filtersets.py:1005 msgid "Parent Device (ID)" @@ -3111,13 +3113,13 @@ msgstr "Platforma (ID)" #: netbox/dcim/filtersets.py:1015 netbox/extras/filtersets.py:569 #: netbox/virtualization/filtersets.py:226 msgid "Platform (slug)" -msgstr "Platforma (ślimak)" +msgstr "Platforma (identyfikator)" #: netbox/dcim/filtersets.py:1051 netbox/dcim/filtersets.py:1399 #: netbox/dcim/filtersets.py:1934 netbox/dcim/filtersets.py:2176 #: netbox/dcim/filtersets.py:2235 msgid "Site name (slug)" -msgstr "Nazwa witryny (slug)" +msgstr "Nazwa terenu (identyfikator)" #: netbox/dcim/filtersets.py:1067 msgid "Parent bay (ID)" @@ -3130,7 +3132,7 @@ msgstr "Klaster maszyn wirtualnych (ID)" #: netbox/dcim/filtersets.py:1077 netbox/extras/filtersets.py:591 #: netbox/virtualization/filtersets.py:136 msgid "Cluster group (slug)" -msgstr "Grupa klastra (ślimak)" +msgstr "Grupa klastra (identyfikator)" #: netbox/dcim/filtersets.py:1082 netbox/virtualization/filtersets.py:130 msgid "Cluster group (ID)" @@ -3138,7 +3140,7 @@ msgstr "Grupa klastra (ID)" #: netbox/dcim/filtersets.py:1088 msgid "Device model (slug)" -msgstr "Model urządzenia (ślimak)" +msgstr "Model urządzenia (identyfikator)" #: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/bulk_edit.py:516 msgid "Is full depth" @@ -3211,7 +3213,7 @@ msgstr "Urządzenie (ID)" #: netbox/dcim/filtersets.py:1421 msgid "Rack (name)" -msgstr "Stojak (nazwa)" +msgstr "Szafa (nazwa)" #: netbox/dcim/filtersets.py:1431 netbox/ipam/filtersets.py:606 #: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1095 @@ -3229,7 +3231,7 @@ msgstr "Rola urządzenia (ID)" #: netbox/dcim/filtersets.py:1453 msgid "Device role (slug)" -msgstr "Rola urządzenia (slug)" +msgstr "Rola urządzenia (identyfikator)" #: netbox/dcim/filtersets.py:1458 msgid "Virtual Chassis (ID)" @@ -3264,7 +3266,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3343,7 +3345,7 @@ msgid "LAG interface (ID)" msgstr "Interfejs LAG (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Kontekst urządzenia wirtualnego" @@ -3393,7 +3395,7 @@ msgstr "Najemca (ID)" #: netbox/dcim/filtersets.py:1945 netbox/extras/filtersets.py:618 #: netbox/tenancy/filtersets.py:252 msgid "Tenant (slug)" -msgstr "Najemca (ślimak)" +msgstr "Najemca (identyfikator)" #: netbox/dcim/filtersets.py:1981 netbox/dcim/forms/filtersets.py:1077 msgid "Unterminated" @@ -3418,7 +3420,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3465,9 +3467,9 @@ msgstr "Strefa czasowa" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3567,7 +3569,7 @@ msgstr "Jednostka wagowa" #: netbox/dcim/forms/model_forms.py:217 netbox/dcim/forms/model_forms.py:256 #: netbox/templates/dcim/rack.html:45 netbox/templates/dcim/racktype.html:13 msgid "Rack Type" -msgstr "Rodzaj stelaża" +msgstr "Typ szafy" #: netbox/dcim/forms/bulk_edit.py:298 netbox/dcim/forms/model_forms.py:220 #: netbox/dcim/forms/model_forms.py:297 @@ -3591,9 +3593,9 @@ msgstr "Numeracja" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3677,13 +3679,13 @@ msgstr "Przepływ powietrza" #: netbox/templates/dcim/rackreservation.html:36 #: netbox/virtualization/forms/model_forms.py:113 msgid "Rack" -msgstr "Stojak" +msgstr "Szafa" #: netbox/dcim/forms/bulk_edit.py:444 netbox/dcim/forms/bulk_edit.py:730 #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Sprzęt" @@ -3791,15 +3793,15 @@ msgstr "Platforma" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3943,7 +3945,7 @@ msgstr "Przydzielony pobór mocy (waty)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Port zasilania" @@ -4031,14 +4033,14 @@ msgstr "Tryb" msgid "VLAN group" msgstr "Grupa VLAN" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "Nieoznaczone sieci VLAN" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4057,7 +4059,7 @@ msgid "Wireless LANs" msgstr "Bezprzewodowe sieci LAN" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4066,24 +4068,24 @@ msgid "Addressing" msgstr "Adresowanie" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operacja" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Powiązane interfejsy" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4137,11 +4139,11 @@ msgstr "Lokalizacja nie została znaleziona." #: netbox/dcim/forms/bulk_import.py:185 msgid "The manufacturer of this rack type" -msgstr "Producent tego typu regału" +msgstr "Producent tego typu szaf" #: netbox/dcim/forms/bulk_import.py:196 msgid "The lowest-numbered position in the rack" -msgstr "Najniższa pozycja w stojaku" +msgstr "Najniższy numer pozycji w szafie" #: netbox/dcim/forms/bulk_import.py:201 netbox/dcim/forms/bulk_import.py:268 msgid "Rail-to-rail width (in inches)" @@ -4153,7 +4155,7 @@ msgstr "Jednostka do wymiarów zewnętrznych" #: netbox/dcim/forms/bulk_import.py:213 netbox/dcim/forms/bulk_import.py:286 msgid "Unit for rack weights" -msgstr "Jednostka do obciążników regałowych" +msgstr "Jednostka masy w szafach" #: netbox/dcim/forms/bulk_import.py:245 msgid "Name of assigned tenant" @@ -4174,7 +4176,7 @@ msgstr "Witryna nadrzędna" #: netbox/dcim/forms/bulk_import.py:319 netbox/dcim/forms/bulk_import.py:1355 msgid "Rack's location (if any)" -msgstr "Lokalizacja stojaka (jeśli istnieje)" +msgstr "Lokalizacja szafy (jeśli określona)" #: netbox/dcim/forms/bulk_import.py:328 netbox/dcim/forms/model_forms.py:311 #: netbox/dcim/tables/racks.py:222 @@ -4270,7 +4272,7 @@ msgstr "Przypisana lokalizacja (jeśli istnieje)" #: netbox/dcim/forms/bulk_import.py:557 msgid "Assigned rack (if any)" -msgstr "Przypisany stojak (jeśli istnieje)" +msgstr "Przypisana szafa (jeśli określona)" #: netbox/dcim/forms/bulk_import.py:560 msgid "Face" @@ -4278,7 +4280,7 @@ msgstr "Twarz" #: netbox/dcim/forms/bulk_import.py:563 msgid "Mounted rack face" -msgstr "Zamontowana powierzchnia regału" +msgstr "Powierzchnia montażu w szafie" #: netbox/dcim/forms/bulk_import.py:570 msgid "Parent device (for child devices)" @@ -4424,7 +4426,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} nie jest przypisany do urządzenia {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Tylny port" @@ -4438,7 +4440,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Zainstalowane urządzenie" @@ -4527,7 +4529,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4557,6 +4559,28 @@ msgstr "Rodzaj zasilania (AC/DC)" msgid "Single or three-phase" msgstr "Pojedynczy lub trójfazowy" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "Podstawowy IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "Adres IPv4 z maską, np. 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "Podstawowy IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4642,7 +4666,7 @@ msgstr "Obiekty" #: netbox/dcim/forms/filtersets.py:380 msgid "Rack type" -msgstr "Rodzaj stelaża" +msgstr "Typ szafy" #: netbox/dcim/forms/filtersets.py:397 msgid "Function" @@ -4719,7 +4743,7 @@ msgstr "Uprzejmy" msgid "Mgmt only" msgstr "Tylko MGMT" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4753,7 +4777,7 @@ msgstr "Moc transmisji (dBm)" msgid "Cable" msgstr "Kabel" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Odkryte" @@ -4774,13 +4798,12 @@ msgstr "Rola szafy" #: netbox/dcim/forms/model_forms.py:446 #: netbox/utilities/forms/fields/fields.py:47 msgid "Slug" -msgstr "Ślimak" +msgstr "Identyfikator" #: netbox/dcim/forms/model_forms.py:259 msgid "Select a pre-defined rack type, or set physical characteristics below." msgstr "" -"Wybierz wstępnie zdefiniowany typ stelaża lub ustaw parametry fizyczne " -"poniżej." +"Wybierz predefiniowany typ szafy lub ustaw parametry fizyczne poniżej." #: netbox/dcim/forms/model_forms.py:265 msgid "Inventory Control" @@ -4852,8 +4875,8 @@ msgstr "Szablon portu zasilania" msgid "Rear port template" msgstr "Szablon tylnego portu" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4877,7 +4900,7 @@ msgstr "Szablon tylnego portu" msgid "Interface" msgstr "Interfejs" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4885,14 +4908,14 @@ msgstr "Interfejs" msgid "Console Port" msgstr "Port konsoli" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Port serwera konsoli" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4903,8 +4926,8 @@ msgstr "Port serwera konsoli" msgid "Front Port" msgstr "Port przedni" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4916,24 +4939,24 @@ msgstr "Port przedni" msgid "Rear Port" msgstr "Tylny port" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Port zasilania" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Gniazdo zasilania" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Przypisywanie komponentów" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "InventoryItem można przypisać tylko do pojedynczego komponentu." @@ -4941,56 +4964,48 @@ msgstr "InventoryItem można przypisać tylko do pojedynczego komponentu." msgid "LAG interface" msgstr "Interfejs LAG" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Filtruj sieci VLAN dostępne do przypisania według grup." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Urządzenie dziecięce" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." msgstr "" -"Urządzenia podrzędne muszą być najpierw utworzone i przypisane do witryny i " -"szafy urządzenia nadrzędnego." +"Urządzenia podrzędne muszą być najpierw utworzone i przypisane do terenu " +"i szafy urządzenia nadrzędnego." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Port konsoli" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Port serwera konsoli" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Port przedni" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Gniazdo zasilania" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Przedmiot zapasów" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Rola pozycji zapasów" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "Podstawowy IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "Podstawowy IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -4998,7 +5013,7 @@ msgid "" "Alphanumeric ranges are supported. (Must match the number of objects being " "created.)" msgstr "" -"Obsługiwane są zakresy alfanumeryczne. (Musi odpowiadać liczbie tworzonych " +"Obsługiwane są zakresy alfanumeryczne. (Muszą odpowiadać liczbie tworzonych " "obiektów.)" #: netbox/dcim/forms/object_create.py:68 @@ -5019,7 +5034,7 @@ msgstr "Tylne porty" #: netbox/dcim/forms/object_create.py:272 msgid "Select one rear port assignment for each front port being created." msgstr "" -"Wybierz jedno przypisanie portu tylnego dla każdego utworzonego portu " +"Wybierz jedno przypisanie portu tylnego dla każdego tworzonego portu " "przedniego." #: netbox/dcim/forms/object_create.py:164 @@ -5046,10 +5061,10 @@ msgid "" "The number of front ports to be created ({frontport_count}) must match the " "selected number of rear port positions ({rearport_count})." msgstr "" -"Liczba portów frontowych do utworzenia ({frontport_count}) musi odpowiadać " +"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:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -5890,8 +5905,7 @@ msgstr "jest pełna głębokość" #: netbox/dcim/models/devices.py:117 msgid "Device consumes both front and rear rack faces." -msgstr "" -"Urządzenie zużywa zarówno przednią, jak i tylną powierzchnię bagażnika." +msgstr "Urządzenie zajmuje zarówno przednią, jak i tylną powierzchnię szafy." #: netbox/dcim/models/devices.py:123 msgid "parent/child status" @@ -5921,7 +5935,7 @@ msgstr "typy urządzeń" #: netbox/dcim/models/devices.py:290 msgid "U height must be in increments of 0.5 rack units." -msgstr "Wysokość U musi być w odstępach co 0,5 jednostki regału." +msgstr "Wysokość U musi być w odstępach co 0,5 jednostki szafy." #: netbox/dcim/models/devices.py:307 #, python-brace-format @@ -5929,7 +5943,7 @@ msgid "" "Device {device} in rack {rack} does not have sufficient space to accommodate" " a height of {height}U" msgstr "" -"Urządzenie {device} w stojaku {rack} nie ma wystarczającej ilości miejsca, " +"Urządzenie {device} w szafie {rack} nie ma wystarczającej ilości miejsca, " "aby pomieścić wysokość {height}U" #: netbox/dcim/models/devices.py:322 @@ -5938,9 +5952,9 @@ msgid "" "Unable to set 0U height: Found {racked_instance_count} " "instances already mounted within racks." msgstr "" -"Nie można ustawić wysokości 0U: Znaleziono {racked_instance_count} instancje już zamontowane w " -"stojakach." +"Nie można ustawić wysokości 0U: znaleziono {racked_instance_count} instancji już zamontowanych " +"w szafach." #: netbox/dcim/models/devices.py:331 msgid "" @@ -6004,7 +6018,7 @@ msgstr "pozycja (U)" #: netbox/dcim/models/devices.py:650 msgid "rack face" -msgstr "powierzchnia regału" +msgstr "powierzchnia szafy" #: netbox/dcim/models/devices.py:670 netbox/dcim/models/devices.py:1408 #: netbox/virtualization/models/virtualmachines.py:100 @@ -6064,7 +6078,7 @@ msgstr "urządzenia" #: netbox/dcim/models/devices.py:835 #, python-brace-format msgid "Rack {rack} does not belong to site {site}." -msgstr "Stojak {rack} nie należy do strony {site}." +msgstr "Szafa {rack} nie należy do terenu {site}." #: netbox/dcim/models/devices.py:840 #, python-brace-format @@ -6074,39 +6088,39 @@ msgstr "Lokalizacja {location} nie należy do strony {site}." #: netbox/dcim/models/devices.py:846 #, python-brace-format msgid "Rack {rack} does not belong to location {location}." -msgstr "Stojak {rack} Nie należy do lokalizacji {location}." +msgstr "Szafa {rack} nie należy do lokalizacji {location}." #: netbox/dcim/models/devices.py:853 msgid "Cannot select a rack face without assigning a rack." -msgstr "Nie można wybrać powierzchni stelaża bez przypisania stelaża." +msgstr "Nie można wybrać powierzchni szafy bez przypisania szafy." #: netbox/dcim/models/devices.py:857 msgid "Cannot select a rack position without assigning a rack." -msgstr "Nie można wybrać pozycji stelaża bez przypisania stelaża." +msgstr "Nie można wybrać pozycji w szafie bez przypisania szafy." #: netbox/dcim/models/devices.py:863 msgid "Position must be in increments of 0.5 rack units." -msgstr "Pozycja musi być w odstępach co 0,5 jednostek regałowych." +msgstr "Pozycja musi być w odstępach co 0,5 jednostek regałowych." #: netbox/dcim/models/devices.py:867 msgid "Must specify rack face when defining rack position." msgstr "" -"Należy określić powierzchnię stelaża podczas definiowania położenia stelaża." +"Należy określić powierzchnię szafy podczas definiowania pozycji w szafie." #: netbox/dcim/models/devices.py:875 #, python-brace-format msgid "" "A 0U device type ({device_type}) cannot be assigned to a rack position." msgstr "" -"Typ urządzenia 0U ({device_type}) nie można przypisać do pozycji stojaka." +"Typ urządzenia 0U ({device_type}) nie może być przypisany do pozycji szafy." #: netbox/dcim/models/devices.py:886 msgid "" "Child device types cannot be assigned to a rack face. This is an attribute " "of the parent device." msgstr "" -"Typy urządzeń podrzędnych nie mogą być przypisane do powierzchni stelaża. " -"Jest to atrybut urządzenia nadrzędnego." +"Typy urządzeń podrzędnych nie mogą być przypisane do powierzchni szafy. Jest" +" to atrybut urządzenia nadrzędnego." #: netbox/dcim/models/devices.py:893 msgid "" @@ -6305,8 +6319,8 @@ msgid "" "Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) " "are in different sites." msgstr "" -"Stojak {rack} ({rack_site}) i panel zasilania {powerpanel} " -"({powerpanel_site}) znajdują się w różnych miejscach." +"Szafa {rack} ({rack_site}) i panel zasilania {powerpanel} " +"({powerpanel_site}) znajdują się na różnych terenach." #: netbox/dcim/models/power.py:190 msgid "Voltage cannot be negative for AC supply" @@ -6322,7 +6336,7 @@ msgstr "Szerokość szyny do szyny" #: netbox/dcim/models/racks.py:56 msgid "Height in rack units" -msgstr "Wysokość w jednostkach regałowych" +msgstr "Wysokość w jednostkach szafy" #: netbox/dcim/models/racks.py:60 msgid "starting unit" @@ -6330,7 +6344,7 @@ msgstr "jednostka startowa" #: netbox/dcim/models/racks.py:62 msgid "Starting unit for rack" -msgstr "Jednostka startowa do stojaka" +msgstr "Jednostka początkowa szafy" #: netbox/dcim/models/racks.py:66 msgid "descending units" @@ -6346,7 +6360,7 @@ msgstr "szerokość zewnętrzna" #: netbox/dcim/models/racks.py:75 msgid "Outer dimension of rack (width)" -msgstr "Wymiar zewnętrzny stelaża (szerokość)" +msgstr "Wymiar zewnętrzny szafy (szerokość)" #: netbox/dcim/models/racks.py:78 msgid "outer depth" @@ -6354,7 +6368,7 @@ msgstr "głębokość zewnętrzna" #: netbox/dcim/models/racks.py:81 msgid "Outer dimension of rack (depth)" -msgstr "Wymiar zewnętrzny stelaża (głębokość)" +msgstr "Wymiar zewnętrzny szafy (głębokość)" #: netbox/dcim/models/racks.py:84 msgid "outer unit" @@ -6369,8 +6383,8 @@ msgid "" "Maximum depth of a mounted device, in millimeters. For four-post racks, this" " is the distance between the front and rear rails." msgstr "" -"Maksymalna głębokość zamontowanego urządzenia, w milimetrach. W przypadku " -"stojaków czterosłupkowych jest to odległość między przednią i tylną szyną." +"Maksymalna głębokość zamontowanego urządzenia w milimetrach. W przypadku " +"stojaków czterosłupkowych jest to odległość między przednią i tylną szyną." #: netbox/dcim/models/racks.py:102 msgid "max weight" @@ -6386,11 +6400,11 @@ msgstr "współczynnik kształtu" #: netbox/dcim/models/racks.py:162 msgid "rack type" -msgstr "typ stelaża" +msgstr "typ szafy" #: netbox/dcim/models/racks.py:163 msgid "rack types" -msgstr "typy regałów" +msgstr "typy szaf" #: netbox/dcim/models/racks.py:180 netbox/dcim/models/racks.py:379 msgid "Must specify a unit when setting an outer width/depth" @@ -6404,11 +6418,11 @@ msgstr "Należy określić jednostkę podczas ustawiania maksymalnej wagi" #: netbox/dcim/models/racks.py:230 msgid "rack role" -msgstr "rola stelaża" +msgstr "rola szafy" #: netbox/dcim/models/racks.py:231 msgid "rack roles" -msgstr "role w szafie" +msgstr "role szafy" #: netbox/dcim/models/racks.py:274 msgid "facility ID" @@ -6427,15 +6441,15 @@ msgstr "Funkcjonalna rola" #: netbox/dcim/models/racks.py:321 msgid "A unique tag used to identify this rack" -msgstr "Unikalny znacznik używany do identyfikacji tego stelaża" +msgstr "Unikalny tag używany do identyfikacji tej szafy" #: netbox/dcim/models/racks.py:359 msgid "rack" -msgstr "regał" +msgstr "szafa" #: netbox/dcim/models/racks.py:360 msgid "racks" -msgstr "stojaki" +msgstr "szafy" #: netbox/dcim/models/racks.py:375 #, python-brace-format @@ -6448,8 +6462,8 @@ msgid "" "Rack must be at least {min_height}U tall to house currently installed " "devices." msgstr "" -"Stojak musi być co najmniej {min_height}Wysokość do przechowywania aktualnie" -" zainstalowanych urządzeń." +"Szafa musi być mieć najmniej {min_height}U wysokości aby pomieścić aktualnie" +" zainstalowane urządzeń." #: netbox/dcim/models/racks.py:400 #, python-brace-format @@ -6457,8 +6471,8 @@ msgid "" "Rack unit numbering must begin at {position} or less to house currently " "installed devices." msgstr "" -"Numeracja jednostek regałowych musi rozpoczynać się od {position} lub mniej," -" aby pomieścić aktualnie zainstalowane urządzenia." +"Numeracja jednostek szafy musi rozpoczynać się od {position} lub mniej, aby " +"pomieścić aktualnie zainstalowane urządzenia." #: netbox/dcim/models/racks.py:408 #, python-brace-format @@ -6471,16 +6485,16 @@ msgstr "jednostki" #: netbox/dcim/models/racks.py:696 msgid "rack reservation" -msgstr "rezerwacja stojaków" +msgstr "rezerwacja szafy" #: netbox/dcim/models/racks.py:697 msgid "rack reservations" -msgstr "rezerwacje regałów" +msgstr "rezerwacje szafy" #: netbox/dcim/models/racks.py:714 #, python-brace-format msgid "Invalid unit(s) for {height}U rack: {unit_list}" -msgstr "Nieprawidłowa jednostka (y) dla {height}Stojak U: {unit_list}" +msgstr "Nieprawidłowa jednostka (jednostki) dla szafy {height}U: {unit_list}" #: netbox/dcim/models/racks.py:727 #, python-brace-format @@ -6493,7 +6507,7 @@ msgstr "Region najwyższego poziomu o tej nazwie już istnieje." #: netbox/dcim/models/sites.py:59 msgid "A top-level region with this slug already exists." -msgstr "Region najwyższego poziomu z tym ślimakiem już istnieje." +msgstr "Region najwyższego poziomu z tym identyfikatorem już istnieje." #: netbox/dcim/models/sites.py:62 msgid "region" @@ -6509,7 +6523,7 @@ msgstr "Grupa witryn najwyższego poziomu o tej nazwie już istnieje." #: netbox/dcim/models/sites.py:112 msgid "A top-level site group with this slug already exists." -msgstr "Grupa witryn najwyższego poziomu z tym ślimakiem już istnieje." +msgstr "Grupa terenów najwyższego poziomu z tym identyfikatorem już istnieje." #: netbox/dcim/models/sites.py:115 msgid "site group" @@ -6561,7 +6575,7 @@ msgstr "Lokalizacja o tej nazwie istnieje już w określonej witrynie." #: netbox/dcim/models/sites.py:319 msgid "A location with this slug already exists within the specified site." -msgstr "Lokalizacja z tym ślimakiem istnieje już w określonej witrynie." +msgstr "Lokalizacja z tym identyfikatorem już istnieje na określonym terenie." #: netbox/dcim/models/sites.py:322 msgid "location" @@ -6604,11 +6618,11 @@ msgstr "Lokalizacja B" #: netbox/dcim/tables/cables.py:90 msgid "Rack A" -msgstr "Stojak A" +msgstr "Szafa A" #: netbox/dcim/tables/cables.py:96 msgid "Rack B" -msgstr "Stojak B" +msgstr "Szafa B" #: netbox/dcim/tables/cables.py:102 msgid "Site A" @@ -6659,7 +6673,7 @@ msgstr "Szablon konfiguracji" msgid "Site Group" msgstr "Grupa witryn" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6668,12 +6682,12 @@ msgstr "Grupa witryn" msgid "IP Address" msgstr "Adres IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Adres IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Adres IPv6" @@ -6711,7 +6725,7 @@ msgstr "Porty zasilania" msgid "Power outlets" msgstr "Gniazdka elektryczne" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6818,28 +6832,28 @@ msgstr "Tylko zarządzanie" msgid "VDCs" msgstr "VDC" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Zainstalowany moduł" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Moduł szeregowy" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Etykietka zasobów modułu" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Status modułu" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Komponent" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Przedmioty" @@ -6978,7 +6992,7 @@ msgstr "Dostępna moc (VA)" #: netbox/netbox/navigation/menu.py:43 netbox/netbox/navigation/menu.py:47 #: netbox/netbox/navigation/menu.py:49 msgid "Racks" -msgstr "Regały" +msgstr "Szafy" #: netbox/dcim/tables/racks.py:63 netbox/dcim/tables/racks.py:142 #: netbox/templates/dcim/device.html:318 @@ -7028,7 +7042,7 @@ msgstr "Rezerwacje" #: netbox/dcim/views.py:759 netbox/templates/dcim/location.html:90 #: netbox/templates/dcim/site.html:140 msgid "Non-Racked Devices" -msgstr "Urządzenia bez stojaków" +msgstr "Urządzenia poza szafami" #: netbox/dcim/views.py:2088 netbox/extras/forms/model_forms.py:577 #: netbox/templates/extras/configcontext.html:10 @@ -7250,7 +7264,7 @@ msgstr "30 dni" #: netbox/templates/generic/object_edit.html:80 #: netbox/templates/ipam/inc/ipaddress_edit_header.html:7 msgid "Create" -msgstr "Stwórz" +msgstr "Utwórz" #: netbox/extras/choices.py:227 msgid "Update" @@ -7412,7 +7426,7 @@ msgid "" "Display a set of NetBox models and the number of objects created for each " "type." msgstr "" -"Wyświetla zestaw modeli NetBox i liczbę obiektów utworzonych dla każdego " +"Wyświetla zestaw modeli NetBox i liczbę obiektów utworzonych dla każdego " "typu." #: netbox/extras/dashboard/widgets.py:170 @@ -7505,7 +7519,7 @@ msgstr "Typ klastra" #: netbox/extras/filtersets.py:580 netbox/virtualization/filtersets.py:95 #: netbox/virtualization/filtersets.py:147 msgid "Cluster type (slug)" -msgstr "Typ klastra (ślimak)" +msgstr "Typ klastra (identyfikator)" #: netbox/extras/filtersets.py:601 netbox/tenancy/forms/forms.py:16 #: netbox/tenancy/forms/forms.py:39 @@ -7515,7 +7529,7 @@ msgstr "Grupa najemców" #: netbox/extras/filtersets.py:607 netbox/tenancy/filtersets.py:189 #: netbox/tenancy/filtersets.py:209 msgid "Tenant group (slug)" -msgstr "Grupa najemców (ślimak)" +msgstr "Grupa najemców (identyfikator)" #: netbox/extras/filtersets.py:623 netbox/extras/forms/model_forms.py:495 #: netbox/templates/extras/tag.html:11 @@ -7524,7 +7538,7 @@ msgstr "Etykietka" #: netbox/extras/filtersets.py:629 msgid "Tag (slug)" -msgstr "Tag (ślimak)" +msgstr "Tag (identyfikator)" #: netbox/extras/filtersets.py:689 netbox/extras/forms/filtersets.py:429 msgid "Has local config context data" @@ -9250,7 +9264,7 @@ msgstr "RIR (ID)" #: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204 #: netbox/ipam/filtersets.py:227 msgid "RIR (slug)" -msgstr "RIR (ślimak)" +msgstr "RIR (identyfikator)" #: netbox/ipam/filtersets.py:285 msgid "Within prefix" @@ -9933,7 +9947,7 @@ msgstr "agregaty" #: netbox/ipam/models/ip.py:132 msgid "Cannot create aggregate with /0 mask." -msgstr "Nie można utworzyć agregatu z maską /0." +msgstr "Nie można utworzyć agregatu z maską /0." #: netbox/ipam/models/ip.py:144 #, python-brace-format @@ -9996,7 +10010,7 @@ msgstr "przedrostki" #: netbox/ipam/models/ip.py:317 msgid "Cannot create prefix with /0 mask." -msgstr "Nie można utworzyć prefiksu z maską /0." +msgstr "Nie można utworzyć prefiksu z maską /0." #: netbox/ipam/models/ip.py:324 netbox/ipam/models/ip.py:874 #, python-brace-format @@ -10097,7 +10111,7 @@ msgstr "Adresy IP" #: netbox/ipam/models/ip.py:845 msgid "Cannot create IP address with /0 mask." -msgstr "Nie można utworzyć adresu IP z maską /0." +msgstr "Nie można utworzyć adresu IP z maską /0." #: netbox/ipam/models/ip.py:851 #, python-brace-format @@ -10438,7 +10452,7 @@ msgstr "Zakresy muszą być określone w formularzu (dolny, górny)." msgid "Range boundaries must be defined as integers." msgstr "Granice zakresu muszą być zdefiniowane jako liczby całkowite." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} musi zaimplementować get_view_name ()" @@ -10592,19 +10606,19 @@ msgstr "Preferuj adresy IPv4 niż IPv6" #: netbox/netbox/config/parameters.py:84 msgid "Rack unit height" -msgstr "Wysokość jednostki regału" +msgstr "Wysokość jednostki szafy" #: netbox/netbox/config/parameters.py:86 msgid "Default unit height for rendered rack elevations" -msgstr "Domyślna wysokość jednostki dla renderowanych elewacji stelaża" +msgstr "Domyślna wysokość jednostki dla renderowanych elewacji szafy" #: netbox/netbox/config/parameters.py:91 msgid "Rack unit width" -msgstr "Szerokość jednostki stelażowej" +msgstr "Szerokość jednostki szafy" #: netbox/netbox/config/parameters.py:93 msgid "Default unit width for rendered rack elevations" -msgstr "Domyślna szerokość jednostki dla renderowanych elewacji stelaża" +msgstr "Domyślna szerokość jednostki dla renderowanych elewacji szafy" #: netbox/netbox/config/parameters.py:100 msgid "Powerfeed voltage" @@ -10756,8 +10770,8 @@ msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. " "\"tag1,tag2,tag3\")" msgstr "" -"Oznacz ślimaki oddzielone przecinkami, otoczone podwójnymi cudzysłowami (np." -" „tag1, tag2, tag3\")" +"Identyfikatory tagów oddzielone przecinkami, otoczone podwójnymi " +"cudzysłowami (np. \"tag1,tag2,tag3\")" #: netbox/netbox/forms/base.py:120 msgid "Add tags" @@ -10792,31 +10806,31 @@ msgstr "Pole niestandardowe '{name}„musi mieć unikalną wartość." msgid "Missing required custom field '{name}'." msgstr "Brakujące wymagane pole niestandardowe '{name}”." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Zdalne źródło danych" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "ścieżka danych" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Ścieżka do pliku zdalnego (względem katalogu głównego źródła danych)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "włączona automatyczna synchronizacja" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "Włącz automatyczną synchronizację danych po aktualizacji pliku danych" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "data zsynchronizowana" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} musi wdrożyć metodę sync_data ()." @@ -10848,7 +10862,7 @@ msgstr "Zadania kontaktowe" #: netbox/netbox/navigation/menu.py:50 msgid "Rack Roles" -msgstr "Role w szafie" +msgstr "Role szafy" #: netbox/netbox/navigation/menu.py:54 msgid "Elevations" @@ -10856,7 +10870,7 @@ msgstr "Elewacje" #: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62 msgid "Rack Types" -msgstr "Rodzaje regałów" +msgstr "Rodzaje szaf" #: netbox/netbox/navigation/menu.py:76 msgid "Modules" @@ -11965,7 +11979,7 @@ msgstr "Pliki" #: netbox/templates/core/inc/config_data.html:7 msgid "Rack elevations" -msgstr "Elewacje szaf rackowych" +msgstr "Elewacje szaf" #: netbox/templates/core/inc/config_data.html:10 msgid "Default unit height" @@ -12019,7 +12033,7 @@ msgstr "Praca" #: netbox/templates/core/job.html:58 #: netbox/templates/extras/journalentry.html:26 msgid "Created By" -msgstr "Stworzony przez" +msgstr "Utworzony przez" #: netbox/templates/core/job.html:66 msgid "Scheduling" @@ -12378,11 +12392,11 @@ msgstr "Nie jest połączony" #: netbox/templates/dcim/device.html:34 msgid "Highlight device in rack" -msgstr "Podświetl urządzenie w stojaku" +msgstr "Podświetl urządzenie w szafie" #: netbox/templates/dcim/device.html:55 msgid "Not racked" -msgstr "Nie zgarnięty" +msgstr "Poza szafą" #: netbox/templates/dcim/device.html:62 netbox/templates/dcim/site.html:94 msgid "GPS Coordinates" @@ -12557,9 +12571,9 @@ msgid "Parent Bay" msgstr "Zatoka Parent" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" -msgstr "Regeneruj ślimak" +msgstr "Regeneruj identyfikator" #: netbox/templates/dcim/device_edit.html:49 #: netbox/templates/generic/bulk_remove.html:21 @@ -12731,7 +12745,7 @@ msgstr "Jednostki malejące" #: netbox/templates/dcim/inc/rack_elevation.html:3 msgid "Rack elevation" -msgstr "Elewacja stojaka" +msgstr "Elewacja szafy" #: netbox/templates/dcim/interface.html:17 msgid "Add Child Interface" @@ -12892,7 +12906,7 @@ msgstr "Wykorzystanie przestrzeni" #: netbox/templates/dcim/rack.html:84 netbox/templates/dcim/racktype.html:44 msgid "Rack Weight" -msgstr "Waga stojaka" +msgstr "Waga szafy" #: netbox/templates/dcim/rack.html:94 netbox/templates/dcim/racktype.html:54 msgid "Maximum Weight" @@ -12902,17 +12916,17 @@ msgstr "Maksymalna waga" msgid "Total Weight" msgstr "Całkowita waga" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Obrazy i etykiety" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Tylko obrazy" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Tylko etykiety" @@ -12927,7 +12941,7 @@ msgstr "Wyświetl listę" #: netbox/templates/dcim/rack_elevation_list.html:14 msgid "Select rack view" -msgstr "Wybierz widok stelaża" +msgstr "Wybierz widok szafy" #: netbox/templates/dcim/rack_elevation_list.html:25 msgid "Sort By" @@ -12935,7 +12949,7 @@ msgstr "Sortuj wg" #: netbox/templates/dcim/rack_elevation_list.html:74 msgid "No Racks Found" -msgstr "Nie znaleziono regałów" +msgstr "Nie znaleziono szaf" #: netbox/templates/dcim/rack_list.html:8 msgid "View Elevations" @@ -12947,7 +12961,7 @@ msgstr "Szczegóły rezerwacji" #: netbox/templates/dcim/rackrole.html:10 msgid "Add Rack" -msgstr "Dodaj stelaż" +msgstr "Dodaj szafę" #: netbox/templates/dcim/rearport.html:50 msgid "Positions" @@ -13037,7 +13051,7 @@ msgstr "Edycja wirtualnej obudowy %(name)s" #: netbox/templates/dcim/virtualchassis_edit.html:53 msgid "Rack/Unit" -msgstr "Stojak/Jednostka" +msgstr "Szafa/jednostka" #: netbox/templates/dcim/virtualchassis_remove_member.html:5 msgid "Remove Virtual Chassis Member" @@ -13425,8 +13439,8 @@ msgid "" "Get started by creating a script from " "an uploaded file or data source." msgstr "" -"Zacznij od tworzenie skryptu z " -"przesłanego pliku lub źródła danych." +"Zacznij od utworzenia skryptu " +"z przesłanego pliku lub źródła danych." #: netbox/templates/extras/script_result.html:35 #: netbox/templates/generic/object_list.html:50 @@ -13660,11 +13674,11 @@ msgstr "Wyświetl dokumentację modelu" #: netbox/templates/generic/object_edit.html:36 msgid "Help" -msgstr "Pomocy" +msgstr "Pomoc" #: netbox/templates/generic/object_edit.html:83 msgid "Create & Add Another" -msgstr "Utwórz i dodaj kolejny" +msgstr "Utwórz i dodaj kolejny" #: netbox/templates/generic/object_list.html:57 msgid "Filters" @@ -14422,7 +14436,7 @@ msgstr "Nadrzędna grupa kontaktów (ID)" #: netbox/tenancy/filtersets.py:35 msgid "Parent contact group (slug)" -msgstr "Rodzicielska grupa kontaktowa (ślimak)" +msgstr "Nadrzędna grupa kontaktów (identyfikator)" #: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68 #: netbox/tenancy/filtersets.py:111 @@ -14432,7 +14446,7 @@ msgstr "Grupa kontaktowa (ID)" #: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75 #: netbox/tenancy/filtersets.py:118 msgid "Contact group (slug)" -msgstr "Grupa kontaktowa (ślimak)" +msgstr "Grupa kontaktów (identyfikator)" #: netbox/tenancy/filtersets.py:105 msgid "Contact (ID)" @@ -14444,7 +14458,7 @@ msgstr "Rola kontaktowa (ID)" #: netbox/tenancy/filtersets.py:128 msgid "Contact role (slug)" -msgstr "Rola kontaktowa (slug)" +msgstr "Rola kontaktu (identyfikator)" #: netbox/tenancy/filtersets.py:159 msgid "Contact group" @@ -14456,7 +14470,7 @@ msgstr "Grupa nadrzędnych najemców (ID)" #: netbox/tenancy/filtersets.py:176 msgid "Parent tenant group (slug)" -msgstr "Rodzicielska grupa najemców (ślimak)" +msgstr "Nadrzędna grupa najemców (identyfikator)" #: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 msgid "Tenant group (ID)" @@ -14468,7 +14482,7 @@ msgstr "Grupa najemców (ID)" #: netbox/tenancy/filtersets.py:242 msgid "Tenant Group (slug)" -msgstr "Grupa najemców (ślimak)" +msgstr "Grupa najemców (identyfikator)" #: netbox/tenancy/forms/bulk_edit.py:66 msgid "Desciption" @@ -14545,7 +14559,7 @@ msgstr "Nazwa najemcy musi być niepowtarzalna dla każdej grupy." #: netbox/tenancy/models/tenants.py:80 msgid "Tenant slug must be unique per group." -msgstr "Ślimak najemcy musi być unikalny dla każdej grupy." +msgstr "Identyfikator najemcy musi być unikalny dla każdej grupy." #: netbox/tenancy/models/tenants.py:88 msgid "tenant" @@ -14642,8 +14656,8 @@ msgid "" "accessible once the token has been created." msgstr "" "Klucze muszą mieć co najmniej 40 znaków długości. Pamiętaj, aby " -"nagrać swój klucz przed przesłaniem tego formularza, ponieważ może " -"nie być już dostępny po utworzeniu tokena." +"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 msgid "" @@ -14993,8 +15007,8 @@ msgid "" "Specify a numeric range to create multiple IPs.
Example: " "192.0.2.[1,5,100-254]/24" msgstr "" -"Określ zakres numeryczny, aby utworzyć wiele adresów IP.
Przykład: " -"192.0.2. [1,5,100-254] /24" +"Określ zakres numeryczny, aby utworzyć wiele adresów IP.
Przykład: " +"192.0.2.[1,5,100-254]/24" #: netbox/utilities/forms/fields/fields.py:31 #, python-brace-format @@ -15201,15 +15215,15 @@ msgstr "Anuluj subskrypcję" msgid "Subscribe" msgstr "Subskrybuj" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Kopiuj do schowka" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "To pole jest wymagane" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Ustaw Null" @@ -15280,7 +15294,7 @@ msgstr "Grupa nadrzędna (ID)" #: netbox/virtualization/filtersets.py:85 msgid "Parent group (slug)" -msgstr "Grupa nadrzędna (ślimak)" +msgstr "Grupa nadrzędna (identyfikator)" #: netbox/virtualization/filtersets.py:89 #: netbox/virtualization/filtersets.py:141 @@ -15629,7 +15643,7 @@ msgstr "Polityka IPsec (nazwa)" #: netbox/vpn/filtersets.py:359 msgid "L2VPN (slug)" -msgstr "L2VPN (ślimak)" +msgstr "L2VPN (identyfikator)" #: netbox/vpn/filtersets.py:423 msgid "VM Interface (ID)" diff --git a/netbox/translations/pt/LC_MESSAGES/django.mo b/netbox/translations/pt/LC_MESSAGES/django.mo index b961d51f0..a7bb4e1d9 100644 Binary files a/netbox/translations/pt/LC_MESSAGES/django.mo and b/netbox/translations/pt/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/pt/LC_MESSAGES/django.po b/netbox/translations/pt/LC_MESSAGES/django.po index 62f9cb04e..4b62823c1 100644 --- a/netbox/translations/pt/LC_MESSAGES/django.po +++ b/netbox/translations/pt/LC_MESSAGES/django.po @@ -6,17 +6,17 @@ # Translators: # Renato Almeida de Oliveira, 2023 # Fer22f , 2024 -# Jeremy Stretch, 2024 # Fabricio Maciel, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Fabricio Maciel, 2024\n" +"Last-Translator: Jeremy Stretch, 2024\n" "Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -105,7 +105,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Primário" @@ -336,7 +336,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -574,8 +574,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -819,7 +819,7 @@ msgstr "Parâmetros do serviço" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1544,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1623,7 +1623,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Falhou" @@ -1951,7 +1951,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Elevações de Rack" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Em Descomissionamento" @@ -2593,7 +2593,7 @@ msgstr "Obsoleto" msgid "Millimeters" msgstr "Milímetros" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Polegadas" @@ -2615,9 +2615,9 @@ msgstr "Trás para frente" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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 @@ -2647,15 +2647,15 @@ msgstr "Pai" msgid "Child" msgstr "Filho" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Frente" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2683,7 +2683,7 @@ msgid "Side to rear" msgstr "Lado para trás" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Passivo" @@ -2691,15 +2691,15 @@ msgstr "Passivo" msgid "Mixed" msgstr "Misto" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (sem trava)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (twist-lock)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "California Standard" @@ -2707,42 +2707,42 @@ msgstr "California Standard" msgid "International/ITA" msgstr "Internacional/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Proprietário" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Outros" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/Internacional" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Físico" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Virtual" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Wireless" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Interfaces virtuais" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2752,27 +2752,27 @@ msgstr "Interfaces virtuais" msgid "Bridge" msgstr "Bridge" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Link Aggregation (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (fixa)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modular)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (backplane)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Celular" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2780,130 @@ msgstr "Celular" msgid "Serial" msgstr "Serial" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Coaxial" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Empilhamento" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Half" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Full" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Automático" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Acesso" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Tagueada (Todos)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "Padrão IEEE" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "24V passivo (2 pares)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "24V passivo (4 pares)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "48V passivo (2 pares)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "48V passivo (4 pares)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Cabo Metálico" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Fibra Óptica" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Fibra" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Conectado" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Quilômetros" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Metros" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Centímetros" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Milhas" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Pés" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Quilogramas" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Gramas" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Libras" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Onças" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Redundante" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Monofásico" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Trifásico" @@ -3272,7 +3273,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3351,7 +3352,7 @@ msgid "LAG interface (ID)" msgstr "Interface LAG (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Contexto de Dispositivo Virtual" @@ -3426,7 +3427,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3473,9 +3474,9 @@ msgstr "Fuso horário" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3599,9 +3600,9 @@ msgstr "Numeração" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3691,7 +3692,7 @@ msgstr "Rack" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Hardware" @@ -3799,15 +3800,15 @@ msgstr "Plataforma" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3951,7 +3952,7 @@ msgstr "Consumo de energia alocado (Watts)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Porta de alimentação" @@ -4039,14 +4040,14 @@ msgstr "Modo" msgid "VLAN group" msgstr "Grupo de VLANs" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN Não Tagueada" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4065,7 +4066,7 @@ msgid "Wireless LANs" msgstr "Redes Wireless" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4074,24 +4075,24 @@ msgid "Addressing" msgstr "Endereçamento" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operação" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Interfaces Relacionadas" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4434,7 +4435,7 @@ msgstr "" "{device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Porta traseira" @@ -4448,7 +4449,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Dispositivo instalado" @@ -4537,7 +4538,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4567,6 +4568,28 @@ msgstr "Tipo de alimentação (AC/DC)" msgid "Single or three-phase" msgstr "Monofásico ou trifásico" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "IPv4 Primário" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "Endereço IPv4 com máscara, por exemplo, 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "IPv6 Primário" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4730,7 +4753,7 @@ msgstr "Tipo" msgid "Mgmt only" msgstr "Somente gerenciamento" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4764,7 +4787,7 @@ msgstr "Potência de transmissão (dBm)" msgid "Cable" msgstr "Cabo" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Descoberto" @@ -4862,8 +4885,8 @@ msgstr "Modelo da porta de alimentação" msgid "Rear port template" msgstr "Modelo da porta traseira" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4887,7 +4910,7 @@ msgstr "Modelo da porta traseira" msgid "Interface" msgstr "Interface" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4895,14 +4918,14 @@ msgstr "Interface" msgid "Console Port" msgstr "Porta de Console" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Porta do Servidor de Console" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4913,8 +4936,8 @@ msgstr "Porta do Servidor de Console" msgid "Front Port" msgstr "Porta Frontal" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4926,24 +4949,24 @@ msgstr "Porta Frontal" msgid "Rear Port" msgstr "Porta Traseira" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Porta de Alimentação" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Tomada Elétrica" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Atribuição de Componentes" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "Um item de inventário só pode ser associado a um único componente." @@ -4951,11 +4974,15 @@ msgstr "Um item de inventário só pode ser associado a um único componente." msgid "LAG interface" msgstr "Interface LAG" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Filtre as VLANs disponíveis para atribuição por grupo." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Dispositivo Filho" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4963,44 +4990,32 @@ msgstr "" "Os dispositivos filhos devem primeiro ser criados e atribuídos ao site e ao " "rack do dispositivo pai." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Porta de console" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Porta do servidor de console" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Porta frontal" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Tomada elétrica" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Item de Inventário" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Função do Item de Inventário" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "IPv4 Primário" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "IPv6 Primário" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5061,7 +5076,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:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -6682,7 +6697,7 @@ msgstr "Modelo de Configuração" msgid "Site Group" msgstr "Grupo de Sites" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6691,12 +6706,12 @@ msgstr "Grupo de Sites" msgid "IP Address" msgstr "Endereço IP" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Endereço IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Endereço IPv6" @@ -6734,7 +6749,7 @@ msgstr "Portas de alimentação" msgid "Power outlets" msgstr "Tomadas elétricas" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6841,28 +6856,28 @@ msgstr "Somente Gerenciamento" msgid "VDCs" msgstr "Contextos de Dispositivos Virtuais" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Módulo Instalado" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Serial do Módulo" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Etiqueta de Patrimônio do Módulo" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Status do Módulo" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Componente" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Itens" @@ -10473,7 +10488,7 @@ msgstr "Intervalos devem ser especificados no formato (inferior,superior)." msgid "Range boundaries must be defined as integers." msgstr "Fronteiras do intervalo devem ser definidas como inteiros." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} deve implementar get_view_name()" @@ -10825,33 +10840,33 @@ msgstr "Campo customizado '{name}' deve ser um valor único." msgid "Missing required custom field '{name}'." msgstr "Campo personalizado obrigatório '{name}' ausente." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Fonte de dados remota" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "caminho dos dados" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Caminho para o arquivo remoto (em relação à raiz da fonte de dados)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "sincronização automática ativada" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Habilita a sincronização automática de dados quando o arquivo de dados for " "atualizado" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "data sincronizada" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} deve implementar um método sync_data ()." @@ -12592,7 +12607,7 @@ msgid "Parent Bay" msgstr "Compartimento Pai" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Regenerar Slug" @@ -12937,17 +12952,17 @@ msgstr "Peso Máximo" msgid "Total Weight" msgstr "Peso Total" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Imagens e Rótulos" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Somente imagens" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Somente rótulos" @@ -15235,15 +15250,15 @@ msgstr "Cancelar inscrição" msgid "Subscribe" msgstr "Inscrever" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Copiar para área de transferência" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Este campo é obrigatório" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Definir como Nulo" diff --git a/netbox/translations/ru/LC_MESSAGES/django.mo b/netbox/translations/ru/LC_MESSAGES/django.mo index 0d1053c22..220800442 100644 Binary files a/netbox/translations/ru/LC_MESSAGES/django.mo and b/netbox/translations/ru/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/ru/LC_MESSAGES/django.po b/netbox/translations/ru/LC_MESSAGES/django.po index 9de842975..2e8dd535b 100644 --- a/netbox/translations/ru/LC_MESSAGES/django.po +++ b/netbox/translations/ru/LC_MESSAGES/django.po @@ -8,21 +8,20 @@ # nvoff, 2024 # Михаил Башкиров, 2024 # Сергей Стрельцов, 2024 -# Ivan Petrov, 2024 # Madi Tuleu, 2024 # stavr666, 2024 -# Alexander Ryazanov (alryaz) , 2024 -# Artem Kotik, 2024 # Jeremy Stretch, 2024 +# Artem Kotik, 2024 +# Alexander Ryazanov (alryaz) , 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Jeremy Stretch, 2024\n" +"Last-Translator: Alexander Ryazanov (alryaz) , 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" @@ -95,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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -109,7 +108,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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 +119,8 @@ msgid "Active" msgstr "Активный" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Оффлайн" @@ -134,7 +133,7 @@ msgstr "Вывод из эксплуатации" msgid "Decommissioned" msgstr "Списан" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Основной" @@ -340,7 +339,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -578,8 +577,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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -616,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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -673,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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -823,7 +822,7 @@ msgstr "Параметры Службы" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -1406,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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1547,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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1628,7 +1627,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Неисправно" @@ -1953,7 +1952,7 @@ msgstr "Необходимо загрузить файл или выбрать msgid "Rack Elevations" msgstr "Фасады стоек" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -2531,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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Вывод из эксплуатации" @@ -2595,7 +2594,7 @@ msgstr "Выведенный(-ая) из использования" msgid "Millimeters" msgstr "Миллиметры" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Дюймы" @@ -2617,9 +2616,9 @@ msgstr "Сзади вперед" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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 @@ -2649,15 +2648,15 @@ msgstr "Родитель" msgid "Child" msgstr "Потомок" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Вид спереди" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2685,7 +2684,7 @@ msgid "Side to rear" msgstr "Бок назад" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Пассивный" @@ -2693,15 +2692,15 @@ msgstr "Пассивный" msgid "Mixed" msgstr "Смешанный" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (не блокирующий)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (блокирующий)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Калифорнийский стиль" @@ -2709,42 +2708,42 @@ msgstr "Калифорнийский стиль" msgid "International/ITA" msgstr "ITA/Международный" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Проприетарный" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Другой" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/Международный" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Физический" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Виртуальный" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Беспроводной" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Виртуальные интерфейсы" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2754,27 +2753,27 @@ msgstr "Виртуальные интерфейсы" msgid "Bridge" msgstr "Мост" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Группа агрегации линков (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (фиксированный)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (модульный)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (объединительная плата)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Сотовая связь" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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 @@ -2782,129 +2781,130 @@ msgstr "Сотовая связь" msgid "Serial" msgstr "Серийный" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Коаксиальный" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Стекирование" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Полу" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Полный" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Авто" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Доступ" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Тегированный (все)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "Стандарт IEEE" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "Пассивный режим 24 В (2 пары)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "Пассивное напряжение 24 В (4 пары)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "Пассивное напряжение 48 В (2 пары)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "Пассивное напряжение 48 В (4 пары)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Медь" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Оптоволоконное" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Волокно" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Подключено" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Километры" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Метры" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Сантиметры" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Мили" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Футы" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Килограммы" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Граммы" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Фунты" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Унции" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Резервный" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Однофазный" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Трехфазный" @@ -3274,7 +3274,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3353,7 +3353,7 @@ msgid "LAG interface (ID)" msgstr "Интерфейс LAG (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Виртуальный контекст" @@ -3428,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3475,9 +3475,9 @@ msgstr "Часовой пояс" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3601,9 +3601,9 @@ msgstr "Нумерация" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3693,7 +3693,7 @@ msgstr "Стойка" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Аппаратное обеспечение" @@ -3801,15 +3801,15 @@ msgstr "Платформа" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3883,7 +3883,7 @@ msgstr "Тип модуля" #: netbox/templates/extras/customfield.html:26 #: netbox/templates/generic/bulk_import.html:162 msgid "Label" -msgstr "Этикетка" +msgstr "Лейбл" #: netbox/dcim/forms/bulk_edit.py:808 netbox/dcim/forms/filtersets.py:1068 #: netbox/templates/dcim/cable.html:50 @@ -3953,7 +3953,7 @@ msgstr "Распределенная потребляемая мощность ( #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Порт питания" @@ -4041,14 +4041,14 @@ msgstr "Режим" msgid "VLAN group" msgstr "Группа VLAN" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN без тегов" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4067,7 +4067,7 @@ msgid "Wireless LANs" msgstr "Беспроводные LANы" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4076,24 +4076,24 @@ msgid "Addressing" msgstr "Адресация" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Операция" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Связанные интерфейсы" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4223,7 +4223,7 @@ msgstr "Единица измерения веса модуля" #: netbox/dcim/forms/bulk_import.py:454 msgid "Limit platform assignments to this manufacturer" -msgstr "Ограничьте назначение платформ этому производителю" +msgstr "Ограничьте назначение платформ этим производителем" #: netbox/dcim/forms/bulk_import.py:476 netbox/dcim/forms/bulk_import.py:1425 #: netbox/tenancy/forms/bulk_import.py:106 @@ -4395,7 +4395,7 @@ msgstr "Физическая среда" #: netbox/dcim/forms/bulk_import.py:868 netbox/dcim/forms/filtersets.py:1365 msgid "Duplex" -msgstr "Двухуровневый" +msgstr "Дуплекс" #: netbox/dcim/forms/bulk_import.py:873 msgid "Poe mode" @@ -4432,7 +4432,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "В ПОСТОЯННОГО ТОКА {vdc} не присвоено устройству {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Задний порт" @@ -4446,7 +4446,7 @@ msgstr "Соответствующий задний порт" msgid "Physical medium classification" msgstr "Классификация физических сред" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Установленное устройство" @@ -4535,7 +4535,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4565,6 +4565,28 @@ msgstr "Тип питания (AC/DC)" msgid "Single or three-phase" msgstr "Однофазный или трехфазный" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "Основной IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "Адрес IPv4 с маской, напр. 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "Основной IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4729,11 +4751,11 @@ msgstr "Вид" msgid "Mgmt only" msgstr "Только менеджмент" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" -msgstr "Глобальное уникальное имя" +msgstr "Глобальное уникальное имя (WWN)" #: netbox/dcim/forms/filtersets.py:1409 msgid "Wireless channel" @@ -4763,7 +4785,7 @@ msgstr "Мощность передачи (дБм)" msgid "Cable" msgstr "Кабель" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Обнаружено" @@ -4851,7 +4873,7 @@ msgstr "Шаблон интерфейса" #: netbox/dcim/forms/model_forms.py:1119 msgid "Power outlet template" -msgstr "Шаблон розетки" +msgstr "Шаблон розетки питания" #: netbox/dcim/forms/model_forms.py:1127 msgid "Power port template" @@ -4861,8 +4883,8 @@ msgstr "Шаблон порта питания" msgid "Rear port template" msgstr "Шаблон заднего порта" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4886,7 +4908,7 @@ msgstr "Шаблон заднего порта" msgid "Interface" msgstr "Интерфейс" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4894,14 +4916,14 @@ msgstr "Интерфейс" msgid "Console Port" msgstr "Консольный порт" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Порт консольного сервера" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4912,8 +4934,8 @@ msgstr "Порт консольного сервера" msgid "Front Port" msgstr "Передний порт" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4925,24 +4947,24 @@ msgstr "Передний порт" msgid "Rear Port" msgstr "Задний порт" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Порт питания" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Розетка питания" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Назначение компонентов" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "Инвентарный номер можно присвоить только одному компоненту." @@ -4950,11 +4972,15 @@ msgstr "Инвентарный номер можно присвоить толь msgid "LAG interface" msgstr "Интерфейс LAG" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Фильтровать доступные к назначению VLAN-ы по группе." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Дочернее устройство" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4962,44 +4988,32 @@ msgstr "" "Сначала необходимо создать дочерние устройства и назначить их сайту и стойке" " родительского устройства." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Консольный порт" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Порт консольного сервера" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Передний порт" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Розетка питания" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Комплектующие" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Роли комплектующих" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "Основной IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "Основной IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5060,7 +5074,7 @@ msgstr "" "соответствовать выбранному количеству положений задних портов " "({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -5088,7 +5102,7 @@ msgstr "Должность должна быть указана для перв #: netbox/dcim/models/device_components.py:63 #: netbox/extras/models/customfields.py:111 msgid "label" -msgstr " Метка" +msgstr " лейбл" #: netbox/dcim/models/cables.py:71 msgid "length" @@ -5096,7 +5110,7 @@ msgstr "Длина" #: netbox/dcim/models/cables.py:78 msgid "length unit" -msgstr "длина единицы" +msgstr "единица длины" #: netbox/dcim/models/cables.py:95 msgid "cable" @@ -5147,7 +5161,7 @@ msgid "" "Duplicate termination found for {app_label}.{model} {termination_id}: cable " "{cable_pk}" msgstr "" -"Обнаружен дубликат увольнения для {app_label}.{model} {termination_id}: " +"Обнаружен дубликат подключения для {app_label}.{model} {termination_id}: " "кабель {cable_pk}" #: netbox/dcim/models/cables.py:343 @@ -5193,7 +5207,7 @@ msgstr "" #: netbox/dcim/models/device_component_templates.py:58 #: netbox/dcim/models/device_components.py:66 msgid "Physical label" -msgstr "Физическая этикетка" +msgstr "Физический лейбл" #: netbox/dcim/models/device_component_templates.py:103 msgid "Component templates cannot be moved to a different device type." @@ -5267,24 +5281,24 @@ msgstr "Фаза (для трехфазных)" #: netbox/dcim/models/device_component_templates.py:358 msgid "power outlet template" -msgstr "шаблон розетки" +msgstr "шаблон розетки питания" #: netbox/dcim/models/device_component_templates.py:359 msgid "power outlet templates" -msgstr "шаблоны розеток" +msgstr "шаблоны розеток питания" #: netbox/dcim/models/device_component_templates.py:368 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device type" msgstr "" -"Родительский порт питания ({power_port}) должно принадлежать к тому же типу " +"Родительский порт питания ({power_port}) должен принадлежать тому же типу " "устройства" #: netbox/dcim/models/device_component_templates.py:372 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same module type" msgstr "" -"Родительский порт питания ({power_port}) должен принадлежать к одному типу " +"Родительский порт питания ({power_port}) должен принадлежать тому же типу " "модулей" #: netbox/dcim/models/device_component_templates.py:424 @@ -5498,18 +5512,18 @@ msgstr "порты питания" #: netbox/dcim/models/device_components.py:488 msgid "power outlet" -msgstr "розетка" +msgstr "розетка питания" #: netbox/dcim/models/device_components.py:489 msgid "power outlets" -msgstr "розетки" +msgstr "розетки питания" #: netbox/dcim/models/device_components.py:500 #, python-brace-format msgid "Parent power port ({power_port}) must belong to the same device" msgstr "" -"Родительский порт питания ({power_port}) должно принадлежать одному и тому " -"же устройству" +"Родительский порт питания ({power_port}) должен принадлежать тому же " +"устройству" #: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81 #: netbox/vpn/models/crypto.py:226 @@ -5538,7 +5552,7 @@ msgstr "скорость (Кбит/с)" #: netbox/dcim/models/device_components.py:621 msgid "duplex" -msgstr "дюплекс" +msgstr "дуплекс" #: netbox/dcim/models/device_components.py:631 msgid "64-bit World Wide Name" @@ -5990,8 +6004,7 @@ msgstr "роли устройств" #: netbox/dcim/models/devices.py:515 msgid "Optionally limit this platform to devices of a certain manufacturer" msgstr "" -"Опционально ограничьте эту платформу устройствами определенного " -"производителя" +"Опционально ограничьте эту платформу устройствам определенного производителя" #: netbox/dcim/models/devices.py:527 msgid "platform" @@ -6007,7 +6020,7 @@ msgstr "Функция, которую выполняет это устройс #: netbox/dcim/models/devices.py:608 msgid "Chassis serial number, assigned by the manufacturer" -msgstr "Серийный номер корпуса, присвоенный производителем" +msgstr "Серийный номер шасси, присвоенный производителем" #: netbox/dcim/models/devices.py:616 netbox/dcim/models/devices.py:1182 msgid "A unique tag used to identify this device" @@ -6671,7 +6684,7 @@ msgstr "Шаблон конфигурации" msgid "Site Group" msgstr "Группа сайтов" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6680,12 +6693,12 @@ msgstr "Группа сайтов" msgid "IP Address" msgstr "IP-адрес" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Адрес IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Адрес IPv6" @@ -6723,7 +6736,7 @@ msgstr "Порты питания" msgid "Power outlets" msgstr "Розетки питания" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6830,28 +6843,28 @@ msgstr "Только управление" msgid "VDCs" msgstr "Виртуальные контексты устройств(VDCs)" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Установленный модуль" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Серийный номер модуля" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Тег активов модуля" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Состояние модуля" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Компонент" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Предметы" @@ -7553,7 +7566,7 @@ msgstr "Название группы" #: netbox/templates/extras/customfield.html:38 #: netbox/templates/generic/bulk_import.html:118 msgid "Required" -msgstr "Требуется" +msgstr "Обязательно" #: netbox/extras/forms/bulk_edit.py:48 netbox/extras/forms/filtersets.py:75 msgid "Must be unique" @@ -7720,8 +7733,8 @@ msgid "" "Quoted string of comma-separated field choices with optional labels " "separated by colon: \"choice1:First Choice,choice2:Second Choice\"" msgstr "" -"Цитируемая строка с вариантами выбора полей, разделенных запятыми, с " -"дополнительными метками, разделенными двоеточием: «Choice1:First Choice, " +"Строка, заключенная в кавычки, с вариантами значений полей, разделенных " +"запятыми, с дополнительными метками через двоеточие: «Choice1:First Choice, " "Choice2:Second Choice»" #: netbox/extras/forms/bulk_import.py:123 netbox/extras/models/models.py:323 @@ -7946,7 +7959,7 @@ msgid "" "choice by appending it with a colon. Example:" msgstr "" "Введите по одному варианту в строке. Для каждого варианта можно указать " -"дополнительную метку, добавив ее двоеточием. Пример:" +"дополнительный лейбл через двоеточие. Пример:" #: netbox/extras/forms/model_forms.py:212 #: netbox/templates/extras/customlink.html:10 @@ -10453,7 +10466,7 @@ msgstr "В форме должны быть указаны диапазоны ( msgid "Range boundaries must be defined as integers." msgstr "Границы диапазона должны быть определены целыми числами." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} должен реализовать функцию get_view_name ()" @@ -10772,7 +10785,7 @@ msgid "" "Tag slugs separated by commas, encased with double quotes (e.g. " "\"tag1,tag2,tag3\")" msgstr "" -"Метки тегов разделены запятыми и заключены в двойные кавычки (например, " +"Подстрока тегов разделены запятыми и заключены в двойные кавычки (например, " "«tag1, tag2, tag3\")" #: netbox/netbox/forms/base.py:120 @@ -10808,32 +10821,32 @@ msgstr "Настраиваемое поле '{name}'должно иметь ун msgid "Missing required custom field '{name}'." msgstr "Отсутствует обязательное настраиваемое поле '{name}'." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Удаленный источник данных" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "путь к данным" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Путь к удаленному файлу (относительно корня источника данных)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "автоматическая синхронизация включена" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Включить автоматическую синхронизацию данных при обновлении файла данных" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "дата синхронизирована" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} должен реализовать метод sync_data ()." @@ -10852,7 +10865,7 @@ msgstr "Группы арендаторов" #: netbox/netbox/navigation/menu.py:34 msgid "Contact Groups" -msgstr "Контактные группы" +msgstr "Группы контактов" #: netbox/netbox/navigation/menu.py:35 #: netbox/templates/tenancy/contactrole.html:8 @@ -11302,15 +11315,15 @@ msgstr "" #: netbox/netbox/registry.py:14 #, python-brace-format msgid "Invalid store: {key}" -msgstr "Неверный магазин: {key}" +msgstr "Неверное хранилище: {key}" #: netbox/netbox/registry.py:17 msgid "Cannot add stores to registry after initialization" -msgstr "Невозможно добавить магазины в реестр после инициализации" +msgstr "Невозможно добавить хранилище в реестр после инициализации" #: netbox/netbox/registry.py:20 msgid "Cannot delete stores from registry" -msgstr "Невозможно удалить магазины из реестра" +msgstr "Невозможно удалить хранилище из реестра" #: netbox/netbox/settings.py:762 msgid "Czech" @@ -11400,7 +11413,7 @@ msgstr "Поле" #: netbox/netbox/tables/tables.py:252 msgid "Value" -msgstr "Ценность" +msgstr "Значение" #: netbox/netbox/tests/dummy_plugin/navigation.py:29 msgid "Dummy Plugin" @@ -12537,7 +12550,7 @@ msgstr "Добавить отсеки для модулей" #: netbox/templates/dcim/device/poweroutlets.html:24 msgid "Add Power Outlets" -msgstr "Добавить розетки" +msgstr "Добавить розетки питания" #: netbox/templates/dcim/device/powerports.html:24 msgid "Add Power Port" @@ -12577,7 +12590,7 @@ msgid "Parent Bay" msgstr "Родительский залив" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Сгенерировать Подстроку" @@ -12922,17 +12935,17 @@ msgstr "Максимальный вес" msgid "Total Weight" msgstr "Общий вес" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Изображения и лейблы" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Только изображения" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Только лейблы" @@ -14475,7 +14488,7 @@ msgstr "Родительская группа арендаторов (ID)" #: netbox/tenancy/filtersets.py:176 msgid "Parent tenant group (slug)" -msgstr "Родительская группа арендаторов (короткая метка)" +msgstr "Родительская группа арендаторов (подстрока)" #: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202 msgid "Tenant group (ID)" @@ -15160,13 +15173,13 @@ msgid "" "Invalid permission name: {name}. Must be in the format " "._" msgstr "" -"Неверное имя разрешения: {name}. Должно быть в формате " +"Неверное имя правила доступа: {name}. Должно быть в формате " "._" #: netbox/utilities/permissions.py:60 #, python-brace-format msgid "Unknown app_label/model_name for {name}" -msgstr "Неизвестное app_label/имя_модели для {name}" +msgstr "Неизвестный app_label/model_name для {name}" #: netbox/utilities/request.py:76 #, python-brace-format @@ -15218,15 +15231,15 @@ msgstr "Отписаться" msgid "Subscribe" msgstr "Подписаться" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Скопировать в буфер обмена" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Это поле обязательно" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Установить значение Null" diff --git a/netbox/translations/tr/LC_MESSAGES/django.mo b/netbox/translations/tr/LC_MESSAGES/django.mo index b60c9aa96..34455578e 100644 Binary files a/netbox/translations/tr/LC_MESSAGES/django.mo and b/netbox/translations/tr/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/tr/LC_MESSAGES/django.po b/netbox/translations/tr/LC_MESSAGES/django.po index 9664e4f81..d0f79a747 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-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 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" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -104,7 +104,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Birincil" @@ -335,7 +335,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -573,8 +573,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -818,7 +818,7 @@ msgstr "Servis Parametreleri" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1540,7 @@ 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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1619,7 +1619,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Başarısız" @@ -1945,7 +1945,7 @@ msgstr "" msgid "Rack Elevations" msgstr "Raf Yükseltmeleri" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Hizmetten çıkarma" @@ -2584,7 +2584,7 @@ msgstr "Kullanımdan kaldırıldı" msgid "Millimeters" msgstr "Milimetre" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "İnç" @@ -2606,9 +2606,9 @@ msgstr "Arkadan öne" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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 @@ -2638,15 +2638,15 @@ msgstr "Ebeveyn" msgid "Child" msgstr "Çocuk" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Ön" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2674,7 +2674,7 @@ msgid "Side to rear" msgstr "Yandan arkaya" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Pasif" @@ -2682,15 +2682,15 @@ msgstr "Pasif" msgid "Mixed" msgstr "Karışık" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (Kilitsiz)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (Kilitleme)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Kaliforniya Tarzı" @@ -2698,42 +2698,42 @@ msgstr "Kaliforniya Tarzı" msgid "International/ITA" msgstr "Uluslararası/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Tescilli" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Diğer" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/Uluslararası" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Fiziksel" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Sanal" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Kablosuz" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Sanal arayüzler" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2743,27 +2743,27 @@ msgstr "Sanal arayüzler" msgid "Bridge" msgstr "Köprü" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Bağlantı Toplama Grubu (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (sabit)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (modüler)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (arka panel)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Hücresel" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2771,130 @@ msgstr "Hücresel" msgid "Serial" msgstr "Seri" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Koaksiyel" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "İstifleme" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Yarım" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Dolu" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Oto" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Erişim" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Etiketlenmiş (Tümü)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "IEEE Standardı" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "Pasif 24V (2 çift)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "Pasif 24V (4 çift)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "Pasif 48V (2 çift)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "Pasif 48V (4 çift)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Bakır" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Fiber Optik" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Fiber" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Bağlı" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Kilometre" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Sayaçlar" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Santimetre" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Mil" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Feet" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Kilogram" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Gramlar" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Pound'lar" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "ons" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Yedekli" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Tek fazlı" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Üç fazlı" @@ -3263,7 +3264,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3342,7 +3343,7 @@ msgid "LAG interface (ID)" msgstr "LAG arabirimi (ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Sanal Cihaz Bağlamı" @@ -3417,7 +3418,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3464,9 +3465,9 @@ msgstr "Saat dilimi" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3590,9 +3591,9 @@ msgstr "Numaralandırma" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3682,7 +3683,7 @@ msgstr "Raf" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Donanım" @@ -3790,15 +3791,15 @@ msgstr "Platform" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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,7 +3943,7 @@ msgstr "Tahsis edilen güç çekimi (watt)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Güç bağlantı noktası" @@ -4030,14 +4031,14 @@ msgstr "Modu" msgid "VLAN group" msgstr "VLAN grubu" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "Etiketsiz VLAN" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4056,7 +4057,7 @@ msgid "Wireless LANs" msgstr "Kablosuz LAN'lar" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4065,24 +4066,24 @@ msgid "Addressing" msgstr "Adresleme" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Operasyon" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "İlgili Arayüzler" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4421,7 +4422,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} cihaza atanmadı {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Arka bağlantı noktası" @@ -4435,7 +4436,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:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Yüklü cihaz" @@ -4524,7 +4525,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4554,6 +4555,28 @@ msgstr "Besleme tipi (AC/DC)" msgid "Single or three-phase" msgstr "Tek veya üç fazlı" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "Birincil IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "Maskeli IPv4 adresi, örn. 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "Birincil IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4716,7 +4739,7 @@ msgstr "Tür" msgid "Mgmt only" msgstr "Sadece Mgmt" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4750,7 +4773,7 @@ msgstr "İletim gücü (dBm)" msgid "Cable" msgstr "Kablo" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Keşfedildi" @@ -4848,8 +4871,8 @@ msgstr "Güç bağlantı noktası şablonu" msgid "Rear port template" msgstr "Arka bağlantı noktası şablonu" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4873,7 +4896,7 @@ msgstr "Arka bağlantı noktası şablonu" msgid "Interface" msgstr "Arayüz" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4881,14 +4904,14 @@ msgstr "Arayüz" msgid "Console Port" msgstr "Konsol Bağlantı Noktası" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Konsol Sunucusu Bağlantı Noktası" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4899,8 +4922,8 @@ msgstr "Konsol Sunucusu Bağlantı Noktası" msgid "Front Port" msgstr "Ön Bağlantı Noktası" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4912,24 +4935,24 @@ msgstr "Ön Bağlantı Noktası" msgid "Rear Port" msgstr "Arka Bağlantı Noktası" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Güç Bağlantı Noktası" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Güç Çıkışı" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Bileşen Ataması" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "Bir InventoryItem yalnızca tek bir bileşene atanabilir." @@ -4937,11 +4960,15 @@ msgstr "Bir InventoryItem yalnızca tek bir bileşene atanabilir." msgid "LAG interface" msgstr "LAG arayüzü" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Gruba göre atama için mevcut VLAN'ları filtreleyin." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Çocuk Cihazı" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4949,44 +4976,32 @@ msgstr "" "Alt aygıtlar önce oluşturulmalı ve ana aygıtın sahasına ve rafına " "atanmalıdır." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Konsol bağlantı noktası" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Konsol sunucusu bağlantı noktası" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Ön bağlantı noktası" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Güç çıkışı" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Envanter Öğesi" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Envanter Öğesi Rolü" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "Birincil IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "Birincil IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5045,7 +5060,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:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -6613,7 +6628,7 @@ msgstr "Yapılandırma Şablonu" msgid "Site Group" msgstr "Site Grubu" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6622,12 +6637,12 @@ msgstr "Site Grubu" msgid "IP Address" msgstr "IP Adresi" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4 Adresi" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6 Adresi" @@ -6665,7 +6680,7 @@ msgstr "Güç bağlantı noktaları" msgid "Power outlets" msgstr "Elektrik prizleri" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6772,28 +6787,28 @@ msgstr "Yalnızca Yönetim" msgid "VDCs" msgstr "VDC'ler" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Yüklü Modül" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Modül Seri" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Modül Varlık Etiketi" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Modül Durumu" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Bileşen" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Öğeler" @@ -10374,7 +10389,7 @@ msgstr "Aralıklar formda belirtilmelidir (alt, üst)." msgid "Range boundaries must be defined as integers." msgstr "Menzil sınırları tamsayılar olarak tanımlanmalıdır." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} get_view_name () uygulamasını uygulamalıdır" @@ -10727,33 +10742,33 @@ msgstr "Özel alan '{name}'benzersiz bir değere sahip olmalıdır." msgid "Missing required custom field '{name}'." msgstr "Gerekli özel alan eksik '{name}'." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Uzak veri kaynağı" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "veri yolu" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Uzak dosyanın yolu (veri kaynağı köküne göre)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "otomatik senkronizasyon etkin" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "" "Veri dosyası güncellendiğinde verilerin otomatik senkronizasyonunu " "etkinleştir" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "senkronize edilen tarih" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} bir sync_data () yöntemi uygulamalıdır." @@ -12496,7 +12511,7 @@ msgid "Parent Bay" msgstr "Ebeveyn Körfezi" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Yeniden kısa ad oluştur" @@ -12841,17 +12856,17 @@ msgstr "Maksimum Ağırlık" msgid "Total Weight" msgstr "Toplam Ağırlık" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Resimler ve Etiketler" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Yalnızca resimler" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Yalnızca etiketler" @@ -15121,15 +15136,15 @@ msgstr "Aboneliği iptal et" msgid "Subscribe" msgstr "Abone ol" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Panoya kopyala" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Bu alan zorunludur" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Sıfır Ayarla" diff --git a/netbox/translations/uk/LC_MESSAGES/django.mo b/netbox/translations/uk/LC_MESSAGES/django.mo index f5555e3b8..2847adf1a 100644 Binary files a/netbox/translations/uk/LC_MESSAGES/django.mo and b/netbox/translations/uk/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/uk/LC_MESSAGES/django.po b/netbox/translations/uk/LC_MESSAGES/django.po index 98e85b167..6786b1492 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 -# Jeremy Stretch, 2024 # Vladyslav V. Prodan, 2024 +# Jeremy Stretch, 2024 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 05:02+0000\n" "PO-Revision-Date: 2023-10-30 17:48+0000\n" -"Last-Translator: Vladyslav V. Prodan, 2024\n" +"Last-Translator: Jeremy Stretch, 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" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -103,7 +103,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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 "Активний" #: netbox/circuits/choices.py:24 netbox/dcim/choices.py:183 -#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 netbox/virtualization/choices.py:24 #: netbox/virtualization/choices.py:43 msgid "Offline" msgstr "Офлайн" @@ -128,7 +128,7 @@ msgstr "Зняття резервування" msgid "Decommissioned" msgstr "Виведені з експлуатації" -#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "Первинний" @@ -334,7 +334,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -572,8 +572,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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -817,7 +817,7 @@ msgstr "Параметри обслуговування" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1542,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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1621,7 +1621,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "Збій" @@ -1945,7 +1945,7 @@ msgstr "Потрібно завантажити файл або вибрати msgid "Rack Elevations" msgstr "Висота стійки" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "Виведення з експлуатації" @@ -2585,7 +2585,7 @@ msgstr "Застарілий" msgid "Millimeters" msgstr "Міліметри" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "Дюйми" @@ -2607,9 +2607,9 @@ msgstr "Ззаду спереду" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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,15 +2639,15 @@ msgstr "Прабатько" msgid "Child" msgstr "Підпорядкований" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "Спереду" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2675,7 +2675,7 @@ msgid "Side to rear" msgstr "Збоку ззаду" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "Пасивний" @@ -2683,15 +2683,15 @@ msgstr "Пасивний" msgid "Mixed" msgstr "Змішаний" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA (без блокування)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA (з блокуванням)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "Каліфорнійський стиль" @@ -2699,42 +2699,42 @@ msgstr "Каліфорнійський стиль" msgid "International/ITA" msgstr "Міжнародний/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "Пропрієтарний" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "Інше" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/Міжнародні" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "Фізичний" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "Віртуальний" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "Бездротовий" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "Віртуальні інтерфейси" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2744,27 +2744,27 @@ msgstr "Віртуальні інтерфейси" msgid "Bridge" msgstr "Міст" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "Група агрегації каналів (LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "Ethernet (фіксований)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "Ethernet (модульний)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "Ethernet (панель)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "Стільниковий" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2772,130 @@ msgstr "Стільниковий" msgid "Serial" msgstr "Серійний" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "Коаксіальний" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "Укладання" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "Половина" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "Повний" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "Авто" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "Доступ" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "З мітками (Усі)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "Стандарт IEEE" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "Пасивний 24В (2-парний)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "Пасивний 24В (4-парний)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "Пасивний 48В (2-парний)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "Пасивний 48В (4-парний)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "Мідний" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "Волоконно-оптичний" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "Волоконний" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "Підключений" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "Кілометри" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "Метри" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "Сантиметри" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "Милі" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "Фути" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "Кілограми" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "Грами" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "Фунтів" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "Унцій" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "Надлишковий" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "Однофазний" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "Трифазний" @@ -3264,7 +3265,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3343,7 +3344,7 @@ msgid "LAG interface (ID)" msgstr "Інтерфейс LAG (ідентіфікатор)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "Контекст віртуального пристрою" @@ -3418,7 +3419,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3465,9 +3466,9 @@ msgstr "Часовий пояс" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3591,9 +3592,9 @@ msgstr "Нумерація" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3683,7 +3684,7 @@ msgstr "Стійка" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "Апаратне забезпечення" @@ -3791,15 +3792,15 @@ msgstr "Платформа" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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 @@ -3943,7 +3944,7 @@ msgstr "Виділена споживана потужність (Вт)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "Порт живлення" @@ -4031,14 +4032,14 @@ msgstr "Режим" msgid "VLAN group" msgstr "Група VLAN" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "VLAN без міток" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4057,7 +4058,7 @@ msgid "Wireless LANs" msgstr "Бездротові локальні мережі" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4066,24 +4067,24 @@ msgid "Addressing" msgstr "Адресація" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "Операція" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "Пов'язані інтерфейси" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4426,7 +4427,7 @@ msgstr "" "{device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "Задній порт" @@ -4440,7 +4441,7 @@ msgstr "Відповідний задній порт" msgid "Physical medium classification" msgstr "Класифікація фізичного середовища" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "Встановлений пристрій" @@ -4529,7 +4530,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4559,6 +4560,28 @@ msgstr "Тип живлення (змінній/постійний струм)" msgid "Single or three-phase" msgstr "Однофазний або трифазний (струм)" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "Первинний IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "IPv4 адреса з маскою, наприклад 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "Первинний IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4721,7 +4744,7 @@ msgstr "Вид" msgid "Mgmt only" msgstr "Тільки управління" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4755,7 +4778,7 @@ msgstr "Потужність передачі (дБм)" msgid "Cable" msgstr "Кабель" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "Виявлено" @@ -4853,8 +4876,8 @@ msgstr "Шаблон порту живлення" msgid "Rear port template" msgstr "Шаблон порту ззаду" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4878,7 +4901,7 @@ msgstr "Шаблон порту ззаду" msgid "Interface" msgstr "Інтерфейс" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4886,14 +4909,14 @@ msgstr "Інтерфейс" msgid "Console Port" msgstr "Порт консолі" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Порт консольного сервера" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4904,8 +4927,8 @@ msgstr "Порт консольного сервера" msgid "Front Port" msgstr "Передній порт" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4917,24 +4940,24 @@ msgstr "Передній порт" msgid "Rear Port" msgstr "Порт ззаду" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "Порт живлення" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "Електрична розетка" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "Призначення компонентів" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "Елемент інвентаря можна призначити лише одному компоненту." @@ -4942,11 +4965,15 @@ msgstr "Елемент інвентаря можна призначити лиш msgid "LAG interface" msgstr "Інтерфейс LAG" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "Фільтр VLAN, доступних для призначення за групами." + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "Підпорядкований пристрій" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." @@ -4954,44 +4981,32 @@ msgstr "" "Підпорядковані пристрої спочатку повинні бути створені та присвоєні до тех. " "майданчику та стійки батьківського пристрою." -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Консольний порт" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Порт консольного сервера" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "Передній порт" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "Розетка живлення" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "Елемент інвентаря" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "Роль елемента інвентаря" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "Первинний IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "Первинний IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5051,7 +5066,7 @@ msgstr "" "Кількість передніх портів, які потрібно створити ({frontport_count}) повинен" " відповідати вибраній кількості позицій портів ззаду ({rearport_count})." -#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -5686,8 +5701,7 @@ msgstr "" #: netbox/dcim/models/device_components.py:886 msgid "Cannot specify custom frequency with channel selected." -msgstr "" -"Неможливо вказати користувальницьку частоту при вибраному каналі (Wi-Fi)." +msgstr "Неможливо вказати користувацьку частоту при вибраному каналі (Wi-Fi)." #: netbox/dcim/models/device_components.py:892 msgid "Channel width may be set only on wireless interfaces." @@ -5697,7 +5711,7 @@ msgstr "" #: netbox/dcim/models/device_components.py:894 msgid "Cannot specify custom width with channel selected." -msgstr "Неможливо вказати користувальницьку ширину при вибраному каналі." +msgstr "Неможливо вказати користувацьку ширину при вибраному каналі." #: netbox/dcim/models/device_components.py:902 #, python-brace-format @@ -6667,7 +6681,7 @@ msgstr "Шаблон конфігурації" msgid "Site Group" msgstr "Група тех. майданчиків" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6676,12 +6690,12 @@ msgstr "Група тех. майданчиків" msgid "IP Address" msgstr "IP-адреса" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "Адреса IPv4" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "Адреса IPv6" @@ -6719,7 +6733,7 @@ msgstr "Порти живлення" msgid "Power outlets" msgstr "Розетки" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6826,28 +6840,28 @@ msgstr "Тільки управління" msgid "VDCs" msgstr "Джерела живлення постійного струму " -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "Встановлений модуль" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "Послідовний модуль " -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "Призначеня мітки на модуль" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "Статус модуля" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "Компонент" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "Предмети" @@ -7411,8 +7425,8 @@ msgstr "Примітка" #: netbox/extras/dashboard/widgets.py:146 msgid "Display some arbitrary custom content. Markdown is supported." msgstr "" -"Відображення будь-якого довільного користувальницького вмісту. Підтримується" -" розмітка Markdown." +"Відображення будь-якого довільного користувацького вмісту. Підтримується " +"розмітка Markdown." #: netbox/extras/dashboard/widgets.py:159 msgid "Object Counts" @@ -7698,11 +7712,11 @@ msgstr "Набір для вибору (для полів виділення)" #: netbox/extras/forms/bulk_import.py:63 msgid "Whether the custom field is displayed in the UI" -msgstr "Чи відображатиметься користувальницьке поле в інтерфейсі користувача" +msgstr "Чи відображатиметься користувацьке поле в інтерфейсі користувача" #: netbox/extras/forms/bulk_import.py:69 msgid "Whether the custom field is editable in the UI" -msgstr "Чи можна редагувати користувальницьке поле в інтерфейсі користувача" +msgstr "Чи можна редагувати користувацьке поле в інтерфейсі користувача" #: netbox/extras/forms/bulk_import.py:85 msgid "The base set of predefined choices to use (if any)" @@ -7886,7 +7900,7 @@ msgstr "Групи орендарів" #: netbox/extras/forms/model_forms.py:49 msgid "The type(s) of object that have this custom field" -msgstr "Тип(и) об'єкта, які мають користувальницьке поле" +msgstr "Тип(и) об'єкта, які мають користувацьке поле" #: netbox/extras/forms/model_forms.py:52 msgid "Default value" @@ -7908,7 +7922,7 @@ msgstr "Вкажіть параметри запиту як об'єкт JSON." #: netbox/extras/forms/model_forms.py:73 #: netbox/templates/extras/customfield.html:10 msgid "Custom Field" -msgstr "Користувальницькі поля" +msgstr "Користувацьке поле" #: netbox/extras/forms/model_forms.py:85 msgid "" @@ -7941,7 +7955,7 @@ msgstr "" #: netbox/extras/forms/model_forms.py:212 #: netbox/templates/extras/customlink.html:10 msgid "Custom Link" -msgstr "Користувальницькі посилання" +msgstr "Користувацьке посилання" #: netbox/extras/forms/model_forms.py:214 msgid "Templates" @@ -8172,7 +8186,7 @@ msgstr "Об'єкт (и), до яких застосовується це пол #: netbox/extras/models/customfields.py:82 msgid "The type of data this custom field holds" -msgstr "Тип даних, які містить користувацьницьке поле" +msgstr "Тип даних, які містить користувацьке поле" #: netbox/extras/models/customfields.py:89 msgid "The type of NetBox object this field maps to (for object fields)" @@ -8189,7 +8203,7 @@ msgstr "Дозволені лише буквено-цифрові символи #: netbox/extras/models/customfields.py:104 msgid "Double underscores are not permitted in custom field names." -msgstr "Подвійне підкреслення не дозволено у користувальницьких назвах полів." +msgstr "Подвійне підкреслення не дозволено у користувацьких назвах полів." #: netbox/extras/models/customfields.py:115 msgid "" @@ -8205,7 +8219,7 @@ msgstr "назва групи" #: netbox/extras/models/customfields.py:122 msgid "Custom fields within the same group will be displayed together" -msgstr "Користувальницькі поля в одній групі відображатимуться разом" +msgstr "Користувацькі поля в одній групі відображатимуться разом" #: netbox/extras/models/customfields.py:130 msgid "required" @@ -8318,13 +8332,12 @@ msgstr "набір вибору" #: netbox/extras/models/customfields.py:210 msgid "Specifies whether the custom field is displayed in the UI" msgstr "" -"Визначає, чи відображатиметься користувальницьке поле в інтерфейсі " -"користувача" +"Визначає, чи відображатиметься користувацьке поле в інтерфейсі користувача" #: netbox/extras/models/customfields.py:217 msgid "Specifies whether the custom field value can be edited in the UI" msgstr "" -"Визначає, чи можна редагувати значення користувальницького поля в інтерфейсі" +"Визначає, чи можна редагувати значення користувацького поля в інтерфейсі" #: netbox/extras/models/customfields.py:221 msgid "is cloneable" @@ -8336,11 +8349,11 @@ msgstr "Повторюйте це значення під час клонува #: netbox/extras/models/customfields.py:239 msgid "custom field" -msgstr "користувальницьке поле" +msgstr "користувацьке поле" #: netbox/extras/models/customfields.py:240 msgid "custom fields" -msgstr "користувальницькі поля" +msgstr "користувацькі поля" #: netbox/extras/models/customfields.py:329 #, python-brace-format @@ -8487,11 +8500,11 @@ msgstr "Вибір автоматично впорядковується за а #: netbox/extras/models/customfields.py:782 msgid "custom field choice set" -msgstr "набір вибору користувальницького поля" +msgstr "набір вибору користувацького поля" #: netbox/extras/models/customfields.py:783 msgid "custom field choice sets" -msgstr "набори вибору користувальницького поля" +msgstr "набори вибору користувацького поля" #: netbox/extras/models/customfields.py:819 msgid "Must define base or extra choices." @@ -8597,10 +8610,11 @@ msgid "" "event, model, timestamp, " "username, request_id, and data." msgstr "" -"Шаблон Jinja2 для власного тіла запиту. Якщо він порожній, буде включено " -"об'єкт JSON, що представляє зміну. Доступні контекстні дані включають: " -"подія, модель, мітка часу, ім'я" -" користувача, ідентифікатор запиту, і дані." +"Шаблон Jinja2 для користувацького тіла запиту. Якщо він порожній, буде " +"включено об'єкт JSON, що представляє зміну. Доступні контекстні дані " +"включають: подія, модель, мітка часу," +" ім'я користувача, ідентифікатор запиту, і " +"дані." #: netbox/extras/models/models.py:204 msgid "secret" @@ -8678,11 +8692,11 @@ msgstr "Примусове відкриття посилання в новому #: netbox/extras/models/models.py:341 msgid "custom link" -msgstr "користувальницьке посилання" +msgstr "користувацьке посилання" #: netbox/extras/models/models.py:342 msgid "custom links" -msgstr "користувальницькі посилання" +msgstr "користувацькі посилання" #: netbox/extras/models/models.py:389 msgid "The object type(s) to which this template applies." @@ -9093,8 +9107,7 @@ msgstr "Правила перевірки повинні бути передан #, python-brace-format msgid "Custom validation failed for {attribute}: {exception}" msgstr "" -"Користувальницька перевірка зіткнулася з невдачею через{attribute}: " -"{exception}" +"Користувацька перевірка зіткнулася з невдачею через{attribute}: {exception}" #: netbox/extras/validators.py:134 #, python-brace-format @@ -9837,7 +9850,7 @@ msgstr "З шаблону" #: netbox/ipam/forms/model_forms.py:743 msgid "Custom" -msgstr "Користувальницький" +msgstr "Користувацький" #: netbox/ipam/forms/model_forms.py:773 msgid "" @@ -10436,7 +10449,7 @@ msgstr "Діапазони повинні бути вказані в формі msgid "Range boundaries must be defined as integers." msgstr "Межі діапазону повинні бути визначені як цілі числа." -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} повинен реалізувати get_view_name()" @@ -10648,11 +10661,11 @@ msgstr "Максимальний розмір сторінки" #: netbox/netbox/config/parameters.py:150 #: netbox/templates/core/inc/config_data.html:96 msgid "Custom validators" -msgstr "Користувальницькі перевіряючі" +msgstr "Користувацькі перевіряючі" #: netbox/netbox/config/parameters.py:152 msgid "Custom validation rules (JSON)" -msgstr "Користувальницькі правила перевірки (у форматі JSON)" +msgstr "Користувацькі правила перевірки (у форматі JSON)" #: netbox/netbox/config/parameters.py:160 #: netbox/templates/core/inc/config_data.html:104 @@ -10777,43 +10790,43 @@ msgstr "Невідоме ім'я поля '{name}' у призначених д #: netbox/netbox/models/features.py:286 #, python-brace-format msgid "Invalid value for custom field '{name}': {error}" -msgstr "Невірне значення для користувальницького поля '{name}': {error}" +msgstr "Невірне значення для користувацького поля '{name}': {error}" #: netbox/netbox/models/features.py:295 #, python-brace-format msgid "Custom field '{name}' must have a unique value." -msgstr "Користувальницьке поле '{name}' має мати унікальне значення." +msgstr "Користувацьке поле '{name}' має мати унікальне значення." #: netbox/netbox/models/features.py:302 #, python-brace-format msgid "Missing required custom field '{name}'." -msgstr "Відсутнє обов'язкове користувальницьке поле '{name}'." +msgstr "Відсутнє обов'язкове користувацьке поле '{name}'." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "Віддалене джерело даних" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "шлях даних" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "Шляху до віддаленого файлу (відносно кореня джерела даних)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "увімкнено автоматичну синхронізацію" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "Увімкнути автоматичну синхронізацію даних при оновленні файлу даних" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "дата синхронізована" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name} повинен реалізувати метод sync_data ()." @@ -11061,15 +11074,15 @@ msgstr "Налаштування" #: netbox/templates/ipam/ipaddress_bulk_add.html:35 #: netbox/templates/ipam/vlan_edit.html:59 msgid "Custom Fields" -msgstr "Користувальницькі поля" +msgstr "Користувацькі поля" #: netbox/netbox/navigation/menu.py:326 msgid "Custom Field Choices" -msgstr "Вибір користувальницьких полів" +msgstr "Вибір користувацьких полів" #: netbox/netbox/navigation/menu.py:327 msgid "Custom Links" -msgstr "Користувальницькі посилання" +msgstr "Користувацькі посилання" #: netbox/netbox/navigation/menu.py:328 msgid "Export Templates" @@ -12553,7 +12566,7 @@ msgid "Parent Bay" msgstr "Батьківська бухта" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "Відновити слимака" @@ -12898,17 +12911,17 @@ msgstr "Максимальна вага" msgid "Total Weight" msgstr "Загальна вага" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "Зображення та етикетки" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "Лише зображення" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "Тільки етикетки" @@ -14784,7 +14797,7 @@ msgstr "Користувач з цим ім'ям користувача вже #: netbox/users/tables.py:98 msgid "Custom Actions" -msgstr "Користувальницькі дії" +msgstr "Користувацькі дії" #: netbox/utilities/api.py:153 #, python-brace-format @@ -15187,15 +15200,15 @@ msgstr "Відписатися" msgid "Subscribe" msgstr "Підписатися" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "Копіювати в буфер обміну" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "Це поле обов'язкове для заповнення" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "Встановити нуль" diff --git a/netbox/translations/zh/LC_MESSAGES/django.mo b/netbox/translations/zh/LC_MESSAGES/django.mo index 74fec4f74..614b4d487 100644 Binary files a/netbox/translations/zh/LC_MESSAGES/django.mo and b/netbox/translations/zh/LC_MESSAGES/django.mo differ diff --git a/netbox/translations/zh/LC_MESSAGES/django.po b/netbox/translations/zh/LC_MESSAGES/django.po index ad19ef97c..784313a74 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-12 05:02+0000\n" +"POT-Creation-Date: 2024-09-25 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" @@ -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:1518 -#: netbox/dcim/choices.py:1594 netbox/dcim/choices.py:1644 +#: netbox/dcim/choices.py:231 netbox/dcim/choices.py:1522 +#: netbox/dcim/choices.py:1598 netbox/dcim/choices.py:1648 #: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45 #: netbox/vpn/choices.py:18 msgid "Planned" @@ -110,7 +110,7 @@ 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:1593 netbox/dcim/choices.py:1643 +#: netbox/dcim/choices.py:1597 netbox/dcim/choices.py:1647 #: 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:1592 -#: netbox/dcim/choices.py:1645 netbox/virtualization/choices.py:24 +#: netbox/dcim/choices.py:229 netbox/dcim/choices.py:1596 +#: netbox/dcim/choices.py:1649 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:1605 +#: netbox/circuits/choices.py:90 netbox/dcim/choices.py:1609 #: netbox/tenancy/choices.py:17 msgid "Primary" msgstr "主要联系人" @@ -341,7 +341,7 @@ 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:277 +#: netbox/ipam/forms/model_forms.py:449 netbox/netbox/filtersets.py:280 #: 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 @@ -579,8 +579,8 @@ 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:700 netbox/dcim/tables/devices.py:757 -#: netbox/dcim/tables/devices.py:999 netbox/dcim/tables/devicetypes.py:250 +#: 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/extras/forms/bulk_edit.py:270 netbox/extras/tables/tables.py:443 #: netbox/templates/circuits/circuittype.html:30 @@ -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:810 netbox/dcim/tables/power.py:77 +#: netbox/dcim/tables/devices.py:811 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 @@ -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:813 -#: netbox/dcim/tables/devices.py:1059 netbox/dcim/tables/modules.py:69 +#: 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/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 @@ -824,7 +824,7 @@ msgstr "服务参数" #: netbox/circuits/forms/model_forms.py:183 #: netbox/dcim/forms/model_forms.py:139 netbox/dcim/forms/model_forms.py:181 #: netbox/dcim/forms/model_forms.py:266 netbox/dcim/forms/model_forms.py:323 -#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1691 +#: netbox/dcim/forms/model_forms.py:768 netbox/dcim/forms/model_forms.py:1692 #: netbox/ipam/forms/model_forms.py:64 netbox/ipam/forms/model_forms.py:81 #: netbox/ipam/forms/model_forms.py:115 netbox/ipam/forms/model_forms.py:136 #: netbox/ipam/forms/model_forms.py:160 netbox/ipam/forms/model_forms.py:232 @@ -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:727 -#: netbox/dcim/tables/devices.py:774 netbox/dcim/tables/devices.py:837 -#: netbox/dcim/tables/devices.py:907 netbox/dcim/tables/devices.py:970 -#: netbox/dcim/tables/devices.py:990 netbox/dcim/tables/devices.py:1019 -#: netbox/dcim/tables/devices.py:1049 netbox/dcim/tables/devicetypes.py:32 +#: 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/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,7 +1545,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:1032 +#: 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/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39 #: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:84 @@ -1624,7 +1624,7 @@ 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:1595 netbox/virtualization/choices.py:47 +#: netbox/dcim/choices.py:1599 netbox/virtualization/choices.py:47 msgid "Failed" msgstr "故障" @@ -1948,7 +1948,7 @@ msgstr "必须上传文件或选择数据文件进行同步" msgid "Rack Elevations" msgstr "机柜立面图" -#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1506 +#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1510 #: 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 @@ -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:1519 +#: netbox/dcim/choices.py:234 netbox/dcim/choices.py:1523 #: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48 msgid "Decommissioning" msgstr "报废" @@ -2582,7 +2582,7 @@ msgstr "已弃用" msgid "Millimeters" msgstr "毫米" -#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1541 +#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1545 msgid "Inches" msgstr "英寸" @@ -2604,9 +2604,9 @@ msgstr "从后向前" #: netbox/dcim/forms/bulk_import.py:1088 netbox/dcim/forms/filtersets.py:234 #: 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:1501 +#: 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:865 netbox/dcim/tables/devices.py:950 +#: netbox/dcim/tables/devices.py:866 netbox/dcim/tables/devices.py:951 #: 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 @@ -2636,15 +2636,15 @@ msgstr "上级" msgid "Child" msgstr "子类" -#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:339 -#: netbox/templates/dcim/rack.html:129 +#: netbox/dcim/choices.py:166 netbox/templates/dcim/device.html:340 +#: netbox/templates/dcim/rack.html:133 #: netbox/templates/dcim/rack_elevation_list.html:20 #: netbox/templates/dcim/rackreservation.html:76 msgid "Front" msgstr "前" -#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:345 -#: netbox/templates/dcim/rack.html:135 +#: netbox/dcim/choices.py:167 netbox/templates/dcim/device.html:346 +#: netbox/templates/dcim/rack.html:139 #: netbox/templates/dcim/rack_elevation_list.html:21 #: netbox/templates/dcim/rackreservation.html:82 msgid "Rear" @@ -2672,7 +2672,7 @@ msgid "Side to rear" msgstr "侧进风后出风" #: netbox/dcim/choices.py:209 netbox/dcim/choices.py:253 -#: netbox/dcim/choices.py:1291 +#: netbox/dcim/choices.py:1295 msgid "Passive" msgstr "被动" @@ -2680,15 +2680,15 @@ msgstr "被动" msgid "Mixed" msgstr "混合风道" -#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:726 +#: netbox/dcim/choices.py:478 netbox/dcim/choices.py:727 msgid "NEMA (Non-locking)" msgstr "NEMA(非锁定)" -#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:748 +#: netbox/dcim/choices.py:500 netbox/dcim/choices.py:749 msgid "NEMA (Locking)" msgstr "NEMA(锁定)" -#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:772 +#: netbox/dcim/choices.py:524 netbox/dcim/choices.py:773 msgid "California Style" msgstr "美标" @@ -2696,42 +2696,42 @@ msgstr "美标" msgid "International/ITA" msgstr "国际通用标准/ITA" -#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:807 +#: netbox/dcim/choices.py:567 netbox/dcim/choices.py:808 msgid "Proprietary" msgstr "专用规格" -#: netbox/dcim/choices.py:575 netbox/dcim/choices.py:816 -#: netbox/dcim/choices.py:1207 netbox/dcim/choices.py:1209 -#: netbox/dcim/choices.py:1435 netbox/dcim/choices.py:1437 +#: 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/netbox/navigation/menu.py:200 msgid "Other" msgstr "其他" -#: netbox/dcim/choices.py:780 +#: netbox/dcim/choices.py:781 msgid "ITA/International" msgstr "ITA/国际通用标准" -#: netbox/dcim/choices.py:846 +#: netbox/dcim/choices.py:848 msgid "Physical" msgstr "物理" -#: netbox/dcim/choices.py:847 netbox/dcim/choices.py:1013 +#: netbox/dcim/choices.py:849 netbox/dcim/choices.py:1016 msgid "Virtual" msgstr "虚拟" -#: netbox/dcim/choices.py:848 netbox/dcim/choices.py:1086 +#: netbox/dcim/choices.py:850 netbox/dcim/choices.py:1089 #: 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:1396 +#: 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 "无线" -#: netbox/dcim/choices.py:1011 +#: netbox/dcim/choices.py:1014 msgid "Virtual interfaces" msgstr "虚拟接口" -#: netbox/dcim/choices.py:1014 netbox/dcim/forms/bulk_edit.py:1410 +#: netbox/dcim/choices.py:1017 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/templates/virtualization/vminterface.html:43 @@ -2741,27 +2741,27 @@ msgstr "虚拟接口" msgid "Bridge" msgstr "桥接" -#: netbox/dcim/choices.py:1015 +#: netbox/dcim/choices.py:1018 msgid "Link Aggregation Group (LAG)" msgstr "链路聚合组(LAG)" -#: netbox/dcim/choices.py:1019 +#: netbox/dcim/choices.py:1022 msgid "Ethernet (fixed)" msgstr "以太网(固定类型)" -#: netbox/dcim/choices.py:1034 +#: netbox/dcim/choices.py:1037 msgid "Ethernet (modular)" msgstr "以太网(模块)" -#: netbox/dcim/choices.py:1070 +#: netbox/dcim/choices.py:1073 msgid "Ethernet (backplane)" msgstr "以太网(背板)" -#: netbox/dcim/choices.py:1101 +#: netbox/dcim/choices.py:1105 msgid "Cellular" msgstr "蜂窝网络" -#: netbox/dcim/choices.py:1153 netbox/dcim/forms/filtersets.py:383 +#: netbox/dcim/choices.py:1157 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,129 +2769,130 @@ msgstr "蜂窝网络" msgid "Serial" msgstr "串口" -#: netbox/dcim/choices.py:1168 +#: netbox/dcim/choices.py:1172 msgid "Coaxial" msgstr "同轴电缆接口" -#: netbox/dcim/choices.py:1188 +#: netbox/dcim/choices.py:1192 msgid "Stacking" msgstr "堆叠" -#: netbox/dcim/choices.py:1238 +#: netbox/dcim/choices.py:1242 msgid "Half" msgstr "半双工" -#: netbox/dcim/choices.py:1239 +#: netbox/dcim/choices.py:1243 msgid "Full" msgstr "全双工" -#: netbox/dcim/choices.py:1240 netbox/netbox/preferences.py:31 +#: netbox/dcim/choices.py:1244 netbox/netbox/preferences.py:31 #: netbox/wireless/choices.py:480 msgid "Auto" msgstr "自动" -#: netbox/dcim/choices.py:1251 +#: netbox/dcim/choices.py:1255 msgid "Access" msgstr "接入" -#: netbox/dcim/choices.py:1252 netbox/ipam/tables/vlans.py:172 +#: netbox/dcim/choices.py:1256 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:1253 +#: netbox/dcim/choices.py:1257 msgid "Tagged (All)" msgstr "Trunk口(允许所有VLAN)" -#: netbox/dcim/choices.py:1282 +#: netbox/dcim/choices.py:1286 msgid "IEEE Standard" msgstr "IEEE标准" -#: netbox/dcim/choices.py:1293 +#: netbox/dcim/choices.py:1297 msgid "Passive 24V (2-pair)" msgstr "24V(2对供电)" -#: netbox/dcim/choices.py:1294 +#: netbox/dcim/choices.py:1298 msgid "Passive 24V (4-pair)" msgstr "24V(4对供电)" -#: netbox/dcim/choices.py:1295 +#: netbox/dcim/choices.py:1299 msgid "Passive 48V (2-pair)" msgstr "48V(2对供电)" -#: netbox/dcim/choices.py:1296 +#: netbox/dcim/choices.py:1300 msgid "Passive 48V (4-pair)" msgstr "48V(4对供电)" -#: netbox/dcim/choices.py:1366 netbox/dcim/choices.py:1476 +#: netbox/dcim/choices.py:1370 netbox/dcim/choices.py:1480 msgid "Copper" msgstr "铜缆" -#: netbox/dcim/choices.py:1389 +#: netbox/dcim/choices.py:1393 msgid "Fiber Optic" msgstr "光纤" -#: netbox/dcim/choices.py:1422 netbox/dcim/choices.py:1505 +#: netbox/dcim/choices.py:1426 netbox/dcim/choices.py:1509 msgid "USB" msgstr "USB" -#: netbox/dcim/choices.py:1492 +#: netbox/dcim/choices.py:1496 msgid "Fiber" msgstr "光纤" -#: netbox/dcim/choices.py:1517 netbox/dcim/forms/filtersets.py:1227 +#: netbox/dcim/choices.py:1521 netbox/dcim/forms/filtersets.py:1227 msgid "Connected" msgstr "已连接" -#: netbox/dcim/choices.py:1536 netbox/wireless/choices.py:497 +#: netbox/dcim/choices.py:1540 netbox/wireless/choices.py:497 msgid "Kilometers" msgstr "公里" -#: netbox/dcim/choices.py:1537 netbox/templates/dcim/cable_trace.html:65 +#: netbox/dcim/choices.py:1541 netbox/templates/dcim/cable_trace.html:65 #: netbox/wireless/choices.py:498 msgid "Meters" msgstr "米" -#: netbox/dcim/choices.py:1538 +#: netbox/dcim/choices.py:1542 msgid "Centimeters" msgstr "厘米" -#: netbox/dcim/choices.py:1539 netbox/wireless/choices.py:499 +#: netbox/dcim/choices.py:1543 netbox/wireless/choices.py:499 msgid "Miles" msgstr "英里" -#: netbox/dcim/choices.py:1540 netbox/templates/dcim/cable_trace.html:66 +#: netbox/dcim/choices.py:1544 netbox/templates/dcim/cable_trace.html:66 #: netbox/wireless/choices.py:500 msgid "Feet" msgstr "英尺" -#: netbox/dcim/choices.py:1556 netbox/templates/dcim/device.html:327 -#: netbox/templates/dcim/rack.html:106 +#: netbox/dcim/choices.py:1560 netbox/templates/dcim/device.html:327 +#: netbox/templates/dcim/rack.html:107 msgid "Kilograms" msgstr "千克" -#: netbox/dcim/choices.py:1557 +#: netbox/dcim/choices.py:1561 msgid "Grams" msgstr "克" -#: netbox/dcim/choices.py:1558 netbox/templates/dcim/rack.html:107 +#: netbox/dcim/choices.py:1562 netbox/templates/dcim/device.html:328 +#: netbox/templates/dcim/rack.html:108 msgid "Pounds" msgstr "磅" -#: netbox/dcim/choices.py:1559 +#: netbox/dcim/choices.py:1563 msgid "Ounces" msgstr "盎司" -#: netbox/dcim/choices.py:1606 +#: netbox/dcim/choices.py:1610 msgid "Redundant" msgstr "冗余" -#: netbox/dcim/choices.py:1627 +#: netbox/dcim/choices.py:1631 msgid "Single phase" msgstr "单相电" -#: netbox/dcim/choices.py:1628 +#: netbox/dcim/choices.py:1632 msgid "Three-phase" msgstr "三相" @@ -3261,7 +3262,7 @@ 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:1377 +#: 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/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483 @@ -3340,7 +3341,7 @@ msgid "LAG interface (ID)" msgstr "链路聚合接口(ID)" #: netbox/dcim/filtersets.py:1713 netbox/dcim/filtersets.py:1725 -#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1689 +#: netbox/dcim/forms/filtersets.py:1345 netbox/dcim/forms/model_forms.py:1690 #: netbox/templates/dcim/virtualdevicecontext.html:15 msgid "Virtual Device Context" msgstr "虚拟设备上下文" @@ -3415,7 +3416,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:703 netbox/dcim/tables/devicetypes.py:247 +#: netbox/dcim/tables/devices.py:704 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 @@ -3460,9 +3461,9 @@ msgstr "时区" #: netbox/dcim/forms/model_forms.py:207 netbox/dcim/forms/model_forms.py:337 #: netbox/dcim/forms/model_forms.py:349 netbox/dcim/forms/model_forms.py:395 #: netbox/dcim/forms/model_forms.py:436 netbox/dcim/forms/model_forms.py:1075 -#: netbox/dcim/forms/model_forms.py:1514 +#: 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:936 +#: 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/modules.py:20 netbox/dcim/tables/modules.py:60 #: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:132 @@ -3586,9 +3587,9 @@ msgstr "编号" #: netbox/dcim/forms/bulk_import.py:1076 netbox/dcim/forms/filtersets.py:367 #: 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:1509 +#: 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:805 netbox/dcim/tables/devices.py:933 +#: 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/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 @@ -3678,7 +3679,7 @@ msgstr "机柜" #: netbox/dcim/forms/filtersets.py:325 netbox/dcim/forms/filtersets.py:398 #: netbox/dcim/forms/filtersets.py:481 netbox/dcim/forms/filtersets.py:608 #: netbox/dcim/forms/filtersets.py:721 netbox/dcim/forms/filtersets.py:942 -#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1579 +#: netbox/dcim/forms/model_forms.py:670 netbox/dcim/forms/model_forms.py:1580 #: netbox/templates/dcim/device_edit.html:20 msgid "Hardware" msgstr "硬件" @@ -3786,15 +3787,15 @@ msgstr "平台" #: netbox/dcim/forms/filtersets.py:1592 netbox/dcim/forms/filtersets.py:1616 #: netbox/dcim/forms/filtersets.py:1640 netbox/dcim/forms/model_forms.py:633 #: netbox/dcim/forms/model_forms.py:849 netbox/dcim/forms/model_forms.py:1208 -#: netbox/dcim/forms/model_forms.py:1663 +#: netbox/dcim/forms/model_forms.py:1664 #: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22 #: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60 #: netbox/dcim/tables/devices.py: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:693 netbox/dcim/tables/devices.py:750 -#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/devices.py:857 -#: netbox/dcim/tables/devices.py:926 netbox/dcim/tables/devices.py:1053 +#: 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/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,7 +3939,7 @@ msgstr "分配功率(瓦)" #: netbox/dcim/forms/bulk_edit.py:1078 netbox/dcim/forms/bulk_import.py:786 #: netbox/dcim/forms/model_forms.py:953 netbox/dcim/forms/model_forms.py:1278 -#: netbox/dcim/forms/model_forms.py:1566 netbox/dcim/forms/object_import.py:55 +#: netbox/dcim/forms/model_forms.py:1567 netbox/dcim/forms/object_import.py:55 msgid "Power port" msgstr "电源接口" @@ -4026,14 +4027,14 @@ msgstr "模式" msgid "VLAN group" msgstr "VLAN 组" -#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1359 +#: netbox/dcim/forms/bulk_edit.py:1476 netbox/dcim/forms/model_forms.py:1360 #: netbox/dcim/tables/devices.py:579 #: netbox/virtualization/forms/bulk_edit.py:248 #: netbox/virtualization/forms/model_forms.py:326 msgid "Untagged VLAN" msgstr "未标记的VLAN" -#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1368 +#: netbox/dcim/forms/bulk_edit.py:1484 netbox/dcim/forms/model_forms.py:1369 #: netbox/dcim/tables/devices.py:585 #: netbox/virtualization/forms/bulk_edit.py:256 #: netbox/virtualization/forms/model_forms.py:335 @@ -4052,7 +4053,7 @@ msgid "Wireless LANs" msgstr "无线局域网" #: netbox/dcim/forms/bulk_edit.py:1508 netbox/dcim/forms/filtersets.py:1328 -#: netbox/dcim/forms/model_forms.py:1389 netbox/ipam/forms/bulk_edit.py:285 +#: netbox/dcim/forms/model_forms.py:1390 netbox/ipam/forms/bulk_edit.py:285 #: netbox/ipam/forms/bulk_edit.py:377 netbox/ipam/forms/filtersets.py:169 #: netbox/templates/dcim/interface.html:122 #: netbox/templates/ipam/prefix.html:95 @@ -4061,24 +4062,24 @@ msgid "Addressing" msgstr "寻址" #: netbox/dcim/forms/bulk_edit.py:1509 netbox/dcim/forms/filtersets.py:720 -#: netbox/dcim/forms/model_forms.py:1390 +#: netbox/dcim/forms/model_forms.py:1391 #: netbox/virtualization/forms/model_forms.py:350 msgid "Operation" msgstr "操作" #: netbox/dcim/forms/bulk_edit.py:1510 netbox/dcim/forms/filtersets.py:1329 -#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1392 +#: netbox/dcim/forms/model_forms.py:987 netbox/dcim/forms/model_forms.py:1393 msgid "PoE" msgstr "PoE" -#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1391 +#: netbox/dcim/forms/bulk_edit.py:1511 netbox/dcim/forms/model_forms.py:1392 #: netbox/templates/dcim/interface.html:99 #: netbox/virtualization/forms/bulk_edit.py:267 #: netbox/virtualization/forms/model_forms.py:351 msgid "Related Interfaces" msgstr "相关接口" -#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1393 +#: netbox/dcim/forms/bulk_edit.py:1512 netbox/dcim/forms/model_forms.py:1394 #: netbox/virtualization/forms/bulk_edit.py:268 #: netbox/virtualization/forms/model_forms.py:352 msgid "802.1Q Switching" @@ -4413,7 +4414,7 @@ msgid "VDC {vdc} is not assigned to device {device}" msgstr "VDC {vdc} 没有指定给设备 {device}" #: netbox/dcim/forms/bulk_import.py:951 netbox/dcim/forms/model_forms.py:1000 -#: netbox/dcim/forms/model_forms.py:1574 +#: netbox/dcim/forms/model_forms.py:1575 #: netbox/dcim/forms/object_import.py:117 msgid "Rear port" msgstr "后置端口" @@ -4427,7 +4428,7 @@ msgstr "对应后置端口" msgid "Physical medium classification" msgstr "物理端口类型" -#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:818 +#: netbox/dcim/forms/bulk_import.py:1028 netbox/dcim/tables/devices.py:819 msgid "Installed device" msgstr "安装设备" @@ -4516,7 +4517,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:1023 netbox/templates/dcim/device.html:132 +#: netbox/dcim/tables/devices.py:1024 netbox/templates/dcim/device.html:132 #: netbox/templates/dcim/virtualchassis.html:27 #: netbox/templates/dcim/virtualchassis.html:67 msgid "Master" @@ -4546,6 +4547,28 @@ msgstr "供应类型(AC/DC)" msgid "Single or three-phase" msgstr "单相或三相" +#: netbox/dcim/forms/bulk_import.py:1439 netbox/dcim/forms/model_forms.py:1670 +#: netbox/templates/dcim/device.html:190 +#: netbox/templates/dcim/virtualdevicecontext.html:30 +#: netbox/templates/virtualization/virtualmachine.html:52 +msgid "Primary IPv4" +msgstr "主 IPv4" + +#: netbox/dcim/forms/bulk_import.py:1443 +msgid "IPv4 address with mask, e.g. 1.2.3.4/24" +msgstr "带掩码的 IPv4 地址,例如 1.2.3.4/24" + +#: netbox/dcim/forms/bulk_import.py:1446 netbox/dcim/forms/model_forms.py:1679 +#: netbox/templates/dcim/device.html:206 +#: netbox/templates/dcim/virtualdevicecontext.html:41 +#: netbox/templates/virtualization/virtualmachine.html:68 +msgid "Primary IPv6" +msgstr "主 IPv6" + +#: netbox/dcim/forms/bulk_import.py:1450 +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/templates/dcim/interface.html:57 #: netbox/templates/virtualization/vminterface.html:55 @@ -4702,7 +4725,7 @@ msgstr "类型" msgid "Mgmt only" msgstr "仅用于管理" -#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1382 +#: netbox/dcim/forms/filtersets.py:1389 netbox/dcim/forms/model_forms.py:1383 #: netbox/dcim/models/device_components.py:630 #: netbox/templates/dcim/interface.html:129 msgid "WWN" @@ -4736,7 +4759,7 @@ msgstr "信道功率(dBm)" msgid "Cable" msgstr "电缆" -#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:945 +#: netbox/dcim/forms/filtersets.py:1550 netbox/dcim/tables/devices.py:946 msgid "Discovered" msgstr "已发现" @@ -4830,8 +4853,8 @@ msgstr "电源接口模版" msgid "Rear port template" msgstr "后置接口模版" -#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1387 -#: netbox/dcim/forms/model_forms.py:1550 netbox/dcim/forms/model_forms.py:1582 +#: netbox/dcim/forms/model_forms.py:1144 netbox/dcim/forms/model_forms.py:1388 +#: netbox/dcim/forms/model_forms.py:1551 netbox/dcim/forms/model_forms.py:1583 #: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:318 #: netbox/ipam/forms/model_forms.py:280 netbox/ipam/forms/model_forms.py:289 #: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:372 @@ -4855,7 +4878,7 @@ msgstr "后置接口模版" msgid "Interface" msgstr "接口" -#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1583 +#: netbox/dcim/forms/model_forms.py:1145 netbox/dcim/forms/model_forms.py:1584 #: netbox/dcim/tables/connections.py:27 #: netbox/templates/dcim/consoleport.html:17 #: netbox/templates/dcim/consoleserverport.html:74 @@ -4863,14 +4886,14 @@ msgstr "接口" msgid "Console Port" msgstr "Console 端口" -#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1584 +#: netbox/dcim/forms/model_forms.py:1146 netbox/dcim/forms/model_forms.py:1585 #: netbox/templates/dcim/consoleport.html:73 #: netbox/templates/dcim/consoleserverport.html:17 #: netbox/templates/dcim/frontport.html:109 msgid "Console Server Port" msgstr "Console 服务器端口" -#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1585 +#: netbox/dcim/forms/model_forms.py:1147 netbox/dcim/forms/model_forms.py:1586 #: netbox/templates/circuits/inc/circuit_termination_fields.html:52 #: netbox/templates/dcim/consoleport.html:76 #: netbox/templates/dcim/consoleserverport.html:77 @@ -4881,8 +4904,8 @@ msgstr "Console 服务器端口" msgid "Front Port" msgstr "前置接口" -#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1586 -#: netbox/dcim/tables/devices.py:706 +#: netbox/dcim/forms/model_forms.py:1148 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/tables/devices.py:707 #: netbox/templates/circuits/inc/circuit_termination_fields.html:53 #: netbox/templates/dcim/consoleport.html:79 #: netbox/templates/dcim/consoleserverport.html:80 @@ -4894,24 +4917,24 @@ msgstr "前置接口" msgid "Rear Port" msgstr "后置接口" -#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1587 +#: netbox/dcim/forms/model_forms.py:1149 netbox/dcim/forms/model_forms.py:1588 #: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:512 #: netbox/templates/dcim/poweroutlet.html:44 #: netbox/templates/dcim/powerport.html:17 msgid "Power Port" msgstr "电源接口" -#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1588 +#: netbox/dcim/forms/model_forms.py:1150 netbox/dcim/forms/model_forms.py:1589 #: netbox/templates/dcim/poweroutlet.html:17 #: netbox/templates/dcim/powerport.html:77 msgid "Power Outlet" msgstr "电源插座" -#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1590 +#: netbox/dcim/forms/model_forms.py:1152 netbox/dcim/forms/model_forms.py:1591 msgid "Component Assignment" msgstr "组件分配" -#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1637 +#: netbox/dcim/forms/model_forms.py:1195 netbox/dcim/forms/model_forms.py:1638 msgid "An InventoryItem can only be assigned to a single component." msgstr "库存项只能分配给单个组件" @@ -4919,54 +4942,46 @@ msgstr "库存项只能分配给单个组件" msgid "LAG interface" msgstr "链路聚合接口" -#: netbox/dcim/forms/model_forms.py:1483 +#: netbox/dcim/forms/model_forms.py:1355 +msgid "Filter VLANs available for assignment by group." +msgstr "按组筛选可供分配的 VLAN。" + +#: netbox/dcim/forms/model_forms.py:1484 msgid "Child Device" msgstr "子设备" -#: netbox/dcim/forms/model_forms.py:1484 +#: netbox/dcim/forms/model_forms.py:1485 msgid "" "Child devices must first be created and assigned to the site and rack of the" " parent device." msgstr "必须首先创建子设备,并将其分配给父设备的站点和机柜。" -#: netbox/dcim/forms/model_forms.py:1526 +#: netbox/dcim/forms/model_forms.py:1527 msgid "Console port" msgstr "Console 接口" -#: netbox/dcim/forms/model_forms.py:1534 +#: netbox/dcim/forms/model_forms.py:1535 msgid "Console server port" msgstr "Console 服务器端口" -#: netbox/dcim/forms/model_forms.py:1542 +#: netbox/dcim/forms/model_forms.py:1543 msgid "Front port" msgstr "前置接口" -#: netbox/dcim/forms/model_forms.py:1558 +#: netbox/dcim/forms/model_forms.py:1559 msgid "Power outlet" msgstr "电源插座" -#: netbox/dcim/forms/model_forms.py:1578 +#: netbox/dcim/forms/model_forms.py:1579 #: netbox/templates/dcim/inventoryitem.html:17 msgid "Inventory Item" msgstr "库存项" -#: netbox/dcim/forms/model_forms.py:1651 +#: netbox/dcim/forms/model_forms.py:1652 #: netbox/templates/dcim/inventoryitemrole.html:15 msgid "Inventory Item Role" msgstr "库存物品分类" -#: netbox/dcim/forms/model_forms.py:1669 netbox/templates/dcim/device.html:190 -#: netbox/templates/dcim/virtualdevicecontext.html:30 -#: netbox/templates/virtualization/virtualmachine.html:52 -msgid "Primary IPv4" -msgstr "主 IPv4" - -#: netbox/dcim/forms/model_forms.py:1678 netbox/templates/dcim/device.html:206 -#: netbox/templates/dcim/virtualdevicecontext.html:41 -#: netbox/templates/virtualization/virtualmachine.html:68 -msgid "Primary IPv6" -msgstr "主 IPv6" - #: netbox/dcim/forms/object_create.py:48 #: netbox/dcim/forms/object_create.py:199 #: netbox/dcim/forms/object_create.py:355 @@ -5013,7 +5028,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:1029 +#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:1030 #: 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 @@ -6528,7 +6543,7 @@ msgstr "配置模版" msgid "Site Group" msgstr "站点组" -#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1064 +#: netbox/dcim/tables/devices.py:187 netbox/dcim/tables/devices.py:1065 #: 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 @@ -6537,12 +6552,12 @@ msgstr "站点组" msgid "IP Address" msgstr "IP地址" -#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1068 +#: netbox/dcim/tables/devices.py:191 netbox/dcim/tables/devices.py:1069 #: netbox/virtualization/tables/virtualmachines.py:86 msgid "IPv4 Address" msgstr "IPv4 地址" -#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1072 +#: netbox/dcim/tables/devices.py:195 netbox/dcim/tables/devices.py:1073 #: netbox/virtualization/tables/virtualmachines.py:90 msgid "IPv6 Address" msgstr "IPv6 地址" @@ -6580,7 +6595,7 @@ msgstr "电源接口" msgid "Power outlets" msgstr "电源插座" -#: netbox/dcim/tables/devices.py:246 netbox/dcim/tables/devices.py:1077 +#: 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/views.py:1281 netbox/dcim/views.py:1977 #: netbox/netbox/navigation/menu.py:94 netbox/netbox/navigation/menu.py:250 @@ -6687,28 +6702,28 @@ msgstr "仅限管理" msgid "VDCs" msgstr "VDCs" -#: netbox/dcim/tables/devices.py:869 netbox/templates/dcim/modulebay.html:53 +#: netbox/dcim/tables/devices.py:870 netbox/templates/dcim/modulebay.html:53 msgid "Installed Module" msgstr "已安装的模块" -#: netbox/dcim/tables/devices.py:872 +#: netbox/dcim/tables/devices.py:873 msgid "Module Serial" msgstr "模块状态" -#: netbox/dcim/tables/devices.py:876 +#: netbox/dcim/tables/devices.py:877 msgid "Module Asset Tag" msgstr "模块资产标签" -#: netbox/dcim/tables/devices.py:885 +#: netbox/dcim/tables/devices.py:886 msgid "Module Status" msgstr "模块状态" -#: netbox/dcim/tables/devices.py:940 netbox/dcim/tables/devicetypes.py:313 +#: netbox/dcim/tables/devices.py:941 netbox/dcim/tables/devicetypes.py:313 #: netbox/templates/dcim/inventoryitem.html:40 msgid "Component" msgstr "组件" -#: netbox/dcim/tables/devices.py:996 +#: netbox/dcim/tables/devices.py:997 msgid "Items" msgstr "项目" @@ -10201,7 +10216,7 @@ msgstr "必须以表单(下限、上限)指定范围。" msgid "Range boundaries must be defined as integers." msgstr "范围边界必须定义为整数。" -#: netbox/netbox/api/serializers/fields.py:39 +#: netbox/netbox/api/serializers/fields.py:40 #, python-brace-format msgid "{class_name} must implement get_view_name()" msgstr "{class_name} 必须实现 get_view_name ()" @@ -10548,31 +10563,31 @@ msgstr "自定义字段 '{name}'必须具有唯一值。" msgid "Missing required custom field '{name}'." msgstr "缺少必需的自定义字段'{name}'." -#: netbox/netbox/models/features.py:467 +#: netbox/netbox/models/features.py:462 msgid "Remote data source" msgstr "远程数据源" -#: netbox/netbox/models/features.py:477 +#: netbox/netbox/models/features.py:472 msgid "data path" msgstr "文件路径" -#: netbox/netbox/models/features.py:481 +#: netbox/netbox/models/features.py:476 msgid "Path to remote file (relative to data source root)" msgstr "数据源文件路径(相对路径)" -#: netbox/netbox/models/features.py:484 +#: netbox/netbox/models/features.py:479 msgid "auto sync enabled" msgstr "自动同步已启用" -#: netbox/netbox/models/features.py:486 +#: netbox/netbox/models/features.py:481 msgid "Enable automatic synchronization of data when the data file is updated" msgstr "数据文件更新时启用数据自动同步" -#: netbox/netbox/models/features.py:489 +#: netbox/netbox/models/features.py:484 msgid "date synced" msgstr "数据已同步" -#: netbox/netbox/models/features.py:583 +#: netbox/netbox/models/features.py:578 #, python-brace-format msgid "{class_name} must implement a sync_data() method." msgstr "{class_name}必须包含sync_data()方法。" @@ -12299,7 +12314,7 @@ msgid "Parent Bay" msgstr "父托架" #: netbox/templates/dcim/device_edit.html:48 -#: netbox/utilities/templates/form_helpers/render_field.html:20 +#: netbox/utilities/templates/form_helpers/render_field.html:22 msgid "Regenerate Slug" msgstr "重新生成缩写" @@ -12642,17 +12657,17 @@ msgstr "最大承重" msgid "Total Weight" msgstr "总重量" -#: netbox/templates/dcim/rack.html:121 +#: netbox/templates/dcim/rack.html:125 #: netbox/templates/dcim/rack_elevation_list.html:15 msgid "Images and Labels" msgstr "图片和标签" -#: netbox/templates/dcim/rack.html:122 +#: netbox/templates/dcim/rack.html:126 #: netbox/templates/dcim/rack_elevation_list.html:16 msgid "Images only" msgstr "仅图像" -#: netbox/templates/dcim/rack.html:123 +#: netbox/templates/dcim/rack.html:127 #: netbox/templates/dcim/rack_elevation_list.html:17 msgid "Labels only" msgstr "仅标签" @@ -14839,15 +14854,15 @@ msgstr "取消订阅" msgid "Subscribe" msgstr "订阅" -#: netbox/utilities/templates/form_helpers/render_field.html:39 +#: netbox/utilities/templates/form_helpers/render_field.html:41 msgid "Copy to clipboard" msgstr "复制到剪贴板" -#: netbox/utilities/templates/form_helpers/render_field.html:55 +#: netbox/utilities/templates/form_helpers/render_field.html:57 msgid "This field is required" msgstr "此字段必填" -#: netbox/utilities/templates/form_helpers/render_field.html:68 +#: netbox/utilities/templates/form_helpers/render_field.html:70 msgid "Set Null" msgstr "设置为空" 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/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/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/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/constants.py b/netbox/utilities/constants.py index c7c26f6b3..2b93f2b96 100644 --- a/netbox/utilities/constants.py +++ b/netbox/utilities/constants.py @@ -93,3 +93,7 @@ HTML_ALLOWED_ATTRIBUTES = { "td": {"align"}, "th": {"align"}, } + +HTTP_PROXY_SUPPORTED_SOCK_SCHEMAS = ['socks4', 'socks4a', 'socks4h', 'socks5', 'socks5a', 'socks5h'] +HTTP_PROXY_SOCK_RDNS_SCHEMAS = ['socks4h', 'socks4a', 'socks5h', 'socks5a'] +HTTP_PROXY_SUPPORTED_SCHEMAS = ['http', 'https', 'socks4', 'socks4a', 'socks4h', 'socks5', 'socks5a', 'socks5h'] diff --git a/netbox/utilities/forms/fields/csv.py b/netbox/utilities/forms/fields/csv.py index 6d7ba4d61..a2d4025cb 100644 --- a/netbox/utilities/forms/fields/csv.py +++ b/netbox/utilities/forms/fields/csv.py @@ -1,7 +1,7 @@ from django import forms from django.utils.translation import gettext_lazy as _ from django.contrib.contenttypes.models import ContentType -from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist +from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist, FieldError from django.db.models import Q from utilities.choices import unpack_grouped_choices @@ -64,6 +64,10 @@ class CSVModelChoiceField(forms.ModelChoiceField): raise forms.ValidationError( _('"{value}" is not a unique value for this field; multiple objects were found').format(value=value) ) + except FieldError: + raise forms.ValidationError( + _('"{field_name}" is an invalid accessor field name.').format(field_name=self.to_field_name) + ) class CSVModelMultipleChoiceField(forms.ModelMultipleChoiceField): 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/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/socks.py b/netbox/utilities/socks.py new file mode 100644 index 000000000..bb0b6b250 --- /dev/null +++ b/netbox/utilities/socks.py @@ -0,0 +1,101 @@ +import logging + +from urllib.parse import urlparse +from urllib3 import PoolManager, HTTPConnectionPool, HTTPSConnectionPool +from urllib3.connection import HTTPConnection, HTTPSConnection +from .constants import HTTP_PROXY_SOCK_RDNS_SCHEMAS + + +logger = logging.getLogger('netbox.utilities') + + +class ProxyHTTPConnection(HTTPConnection): + """ + A Proxy connection class that uses a SOCK proxy - used to create + a urllib3 PoolManager that routes connections via the proxy. + This is for an HTTP (not HTTPS) connection + """ + use_rdns = False + + def __init__(self, *args, **kwargs): + socks_options = kwargs.pop('_socks_options') + self._proxy_url = socks_options['proxy_url'] + super().__init__(*args, **kwargs) + + def _new_conn(self): + try: + from python_socks.sync import Proxy + except ModuleNotFoundError as e: + logger.info("Configuring an HTTP proxy using SOCKS requires the python_socks library. Check that it has been installed.") + raise e + + proxy = Proxy.from_url(self._proxy_url, rdns=self.use_rdns) + return proxy.connect( + dest_host=self.host, + dest_port=self.port, + timeout=self.timeout + ) + + +class ProxyHTTPSConnection(ProxyHTTPConnection, HTTPSConnection): + """ + A Proxy connection class for an HTTPS (not HTTP) connection. + """ + pass + + +class RdnsProxyHTTPConnection(ProxyHTTPConnection): + """ + A Proxy connection class for an HTTP remote-dns connection. + I.E. socks4a, socks4h, socks5a, socks5h + """ + use_rdns = True + + +class RdnsProxyHTTPSConnection(ProxyHTTPSConnection): + """ + A Proxy connection class for an HTTPS remote-dns connection. + I.E. socks4a, socks4h, socks5a, socks5h + """ + use_rdns = True + + +class ProxyHTTPConnectionPool(HTTPConnectionPool): + ConnectionCls = ProxyHTTPConnection + + +class ProxyHTTPSConnectionPool(HTTPSConnectionPool): + ConnectionCls = ProxyHTTPSConnection + + +class RdnsProxyHTTPConnectionPool(HTTPConnectionPool): + ConnectionCls = RdnsProxyHTTPConnection + + +class RdnsProxyHTTPSConnectionPool(HTTPSConnectionPool): + ConnectionCls = RdnsProxyHTTPSConnection + + +class ProxyPoolManager(PoolManager): + def __init__(self, proxy_url, timeout=5, num_pools=10, headers=None, **connection_pool_kw): + # python_socks uses rdns param to denote remote DNS parsing and + # doesn't accept the 'h' or 'a' in the proxy URL + if use_rdns := urlparse(proxy_url).scheme in HTTP_PROXY_SOCK_RDNS_SCHEMAS: + proxy_url = proxy_url.replace('socks5h:', 'socks5:').replace('socks5a:', 'socks5:') + proxy_url = proxy_url.replace('socks4h:', 'socks4:').replace('socks4a:', 'socks4:') + + connection_pool_kw['_socks_options'] = {'proxy_url': proxy_url} + connection_pool_kw['timeout'] = timeout + + super().__init__(num_pools, headers, **connection_pool_kw) + + if use_rdns: + self.pool_classes_by_scheme = { + 'http': RdnsProxyHTTPConnectionPool, + 'https': RdnsProxyHTTPSConnectionPool, + } + else: + self.pool_classes_by_scheme = { + 'http': ProxyHTTPConnectionPool, + 'https': ProxyHTTPSConnectionPool, + } 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/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/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) 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/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/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/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/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'), 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/api/serializers_/wirelesslinks.py b/netbox/wireless/api/serializers_/wirelesslinks.py index 494c3514b..62f9988f1 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 * diff --git a/netbox/wireless/tests/test_views.py b/netbox/wireless/tests/test_views.py index e8fd4340d..d28d9fde3 100644 --- a/netbox/wireless/tests/test_views.py +++ b/netbox/wireless/tests/test_views.py @@ -103,14 +103,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", @@ -168,7 +168,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/requirements.txt b/requirements.txt index fca329ccc..ec5ea6dea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,7 +10,7 @@ django-prometheus==2.3.1 django-redis==5.4.0 django-rich==1.11.0 django-rq==2.10.2 -django-taggit==6.0.0 +django-taggit==6.1.0 django-tables2==2.7.0 django-timezone-field==7.0 djangorestframework==3.15.2 @@ -20,18 +20,18 @@ feedparser==6.0.11 gunicorn==23.0.0 Jinja2==3.1.4 Markdown==3.7 -mkdocs-material==9.5.34 +mkdocs-material==9.5.39 mkdocstrings[python-legacy]==0.26.1 netaddr==1.3.0 nh3==0.2.18 Pillow==10.4.0 -psycopg[c,pool]==3.2.1 +psycopg[c,pool]==3.2.3 PyYAML==6.0.2 requests==2.32.3 social-auth-app-django==5.4.2 social-auth-core==4.5.4 -strawberry-graphql==0.240.2 -strawberry-graphql-django==0.47.2 +strawberry-graphql==0.243.1 +strawberry-graphql-django==0.48.0 svgwrite==1.4.3 tablib==3.6.1 -tzdata==2024.1 +tzdata==2024.2 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